In this lesson we will improve our infrastructure as code project by learning about a tiny wrapper around Terraform/OpenTofu that is called Terragrunt.
It's better to split IAC Project to small states and Terragrunt will help us achieve that while avoiding the need to repeating provider configurations, avoid DRY violation of remote state configurations, help us not repeat ourselves in those repeating variable declarations, and help us manage the dependencies between those small modules.
The source code for the lesson is available at: https://github.com/ywarezk/academeez-k8s-flux/tree/lesson-05
Step by step guide to everything we talked about in this lesson is available at academeez: https://www.academeez.com/courses/kubernetes/flux/introduction-to-terragrunt
Here is a link how you can install terragrunt: https://terragrunt.gruntwork.io/docs/getting-started/install/
#terraform #k8s
0:00 Lesson introduction
1:03: IAC Tip: split to small modules
6:00 Small modules harder to maintain with Terraform
10:40 About Terragrunt
13:15 Recap previous lesson
15:40 Lesson plan
20:50 Terragrunt configurations
23:50 install Terragrunt
25:15 Folder structure
34:25 Terragrunt blocks
41:33 Terragrunt attributes and functions
47:08 Terraform/Tofu built in functions
49:05 Creating the root terragrunt.hcl
1:00:49 Creating reusable terragrunt functions
1:12:05 creating common resources
1:28:06 store state in bucket
1:36:58 Summary