GitHub has become the standard platform for hosting code. In organizations practicing GitOps, the repository is the single source of truth for application code, infrastructure, configuration, and deployment workflows. However, the repositories themselves are often created manually. Each new repository depends on whoever creates it to enable the right settings: branch protection, vulnerability alerts, secret … Continue reading Manage GitHub Repositories using the Terraform GitHub Provider
Category: GitHub Actions
Create an HAProxy load balancer with Amazon EC2 and Terraform
Load balancers route traffic to backend servers using algorithms such as round-robin, least-connections, or weighted routing based on server capacity. As of June 2026, AWS provides managed Application and Network Load Balancers, which abstract away routing logic so software engineering teams can focus on application development. However, engineering teams sometimes need full control over traffic … Continue reading Create an HAProxy load balancer with Amazon EC2 and Terraform
Secure EKS API Access with Authentication and Authorization Controls using Terraform
Amazon EKS hosts containerized workloads, but any entity that needs to communicate with the cluster, whether to install addons, deploy applications via Helm, or check pod statuses with kubectl, must first have access to the cluster. By default, the IAM principal that creates the cluster receives implicit administrative access. However, for subsequent operations, a different … Continue reading Secure EKS API Access with Authentication and Authorization Controls using Terraform
Deploy Karpenter and Metrics Server on Amazon EKS using Terraform and Helm
Amazon EKS manages the control plane, but managing the data plane, the EC2 instances on which pods run, is the customer's responsibility. To provision data plane capacity, you create managed node groups backed by Auto Scaling Groups (ASGs), with a launch template that locks in instance types, capacity type (on-demand or spot), and scaling limits. … Continue reading Deploy Karpenter and Metrics Server on Amazon EKS using Terraform and Helm
Eliminate sensitive values from Terraform state using write-only attributes
Terraform has emerged as the infrastructure as code (IAC) tool of choice for organizations due to its intuitive approach to infrastructure provisioning, declarative syntax, extensive provider ecosystem, and robust CI/CD integration. In my previous note, we learned how to securely store secrets in AWS Secrets Manager using Terraform and GitHub Actions. But there’s a critical … Continue reading Eliminate sensitive values from Terraform state using write-only attributes
Amazon S3-SNS-Lambda Event-Driven Architecture with Terraform
When development teams need to process thousands of file uploads daily across multiple applications, traditional polling-based monitoring systems create significant operational overhead and cost inefficiencies. Manual file-processing workflows can't scale to meet modern application demands, leading to delayed processing, wasted resources, and potential data loss during peak loads. Event-driven architecture solves this challenge by automatically … Continue reading Amazon S3-SNS-Lambda Event-Driven Architecture with Terraform
Automate ephemeral workspaces in HCP Terraform using the TFE provider
Over the last several years, organizations worldwide have adopted Terraform as their primary tool for cloud infrastructure provisioning. To make the management and adoption of Terraform accessible, so that organizations can focus on building their applications, HashiCorp released HCP Terraform that handles the heavy lifting for scaling via secure state file management, CI/CD, and cross-stack … Continue reading Automate ephemeral workspaces in HCP Terraform using the TFE provider
Automate AWS resource import into Terraform state using GitHub Actions
Organizations choose Terraform as their cloud infrastructure automation tool primarily for its features, such as idempotency, repeatability, and declarative configuration management, which enable teams to version-control their infrastructure alongside application code. However, many organizations don't have the luxury of starting fresh with Terraform. At times, organizations face scenarios in which critical cloud resources have already … Continue reading Automate AWS resource import into Terraform state using GitHub Actions
Automated GitHub Self-Hosted Runner Cleanup: Lambda Functions and Auto Scaling Lifecycle Hooks
Running self-hosted GitHub runners on an Auto Scaling group enables organizations to have high availability during active development so that development teams do not have to compromise on runner availability. This allows development teams to have the same flexibility as that of a GitHub-hosted runner while also maintaining all the benefits of self-hosted runners, such … Continue reading Automated GitHub Self-Hosted Runner Cleanup: Lambda Functions and Auto Scaling Lifecycle Hooks
Build Secure GitHub Self-Hosted Runners on Amazon EC2 with Terraform
GitHub, in addition to being an excellent version control system, offers workflow automation capabilities (Actions) that enable testing, building, and deploying code based on triggers such as code commits, pull requests, or scheduled events. These workflows run on runners, which are virtual or physical machines that execute these workflow steps.While GitHub offers free hosted runners … Continue reading Build Secure GitHub Self-Hosted Runners on Amazon EC2 with Terraform









