Skip to content

Commit cc4adec

Browse files
committed
feat: add step5 — state isolation with Terragrunt + removed blocks
- Add install_terragrunt to setup-common.sh - Create stage/step5/ with 5 layer directories (networking/web/data/storage/security) - Each layer has main.tf (single module), removed.tf (release other modules), terragrunt.hcl (dependency) - Root terragrunt.hcl generates provider + injects suffix/app_name/environment - random_string.suffix replaced by variable (hardcoded in terragrunt.hcl) - Dependency graph: networking→web, data→security→web, storage→security - Step5 text: extract suffix, copy state to layers, terragrunt run-all apply
1 parent 8e4d675 commit cc4adec

63 files changed

Lines changed: 1121 additions & 5 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

scripts/setup-common.sh

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818

1919
TERRAFORM_VERSION="${TERRAFORM_VERSION:-1.14.8}"
2020
TFLINT_VERSION="${TFLINT_VERSION:-v0.61.0}"
21+
TERRAGRUNT_VERSION="${TERRAGRUNT_VERSION:-0.77.5}"
2122

2223
install_terraform() {
2324
apt-get update -qq && apt-get install -y -qq unzip > /dev/null 2>&1
@@ -52,6 +53,15 @@ install_tflint() {
5253
tflint --version || echo "WARNING: tflint install failed"
5354
}
5455

56+
install_terragrunt() {
57+
curl --connect-timeout 10 --max-time 120 -fsSL \
58+
"https://github.com/gruntwork-io/terragrunt/releases/download/v${TERRAGRUNT_VERSION}/terragrunt_linux_amd64" \
59+
-o /usr/local/bin/terragrunt \
60+
&& chmod +x /usr/local/bin/terragrunt
61+
62+
terragrunt --version || echo "WARNING: terragrunt install failed"
63+
}
64+
5565
install_awscli() {
5666
# Install AWS CLI v2 (official binary)
5767
curl --connect-timeout 10 --max-time 120 -fsSL \

terraform-tutorial/terraform-backend/assets/setup-common.sh

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818

1919
TERRAFORM_VERSION="${TERRAFORM_VERSION:-1.14.8}"
2020
TFLINT_VERSION="${TFLINT_VERSION:-v0.61.0}"
21+
TERRAGRUNT_VERSION="${TERRAGRUNT_VERSION:-0.77.5}"
2122

2223
install_terraform() {
2324
apt-get update -qq && apt-get install -y -qq unzip > /dev/null 2>&1
@@ -52,6 +53,15 @@ install_tflint() {
5253
tflint --version || echo "WARNING: tflint install failed"
5354
}
5455

56+
install_terragrunt() {
57+
curl --connect-timeout 10 --max-time 120 -fsSL \
58+
"https://github.com/gruntwork-io/terragrunt/releases/download/v${TERRAGRUNT_VERSION}/terragrunt_linux_amd64" \
59+
-o /usr/local/bin/terragrunt \
60+
&& chmod +x /usr/local/bin/terragrunt
61+
62+
terragrunt --version || echo "WARNING: terragrunt install failed"
63+
}
64+
5565
install_awscli() {
5666
# Install AWS CLI v2 (official binary)
5767
curl --connect-timeout 10 --max-time 120 -fsSL \

terraform-tutorial/terraform-basics/assets/setup-common.sh

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818

1919
TERRAFORM_VERSION="${TERRAFORM_VERSION:-1.14.8}"
2020
TFLINT_VERSION="${TFLINT_VERSION:-v0.61.0}"
21+
TERRAGRUNT_VERSION="${TERRAGRUNT_VERSION:-0.77.5}"
2122

2223
install_terraform() {
2324
apt-get update -qq && apt-get install -y -qq unzip > /dev/null 2>&1
@@ -52,6 +53,15 @@ install_tflint() {
5253
tflint --version || echo "WARNING: tflint install failed"
5354
}
5455

56+
install_terragrunt() {
57+
curl --connect-timeout 10 --max-time 120 -fsSL \
58+
"https://github.com/gruntwork-io/terragrunt/releases/download/v${TERRAGRUNT_VERSION}/terragrunt_linux_amd64" \
59+
-o /usr/local/bin/terragrunt \
60+
&& chmod +x /usr/local/bin/terragrunt
61+
62+
terragrunt --version || echo "WARNING: terragrunt install failed"
63+
}
64+
5565
install_awscli() {
5666
# Install AWS CLI v2 (official binary)
5767
curl --connect-timeout 10 --max-time 120 -fsSL \

terraform-tutorial/terraform-cli-apply/assets/setup-common.sh

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818

1919
TERRAFORM_VERSION="${TERRAFORM_VERSION:-1.14.8}"
2020
TFLINT_VERSION="${TFLINT_VERSION:-v0.61.0}"
21+
TERRAGRUNT_VERSION="${TERRAGRUNT_VERSION:-0.77.5}"
2122

2223
install_terraform() {
2324
apt-get update -qq && apt-get install -y -qq unzip > /dev/null 2>&1
@@ -52,6 +53,15 @@ install_tflint() {
5253
tflint --version || echo "WARNING: tflint install failed"
5354
}
5455

56+
install_terragrunt() {
57+
curl --connect-timeout 10 --max-time 120 -fsSL \
58+
"https://github.com/gruntwork-io/terragrunt/releases/download/v${TERRAGRUNT_VERSION}/terragrunt_linux_amd64" \
59+
-o /usr/local/bin/terragrunt \
60+
&& chmod +x /usr/local/bin/terragrunt
61+
62+
terragrunt --version || echo "WARNING: terragrunt install failed"
63+
}
64+
5565
install_awscli() {
5666
# Install AWS CLI v2 (official binary)
5767
curl --connect-timeout 10 --max-time 120 -fsSL \

terraform-tutorial/terraform-cli-basics/assets/setup-common.sh

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818

1919
TERRAFORM_VERSION="${TERRAFORM_VERSION:-1.14.8}"
2020
TFLINT_VERSION="${TFLINT_VERSION:-v0.61.0}"
21+
TERRAGRUNT_VERSION="${TERRAGRUNT_VERSION:-0.77.5}"
2122

2223
install_terraform() {
2324
apt-get update -qq && apt-get install -y -qq unzip > /dev/null 2>&1
@@ -52,6 +53,15 @@ install_tflint() {
5253
tflint --version || echo "WARNING: tflint install failed"
5354
}
5455

56+
install_terragrunt() {
57+
curl --connect-timeout 10 --max-time 120 -fsSL \
58+
"https://github.com/gruntwork-io/terragrunt/releases/download/v${TERRAGRUNT_VERSION}/terragrunt_linux_amd64" \
59+
-o /usr/local/bin/terragrunt \
60+
&& chmod +x /usr/local/bin/terragrunt
61+
62+
terragrunt --version || echo "WARNING: terragrunt install failed"
63+
}
64+
5565
install_awscli() {
5666
# Install AWS CLI v2 (official binary)
5767
curl --connect-timeout 10 --max-time 120 -fsSL \

terraform-tutorial/terraform-cli-config-file/assets/setup-common.sh

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818

1919
TERRAFORM_VERSION="${TERRAFORM_VERSION:-1.14.8}"
2020
TFLINT_VERSION="${TFLINT_VERSION:-v0.61.0}"
21+
TERRAGRUNT_VERSION="${TERRAGRUNT_VERSION:-0.77.5}"
2122

2223
install_terraform() {
2324
apt-get update -qq && apt-get install -y -qq unzip > /dev/null 2>&1
@@ -52,6 +53,15 @@ install_tflint() {
5253
tflint --version || echo "WARNING: tflint install failed"
5354
}
5455

56+
install_terragrunt() {
57+
curl --connect-timeout 10 --max-time 120 -fsSL \
58+
"https://github.com/gruntwork-io/terragrunt/releases/download/v${TERRAGRUNT_VERSION}/terragrunt_linux_amd64" \
59+
-o /usr/local/bin/terragrunt \
60+
&& chmod +x /usr/local/bin/terragrunt
61+
62+
terragrunt --version || echo "WARNING: terragrunt install failed"
63+
}
64+
5565
install_awscli() {
5666
# Install AWS CLI v2 (official binary)
5767
curl --connect-timeout 10 --max-time 120 -fsSL \

terraform-tutorial/terraform-cli-destroy/assets/setup-common.sh

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818

1919
TERRAFORM_VERSION="${TERRAFORM_VERSION:-1.14.8}"
2020
TFLINT_VERSION="${TFLINT_VERSION:-v0.61.0}"
21+
TERRAGRUNT_VERSION="${TERRAGRUNT_VERSION:-0.77.5}"
2122

2223
install_terraform() {
2324
apt-get update -qq && apt-get install -y -qq unzip > /dev/null 2>&1
@@ -52,6 +53,15 @@ install_tflint() {
5253
tflint --version || echo "WARNING: tflint install failed"
5354
}
5455

56+
install_terragrunt() {
57+
curl --connect-timeout 10 --max-time 120 -fsSL \
58+
"https://github.com/gruntwork-io/terragrunt/releases/download/v${TERRAGRUNT_VERSION}/terragrunt_linux_amd64" \
59+
-o /usr/local/bin/terragrunt \
60+
&& chmod +x /usr/local/bin/terragrunt
61+
62+
terragrunt --version || echo "WARNING: terragrunt install failed"
63+
}
64+
5565
install_awscli() {
5666
# Install AWS CLI v2 (official binary)
5767
curl --connect-timeout 10 --max-time 120 -fsSL \

terraform-tutorial/terraform-cli-import/assets/setup-common.sh

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818

1919
TERRAFORM_VERSION="${TERRAFORM_VERSION:-1.14.8}"
2020
TFLINT_VERSION="${TFLINT_VERSION:-v0.61.0}"
21+
TERRAGRUNT_VERSION="${TERRAGRUNT_VERSION:-0.77.5}"
2122

2223
install_terraform() {
2324
apt-get update -qq && apt-get install -y -qq unzip > /dev/null 2>&1
@@ -52,6 +53,15 @@ install_tflint() {
5253
tflint --version || echo "WARNING: tflint install failed"
5354
}
5455

56+
install_terragrunt() {
57+
curl --connect-timeout 10 --max-time 120 -fsSL \
58+
"https://github.com/gruntwork-io/terragrunt/releases/download/v${TERRAGRUNT_VERSION}/terragrunt_linux_amd64" \
59+
-o /usr/local/bin/terragrunt \
60+
&& chmod +x /usr/local/bin/terragrunt
61+
62+
terragrunt --version || echo "WARNING: terragrunt install failed"
63+
}
64+
5565
install_awscli() {
5666
# Install AWS CLI v2 (official binary)
5767
curl --connect-timeout 10 --max-time 120 -fsSL \

terraform-tutorial/terraform-cli-init/assets/setup-common.sh

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818

1919
TERRAFORM_VERSION="${TERRAFORM_VERSION:-1.14.8}"
2020
TFLINT_VERSION="${TFLINT_VERSION:-v0.61.0}"
21+
TERRAGRUNT_VERSION="${TERRAGRUNT_VERSION:-0.77.5}"
2122

2223
install_terraform() {
2324
apt-get update -qq && apt-get install -y -qq unzip > /dev/null 2>&1
@@ -52,6 +53,15 @@ install_tflint() {
5253
tflint --version || echo "WARNING: tflint install failed"
5354
}
5455

56+
install_terragrunt() {
57+
curl --connect-timeout 10 --max-time 120 -fsSL \
58+
"https://github.com/gruntwork-io/terragrunt/releases/download/v${TERRAGRUNT_VERSION}/terragrunt_linux_amd64" \
59+
-o /usr/local/bin/terragrunt \
60+
&& chmod +x /usr/local/bin/terragrunt
61+
62+
terragrunt --version || echo "WARNING: terragrunt install failed"
63+
}
64+
5565
install_awscli() {
5666
# Install AWS CLI v2 (official binary)
5767
curl --connect-timeout 10 --max-time 120 -fsSL \

terraform-tutorial/terraform-cli-output/assets/setup-common.sh

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818

1919
TERRAFORM_VERSION="${TERRAFORM_VERSION:-1.14.8}"
2020
TFLINT_VERSION="${TFLINT_VERSION:-v0.61.0}"
21+
TERRAGRUNT_VERSION="${TERRAGRUNT_VERSION:-0.77.5}"
2122

2223
install_terraform() {
2324
apt-get update -qq && apt-get install -y -qq unzip > /dev/null 2>&1
@@ -52,6 +53,15 @@ install_tflint() {
5253
tflint --version || echo "WARNING: tflint install failed"
5354
}
5455

56+
install_terragrunt() {
57+
curl --connect-timeout 10 --max-time 120 -fsSL \
58+
"https://github.com/gruntwork-io/terragrunt/releases/download/v${TERRAGRUNT_VERSION}/terragrunt_linux_amd64" \
59+
-o /usr/local/bin/terragrunt \
60+
&& chmod +x /usr/local/bin/terragrunt
61+
62+
terragrunt --version || echo "WARNING: terragrunt install failed"
63+
}
64+
5565
install_awscli() {
5666
# Install AWS CLI v2 (official binary)
5767
curl --connect-timeout 10 --max-time 120 -fsSL \

0 commit comments

Comments
 (0)