
Managing Secrets and CI/CD with Terragrunt
Learn how to manage secrets securely and integrate Terragrunt into your CI/CD pipelines to automate Infrastructure as Code deployments in production.
17 notes about terraform

Learn how to manage secrets securely and integrate Terragrunt into your CI/CD pipelines to automate Infrastructure as Code deployments in production.

Learn how Terragrunt helps manage multiple environments and AWS accounts consistently while eliminating duplicated configuration and scaling Infrastructure as Code for enterprise environments.

Learn how Terragrunt automatically manages dependencies between Terraform projects, builds dependency graphs, and deploys infrastructure in the correct order.

Learn how Terragrunt's three most powerful features—include, generate, and read_terragrunt_config—eliminate repetitive configuration and make large Terraform repositories maintainable.

Learn how to organize a Terragrunt repository for production environments, multiple AWS accounts, and hundreds of Terraform projects while keeping your Infrastructure as Code scalable and maintainable.

Now that you understand Terraform, it's time to explore Terragrunt—a tool that helps manage Infrastructure as Code at production scale by reducing duplication, organizing repositories, and orchestrating multiple Terraform projects.

Terraform is powerful, but managing multiple environments and modules at scale quickly becomes challenging. In this article, we'll explore Terraform's limitations and why Terragrunt was created.

Discover the most common mistakes engineers make when using Terraform, from state management and module design to collaboration workflows and production best practices.

Learn how to bring existing infrastructure under Terraform management using terraform import and Import Blocks without recreating resources or disrupting production systems.

Learn how to organize a Terraform repository for production environments using modules, environments, and best practices that scale with your infrastructure.

Learn the Terraform features you'll use in almost every real-world project, including for_each, count, locals, dynamic blocks, depends_on, and lifecycle.

Learn what Terraform Data Sources are, when to use them, how Terraform reads existing infrastructure, and how to combine Data Sources with Resources in real-world projects.

Understand how Terraform Providers work behind the scenes, from Resources and Data Sources to communication with external APIs. This is a fundamental concept for using Terraform effectively.

Terraform Modules are more than reusable code. A well-designed module makes infrastructure easier to maintain, scale, and reuse across environments. This article explores module design from a software engineering perspective.

Terraform State is one of the most important yet misunderstood parts of Terraform. Learn what Terraform State is, why Terraform needs it, how it works, and the best practices for managing State in production.

Terraform does not execute infrastructure sequentially like a Bash script. This article explains Terraform's execution model through Desired State, Current State, Actual Infrastructure, Dependency Graphs, Plans, Apply, Refresh, and Drift.

Infrastructure as Code is more than just Terraform or a collection of .tf files. In the first article of this series, I'll share why IaC exists, the challenges of managing infrastructure manually, and how thinking of infrastructure as code fundamentally changed the way I build and operate systems.