Create a self-hosted GitHub Action Runner in EKS
One of my previous blog post, I have talked about how to create a self-hosted GitHub Action Runner in EC2 instance. GitHub Actions is a powerful CI/CD tool that enables developers to build, test, and deploy software using customizable workflows. It provides managed infrastructure for running actions, but there are instances when running workflows on your self-hosted infrastructure becomes essential. In this blog I am going to discuss about how to create GitHub Self Hosted Runner in...
How to Setup MySQL Master Slave Replication
Replication is the process of replicating data from one server to another simultaneously. Generally, it is used to boost data availability and recover data in the event of a failure. After deploying MySQL replication, you no longer need to perform regular database backups. All databases on the Master node will be automatically replicated to the Slave node. Replication can help minimise the strain on the master server by having the slave node handle application requests. In the event of a...
Integrating GitHub App with Jenkins for Automated Status Checks Before Branch Merging
In modern software development, automating status checks and enforcing branch protection is critical for ensuring code quaolty and preventing broken code from being merged into important branches llke main or develop. By integrating GitHub Apps with Jenkins, you can automate this process, using status checks to vaoldate the state of code before any branch merging. In this post, we’ll walk through how to create a GitHub App, configure Jenkins for status checks, and set up secrets in Jenkins...
A Comprehensive Guide to Setting Up VPC Peering in AWS
When designing a secure and scalable architecture in AWS, Virtual Private Clouds (VPCs) play a pivotal role in isolating resources. However, there are scenarios where resources across different VPCs need to communicate securely. This is where VPC Peering comes into play. VPC peering enables you to establish a direct network route between two VPCs, allowing instances in either VPC to communicate with each other. In this guide, we’ll walk you through the steps to set up a VPC peering...
Create a Self-Hosted GitHub Action runner
In the world of continuous integration and continuous deployment (CI/CD), automation is key. GitHub Actions provides a powerful platform to automate workflows directly from your repositories. While GitHub’s hosted runners are a convenient option, there are times when you might need more control over your environment. This is where self-hosted runners come into play. In this blog, we’ll walk you through the process of creating and managing a GitHub self-hosted runner. PrerequisitesAn...
How to push EC2 logs to Cloudwatch
Amazon CloudWatch is a monitoring and observability service that provides you with data and actionable insights to monitor your applications, respond to system-wide performance changes, optimize resource utilization, and get a unified view of operational health. In this tutorial, we are going to learn how to push EC2 logs to CloudWatch. Create an IAM role for CloudwatchFirst, we need to create and add a custom EC2 IAM role to your instance. This IAM role will have policies with write access...
Tekton triggers with GitHub integration
Continuous Integration (CI) is a cornerstone of modern software development, ensuring that code changes are tested and integrated into the main codebase frequently and reliably. Tekton Triggers, coupled with GitHub integration, offers a powerful solution for automating CI workflows in Kubernetes environments. In this tutorial, we’ll walk through the process of setting up Tekton Triggers with GitHub integration, enabling seamless automation of CI tasks in response to GitHub events. Let’s dive...
Build and push Docker images using Tekton and Buildah
In the fast-paced realm of containerization, optimizing the journey from code to container is a perpetual quest. In this blog post, we explore the synergy of Tekton and Buildah, showcasing how these tools team up to streamline the process of building and pushing Docker images. Join us for a concise guide on leveraging their power for a more efficient containerization workflow. Let’s dive in! SetupFirst we need to pull the latest changes from the git repository. Let’s assume that if we need...
Build and push Docker images using Tekton and Kaniko
Containerization has transformed the landscape of software development and deployment, with Docker being a popular choice for packaging applications into isolated containers. In Kubernetes environments, efficiently building and pushing Docker images is crucial for maintaining a streamlined development and deployment pipeline. In this blog post, I’ll explore how to achieve this using Tekton which is an open-source framework designed for building CI/CD systems that run on Kubernetes and...
Manage Kubernetes manifests for multiple environments using Kustomize
It can be difficult to navigate the complicated terrain of Kubernetes deployment across numerous contexts. However, with the powerful Kustomize tool at your disposal, you have the ability to easily and precisely manage Kubernetes manifests. In this investigation, we’ll look at how to use Kustomize to simplify configuration management, ensure smooth deployments, and preserve consistency across several environments. Join me as we explore the possibility of simpler Kubernetes manifest...