Deploy a scalable GitHub Actions self-hosted runner on Kubernetes using Helm.

Why Self-Hosted Runner?

Self-hosted runners are ideal for use-cases where you need to run workflows in a highly customizable environment with more granular control over hardware requirements, security, operating system, and software tools than GitHub-hosted runners provides.

Self-hosted runners can be physical, virtual, in a container, on-premises, or in a cloud. In this guide, we’ll deploy it as a container in the Kubernetes cluster in the AWS cloud.

Deploy Kubernetes Cluster (optional)

Out-of-memory? No problem!

Source: GIPHY & Creazilla


Swap memory is useful, but no one likes it when it’s slow. Swap in Linux is used when the amount of physical memory (RAM) is full. If the system needs more memory resources and the RAM is full, inactive pages in memory are moved to the swap space.

Fedora particularly has been using swap-on-zram by default for years and comes by default on Fedora Workstation. ZRAM creates a block device in RAM where pages that would otherwise be written to swap (disk/ssd) are instead first compressed, then stored. …


Kubernetes CronJob makes it very easy to run Jobs on a time-based schedule. These automated jobs run like Cron tasks on a Linux or UNIX system.

In this post, we’ll make use of Kubernetes CronJob to schedule a recurring backup of MongoDB database and upload the backup archive to AWS S3. All the source code is available in GitHub Repository.

Get Started

Let’s go ahead and first create a user in MongoDB dedicated to perform the backup with minimum privileges.

Login to the MongoDB shell as a root user.

mongo admin --host <hostname> --authenticationDatabase admin -u root

Run the following command to…

Rocket.Chat Desktop recently released version 3.0.2. In this release Rocket.Chat team introduced Server validation and hard-coded the minimum required Rocket.Chat server version to 2.0.0.

With this breaking change, Rocket.Chat Desktop will no longer work on Rocket.Chat Server running on version < 2.0.0. If you try connecting to Rocket.Chat server running on older version, you’ll be prompted with the following message.

🥳 Hacktoberfest is back for 2020

Hacktoberfest kicked-off officially on Oct 1, 2020. Similar to last year, this year as well I was excited. Apart from the cool T-shirt and stickers, I enjoyed meeting new people and collaborate together, which is really awesome experience to have and I think is currently the best way (only way 😋) to socialize in this COVID-19 😷 pandemic situation.

But 🤦‍♀️…

This year…there has been lots of negativity and backlash from the community around the Hacktoberfest event itself, mainly due to spammy and utterly useless pull-request created on open-source projects just for claiming free goodies. The open-source community and Netizens have been…

An introduction to basic Linux commands for developers.


Linux is an open-source operating system that powers Android phone, public cloud, smart TV, IoT devices, satellites — it’s everywhere; from your smart phones to Large Hadron Collider (LHC).

Linus Torvalds is the creator of the Linux kernel. He also created the distributed version control system “Git” that developers use every day.

Knowing how to use Linux commands is an essential skill for developers to have.


  1. Setup Playground
  2. Comment
  3. Package Manager
  4. Directory Navigation
  5. System Information
  6. Hardware Information
  7. System Monitoring, Statistics & Debugging
  8. File and Directory
  9. Process Management
  10. File Permissions
  11. Networking
  12. Text Search

Learn how to deploy scalable, highly available and infra-as-code managed web application (Omaha server).

In this post, I’ll be showing you how to leverage AWS CloudFormation to deploy a scalable, highly available and manageable 3-tier web application on AWS Cloud.

I’ll use Crystalnix’s Omaha Server as an example web application but it should equally apply to other modern web app you wish to deploy onto AWS Cloud.

What is Omaha Server?
An open-source implementation of Google’s Omaha update protocol, which for example powers Chrome’s automatic update mechanism. Omaha server is used by organizations large and small for products that require sophisticated update logic and advanced usage statistics.


  • AWS CloudFormation
  • Amazon VPC
  • Amazon…

Learn how to design a secure and scalable VPC network for a micro-services architecture.


In this post, I’ll be covering a high-level design of a secure & scalable VPC network for a micro-service architecture. I’ll be using AWS as a primary example; however, the design can be applied to any Cloud provider that’s Amazon VPC-like. If you are unfamiliar with VPC concept, you can learn more about it here.

Let’s get started!

VPC and Subnets

Amazon Virtual Private Cloud (Amazon VPC) enables you to launch AWS resources into a virtual network.

When creating a new VPC, the maximum allowed block size is /16 which gives us 65,536 IP addresses. We can further divide it into smaller CIDR block to form…


If you want to learn more about CloudFormation, or have an existing AWS resources that you want to be managed by CloudFormation. Go ahead and read on!

In this post, we’ll be covering how to bring manually created resources of AWS Global Accelerator service into CloudFormation management using Resource Import feature of CloudFormation.

Puru Tuladhar

Make Complex Simple.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store