Terragrunt - make your Terraform code DRY
What you'll learn
- How to make your Terraform code DRY with Terragrunt
- Eliminate code duplication by centralizing common configurations and reusing them across different modules and environments.
- Simplify infrastructure management with Terragrunt's ability to handle complex setups, including multi-environment and multi-account deployments.
- Master the use of hooks and dependency management to automate workflows and ensure smooth execution of Terraform commands.
- Implement best practices for maintaining a clean, modular, and maintainable codebase that scales effortlessly as your infrastructure grows.
- Advanced use cases with Terragrunt
- How to better manage resources as a code with a Terraform
- Structure your Terraform code
Requirements
- Terraform, Linux, Bash, Command line, AWS, Vault
- Basic Knowledge of Terraform: Familiarity with Terraform's core concepts, such as infrastructure as code (IaC), modules, and state management, is essential. Experience with writing and deploying Terraform configurations will help you understand how Terragrunt enhances Terraform workflows
- Experience with Cloud Platforms: Understanding how to deploy infrastructure on cloud platforms like AWS, Azure, or Google Cloud will be beneficial, as the course will involve real-world scenarios using cloud providers
- Version Control and Automation Practices: Basic knowledge of version control systems like Git and automation practices will be helpful for managing Terraform code across multiple environments and versions
Description
Welcome to my course on Terragrunt!
We are going to learn how to maintain our Terraform code in better way. We will focus on how to work on Terragrunt modules, extract common parts for provider, remote state and modules itself. We will start with the basics, understand blocks that we have inside the Terragrunt. We will use some built-in functions. After that we are going to focus on why and how move to the next level, so called DRY approach (Don't repeat yourself approach).
We will do live examples for:
- Plain Terraform (aka dummy modules and environments just to look around)
- Hashicorp Vault setup
- AWS setup
Streamline Your Terraform Workflows with Terragrunt!
Learn how to eliminate repetitive code, manage complex infrastructures, and scale your Terraform projects effortlessly. This course will teach you to leverage Terragrunt's powerful features to keep your Terraform configurations DRY (Don't Repeat Yourself) and maintainable across multiple environments. Perfect for DevOps and Cloud Engineers looking to optimize their infrastructure as code practices.
I truly believe that with examples in the course and knowledge I'm going to pass over to you - you will be able to apply it to any environments you are currently maintain. Example is this course are related to AWS and Vault, but approaches presented here are relative to any cloud or provider that you are using.
Disclamer:
This course is not going to learn you how to work with Terraform basics. It learns you how to leverage your Terraform skills with Terragrunt wrapper and Gruntwork team mindset.
I hope you will enjoy it and level up your infrastructure as a code!
Who this course is for:
- DevOps Engineers: Professionals responsible for managing and automating infrastructure who want to streamline their Terraform workflows and handle complex, multi-environment setups more efficiently
- Cloud Engineers: Individuals working with cloud platforms (AWS, Azure, GCP) who need to manage infrastructure as code and are looking to reduce code duplication and improve state management across environments
- Admins, DevOps, Infrastructure Engineers and Developers that manages infrastructure as code
- Terraform Users: People with foundational knowledge of Terraform or similar tools (like OpenTofu) who are seeking to enhance their skills by learning how to make their configurations more modular, reusable, and maintainable using Terragrunt
- Infrastructure Automation Enthusiasts: Those interested in improving their automation practices by learning how to manage dependencies, remote state, and environment configurations in a scalable, DRY manner
- Terraform and Terragrunt users
- Those that manage Infrastructure
Instructor
Hi,
My name is Paweł. It's nice to meet you :)
Over the past few years, I have gained extensive experience across a variety of roles, including First Line Support, System Administration, DevOps Engineering, Cloud Infrastructure Engineering, Team Leadership, and Management. Throughout my career, I have consistently sought to expand my knowledge and skills, striving for continuous improvement every day. My technical expertise spans a wide range of technologies, encompassing both self-hosted environments and large private data centers, as well as cloud platforms like AWS and GCP.
Today, I am excited to share my wealth of experience and knowledge on the Udemy platform, aiming to educate and inspire others in the field.