# salauddin85/terrform-basic-to-advance-learning-roadmap-with-assignment architecture

> Architecture diagram of the GitHub repository salauddin85/terrform-basic-to-advance-learning-roadmap-with-assignment, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-06-28). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/salauddin85/terrform-basic-to-advance-learning-roadmap-with-assignment
- Repository: https://github.com/salauddin85/terrform-basic-to-advance-learning-roadmap-with-assignment

## Overview

This repository is a Terraform training workspace organized as a progression from simple single-stack infrastructure to modular, multi-environment platform provisioning.

1. **Repository intent**
   The top-level README frames the repo as a learning roadmap for AWS + Terraform, moving through **basic**, **intermediate**, and **advanced** infrastructure patterns. The main architectural theme is increasing separation of concerns: from one Terraform root, to reusable modules, to environment orchestration with Terragrunt and CI.

2. **Basic phase: single-root Terraform stack**
   `terraform-all-projects/terraform-projects/project-01-static-website` is the simplest boundary: one Terraform configuration with `main.tf`, `variables.tf`, `outputs.tf`, and `terraform.tfvars`. This looks like a self-contained deployment for a static website, with no module layering.

3. **Intermediate phase: reusable module-based infrastructure**
   `project-02-web-app-infra` introduces a more realistic Terraform architecture:
   - `bootstrap/` for initial setup
   - `environments/dev/` as the environment-specific root
   - `modules/` for reusable components
   This project demonstrates the common pattern of separating environment wiring from infrastructure implementation.

4. **Intermediate module boundaries**
   The intermediate modules are split by responsibility:
   - `vpc` for network foundation
   - `security` for security groups or access controls
   - `ec2` for compute
   - `alb` for traffic distribution
   - `rds` for managed database
   The likely data flow is foundational network outputs feeding security and compute, then compute being attached behind the load balancer, with database connectivity handled through private networking and security rules.

5. **Intermediate environment isolation**
   The `environments/dev` root is where module instances are composed together. This suggests a pattern where environment-specific values are passed in through `terraform.tfvars` and variables, while module internals stay reusable across future environments.

6. **Advanced phase: Terragrunt-based platform composition**
   `project-03-enterprise-platform` moves from plain Terraform roots to **Terragrunt orchestration**. The architecture is split into:
   - shared root configuration at `terragrunt.hcl`
   - environment-level config under `environments/dev` and `environments/prod`
   - one Terragrunt unit per component (`vpc`, `alb`, `ecs`, etc.)
   This creates a clear boundary between module code and deployment composition.

7. **Advanced environment structure**
   The `environments/dev` and `environments/prod` trees show a multi-environment deployment model. Each environment has its own `env.hcl`, and each service/component has its own `terragrunt.hcl`, which implies independently managed stacks with shared conventions and environment-specific inputs.

8. **Advanced platform modules**
   The advanced modules reflect a full application platform:
   - `vpc` for networking
   - `alb` for ingress/load balancing
   - `ecs` for container compute
   - `aurora` for managed relational database
   - `elasticache` for caching
   - `kms` for encryption key management
   - `waf` for edge/application protection
   - `monitoring` for observability
   This is a layered platform architecture where shared infrastructure is provisioned once and application-facing services depend on it.

9. **Security and governance boundaries**
   Security is treated as a first-class subsystem in the advanced project through `kms` and `waf`, and implicitly through network segmentation in `vpc`. This suggests the repo models not just functional provisioning, but also encryption, perimeter protection, and environment separation.

10. **Automation and quality gates**
   The advanced project includes `.github/workflows/terraform-ci.yml` and `drift-detection.yml`, indicating automated validation and ongoing state drift monitoring. That means the operational boundary extends beyond Terraform code into CI/CD and infrastructure governance.

11. **Testing layer**
   `tests/kms_test.tftest.hcl` and `tests/vpc_test.tftest.hcl` show Terraform-native tests for module behavior. These tests sit between module implementation and environment composition, validating core assumptions about key infrastructure primitives.

12. **Architecture diagram takeaway**
   If you diagram this repo, model it as three maturity stages:
   - a **single-stack deployment**
   - a **module-composed environment**
   - a **Terragrunt-orchestrated multi-environment platform**
   The key flows are: shared foundational infrastructure first, then dependent application services, then automation around validation, CI, and drift detection.

Main entry points: [`terraform-all-projects/terraform-projects/project-03-enterprise-platform/environments/dev/env.hcl`](https://github.com/salauddin85/terrform-basic-to-advance-learning-roadmap-with-assignment/blob/main/terraform-all-projects/terraform-projects/project-03-enterprise-platform/environments/dev/env.hcl) (Dev env), [`terraform-all-projects/terraform-projects/project-02-web-app-infra/environments/dev/main.tf`](https://github.com/salauddin85/terrform-basic-to-advance-learning-roadmap-with-assignment/blob/main/terraform-all-projects/terraform-projects/project-02-web-app-infra/environments/dev/main.tf) (Dev env), [`terraform-all-projects/terraform-projects/project-02-web-app-infra/modules/vpc/main.tf`](https://github.com/salauddin85/terrform-basic-to-advance-learning-roadmap-with-assignment/blob/main/terraform-all-projects/terraform-projects/project-02-web-app-infra/modules/vpc/main.tf) (VPC), [`terraform-all-projects/terraform-projects/project-03-enterprise-platform/terragrunt.hcl`](https://github.com/salauddin85/terrform-basic-to-advance-learning-roadmap-with-assignment/blob/main/terraform-all-projects/terraform-projects/project-03-enterprise-platform/terragrunt.hcl) (Terragrunt root)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_basic["Basic stack"]
  node_basic_root["Static website<br/>terraform root<br/>[main.tf]"]
  node_basic_vars["Inputs & state<br/>tf config<br/>[variables.tf]"]
end

subgraph group_intermediate["Module-based env"]
  node_bootstrap["Bootstrap<br/>terraform root<br/>[main.tf]"]
  node_dev_env["Dev env<br/>terraform root<br/>[main.tf]"]
  node_vpc_mod2["VPC<br/>[main.tf]"]
  node_sec_mod2["Security<br/>[main.tf]"]
  node_ec2_mod2["EC2<br/>[main.tf]"]
  node_alb_mod2["ALB<br/>[main.tf]"]
  node_rds_mod2["RDS<br/>[main.tf]"]
end

subgraph group_advanced["Terragrunt platform"]
  node_tg_root["Terragrunt root<br/>orchestration root<br/>[terragrunt.hcl]"]
  node_dev_env_tg["Dev env<br/>terragrunt env<br/>[env.hcl]"]
  node_prod_env_tg["Prod env<br/>terragrunt env<br/>[env.hcl]"]
  node_vpc_tg["VPC unit<br/>terragrunt stack<br/>[terragrunt.hcl]"]
  node_alb_tg["ALB unit<br/>terragrunt stack<br/>[terragrunt.hcl]"]
  node_ecs_tg["ECS unit<br/>terragrunt stack<br/>[terragrunt.hcl]"]
  node_aurora_tg["Aurora unit<br/>terragrunt stack<br/>[terragrunt.hcl]"]
  node_elasticache_tg["Cache unit<br/>terragrunt stack<br/>[terragrunt.hcl]"]
  node_kms_tg["KMS unit<br/>terragrunt stack<br/>[terragrunt.hcl]"]
  node_waf_tg["WAF unit<br/>terragrunt stack<br/>[terragrunt.hcl]"]
  node_monitoring_mod["Monitoring<br/>[main.tf]"]
  node_vpc_mod3["VPC<br/>[main.tf]"]
  node_alb_mod3["ALB<br/>[main.tf]"]
  node_ecs_mod3["ECS<br/>[main.tf]"]
  node_aurora_mod["Aurora<br/>[main.tf]"]
  node_cache_mod["Cache<br/>[main.tf]"]
  node_kms_mod["KMS<br/>[main.tf]"]
  node_waf_mod["WAF<br/>[main.tf]"]
  node_tests["Terraform tests<br/>test suite"]
  node_ci["GitHub Actions<br/>ci<br/>[terraform-ci.yml]"]
end

node_roadmap["Terraform roadmap<br/>[README.md]"]

node_roadmap -->|"includes"| node_basic_root
node_roadmap -->|"includes"| node_bootstrap
node_roadmap -->|"includes"| node_tg_root
node_basic_root -->|"uses"| node_basic_vars
node_dev_env -->|"composes"| node_vpc_mod2
node_dev_env -->|"composes"| node_sec_mod2
node_dev_env -->|"composes"| node_ec2_mod2
node_dev_env -->|"composes"| node_alb_mod2
node_dev_env -->|"composes"| node_rds_mod2
node_vpc_mod2 -->|"feeds"| node_sec_mod2
node_vpc_mod2 -->|"feeds"| node_ec2_mod2
node_ec2_mod2 -->|"behind"| node_alb_mod2
node_vpc_mod2 -->|"isolates"| node_rds_mod2
node_tg_root -->|"orchestrates"| node_dev_env_tg
node_tg_root -->|"orchestrates"| node_prod_env_tg
node_dev_env_tg -->|"composes"| node_vpc_tg
node_dev_env_tg -->|"composes"| node_alb_tg
node_dev_env_tg -->|"composes"| node_ecs_tg
node_dev_env_tg -->|"composes"| node_aurora_tg
node_dev_env_tg -->|"composes"| node_elasticache_tg
node_dev_env_tg -->|"composes"| node_kms_tg
node_dev_env_tg -->|"composes"| node_waf_tg
node_vpc_tg -->|"uses"| node_vpc_mod3
node_alb_tg -->|"uses"| node_alb_mod3
node_ecs_tg -->|"uses"| node_ecs_mod3
node_aurora_tg -->|"uses"| node_aurora_mod
node_elasticache_tg -->|"uses"| node_cache_mod
node_kms_tg -->|"uses"| node_kms_mod
node_waf_tg -->|"uses"| node_waf_mod
node_tests -->|"validates"| node_kms_mod
node_tests -->|"validates"| node_vpc_mod3
node_ci -->|"runs"| node_tests
node_ci -->|"checks"| node_tg_root

click node_roadmap "https://github.com/salauddin85/terrform-basic-to-advance-learning-roadmap-with-assignment/blob/main/README.md"
click node_basic_root "https://github.com/salauddin85/terrform-basic-to-advance-learning-roadmap-with-assignment/blob/main/terraform-all-projects/terraform-projects/project-01-static-website/main.tf"
click node_basic_vars "https://github.com/salauddin85/terrform-basic-to-advance-learning-roadmap-with-assignment/blob/main/terraform-all-projects/terraform-projects/project-01-static-website/variables.tf"
click node_bootstrap "https://github.com/salauddin85/terrform-basic-to-advance-learning-roadmap-with-assignment/blob/main/terraform-all-projects/terraform-projects/project-02-web-app-infra/bootstrap/main.tf"
click node_dev_env "https://github.com/salauddin85/terrform-basic-to-advance-learning-roadmap-with-assignment/blob/main/terraform-all-projects/terraform-projects/project-02-web-app-infra/environments/dev/main.tf"
click node_vpc_mod2 "https://github.com/salauddin85/terrform-basic-to-advance-learning-roadmap-with-assignment/blob/main/terraform-all-projects/terraform-projects/project-02-web-app-infra/modules/vpc/main.tf"
click node_sec_mod2 "https://github.com/salauddin85/terrform-basic-to-advance-learning-roadmap-with-assignment/blob/main/terraform-all-projects/terraform-projects/project-02-web-app-infra/modules/security/main.tf"
click node_ec2_mod2 "https://github.com/salauddin85/terrform-basic-to-advance-learning-roadmap-with-assignment/blob/main/terraform-all-projects/terraform-projects/project-02-web-app-infra/modules/ec2/main.tf"
click node_alb_mod2 "https://github.com/salauddin85/terrform-basic-to-advance-learning-roadmap-with-assignment/blob/main/terraform-all-projects/terraform-projects/project-02-web-app-infra/modules/alb/main.tf"
click node_rds_mod2 "https://github.com/salauddin85/terrform-basic-to-advance-learning-roadmap-with-assignment/blob/main/terraform-all-projects/terraform-projects/project-02-web-app-infra/modules/rds/main.tf"
click node_tg_root "https://github.com/salauddin85/terrform-basic-to-advance-learning-roadmap-with-assignment/blob/main/terraform-all-projects/terraform-projects/project-03-enterprise-platform/terragrunt.hcl"
click node_dev_env_tg "https://github.com/salauddin85/terrform-basic-to-advance-learning-roadmap-with-assignment/blob/main/terraform-all-projects/terraform-projects/project-03-enterprise-platform/environments/dev/env.hcl"
click node_prod_env_tg "https://github.com/salauddin85/terrform-basic-to-advance-learning-roadmap-with-assignment/blob/main/terraform-all-projects/terraform-projects/project-03-enterprise-platform/environments/prod/env.hcl"
click node_vpc_tg "https://github.com/salauddin85/terrform-basic-to-advance-learning-roadmap-with-assignment/blob/main/terraform-all-projects/terraform-projects/project-03-enterprise-platform/environments/dev/vpc/terragrunt.hcl"
click node_alb_tg "https://github.com/salauddin85/terrform-basic-to-advance-learning-roadmap-with-assignment/blob/main/terraform-all-projects/terraform-projects/project-03-enterprise-platform/environments/dev/alb/terragrunt.hcl"
click node_ecs_tg "https://github.com/salauddin85/terrform-basic-to-advance-learning-roadmap-with-assignment/blob/main/terraform-all-projects/terraform-projects/project-03-enterprise-platform/environments/dev/ecs/terragrunt.hcl"
click node_aurora_tg "https://github.com/salauddin85/terrform-basic-to-advance-learning-roadmap-with-assignment/blob/main/terraform-all-projects/terraform-projects/project-03-enterprise-platform/environments/dev/aurora/terragrunt.hcl"
click node_elasticache_tg "https://github.com/salauddin85/terrform-basic-to-advance-learning-roadmap-with-assignment/blob/main/terraform-all-projects/terraform-projects/project-03-enterprise-platform/environments/dev/elasticache/terragrunt.hcl"
click node_kms_tg "https://github.com/salauddin85/terrform-basic-to-advance-learning-roadmap-with-assignment/blob/main/terraform-all-projects/terraform-projects/project-03-enterprise-platform/environments/dev/kms/terragrunt.hcl"
click node_waf_tg "https://github.com/salauddin85/terrform-basic-to-advance-learning-roadmap-with-assignment/blob/main/terraform-all-projects/terraform-projects/project-03-enterprise-platform/environments/dev/waf/terragrunt.hcl"
click node_monitoring_mod "https://github.com/salauddin85/terrform-basic-to-advance-learning-roadmap-with-assignment/blob/main/terraform-all-projects/terraform-projects/project-03-enterprise-platform/modules/monitoring/main.tf"
click node_vpc_mod3 "https://github.com/salauddin85/terrform-basic-to-advance-learning-roadmap-with-assignment/blob/main/terraform-all-projects/terraform-projects/project-03-enterprise-platform/modules/vpc/main.tf"
click node_alb_mod3 "https://github.com/salauddin85/terrform-basic-to-advance-learning-roadmap-with-assignment/blob/main/terraform-all-projects/terraform-projects/project-03-enterprise-platform/modules/alb/main.tf"
click node_ecs_mod3 "https://github.com/salauddin85/terrform-basic-to-advance-learning-roadmap-with-assignment/blob/main/terraform-all-projects/terraform-projects/project-03-enterprise-platform/modules/ecs/main.tf"
click node_aurora_mod "https://github.com/salauddin85/terrform-basic-to-advance-learning-roadmap-with-assignment/blob/main/terraform-all-projects/terraform-projects/project-03-enterprise-platform/modules/aurora/main.tf"
click node_cache_mod "https://github.com/salauddin85/terrform-basic-to-advance-learning-roadmap-with-assignment/blob/main/terraform-all-projects/terraform-projects/project-03-enterprise-platform/modules/elasticache/main.tf"
click node_kms_mod "https://github.com/salauddin85/terrform-basic-to-advance-learning-roadmap-with-assignment/blob/main/terraform-all-projects/terraform-projects/project-03-enterprise-platform/modules/kms/main.tf"
click node_waf_mod "https://github.com/salauddin85/terrform-basic-to-advance-learning-roadmap-with-assignment/blob/main/terraform-all-projects/terraform-projects/project-03-enterprise-platform/modules/waf/main.tf"
click node_tests "https://github.com/salauddin85/terrform-basic-to-advance-learning-roadmap-with-assignment/blob/main/terraform-all-projects/terraform-projects/project-03-enterprise-platform/tests/vpc_test.tftest.hcl"
click node_ci "https://github.com/salauddin85/terrform-basic-to-advance-learning-roadmap-with-assignment/blob/main/terraform-all-projects/terraform-projects/project-03-enterprise-platform/.github/workflows/terraform-ci.yml"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_basic_root,node_basic_vars toneBlue
class node_bootstrap,node_dev_env,node_vpc_mod2,node_sec_mod2,node_ec2_mod2,node_alb_mod2,node_rds_mod2 toneAmber
class node_tg_root,node_dev_env_tg,node_prod_env_tg,node_vpc_tg,node_alb_tg,node_ecs_tg,node_aurora_tg,node_elasticache_tg,node_kms_tg,node_waf_tg,node_monitoring_mod,node_vpc_mod3,node_alb_mod3,node_ecs_mod3,node_aurora_mod,node_cache_mod,node_kms_mod,node_waf_mod,node_tests,node_ci toneMint
class node_roadmap toneNeutral
```

## Components

### Basic stack

Single-root Terraform deployment for one standalone project.

- [Static website](https://github.com/salauddin85/terrform-basic-to-advance-learning-roadmap-with-assignment/blob/main/terraform-all-projects/terraform-projects/project-01-static-website/main.tf): terraform root · Single self-contained Terraform stack for a static website. · `terraform-all-projects/terraform-projects/project-01-static-website/main.tf`
- [Inputs & state](https://github.com/salauddin85/terrform-basic-to-advance-learning-roadmap-with-assignment/blob/main/terraform-all-projects/terraform-projects/project-01-static-website/variables.tf): tf config · Variables, tfvars, and outputs for the basic stack. · `terraform-all-projects/terraform-projects/project-01-static-website/variables.tf`

### Module-based env

Terraform roots composed from reusable modules per environment.

- [Bootstrap](https://github.com/salauddin85/terrform-basic-to-advance-learning-roadmap-with-assignment/blob/main/terraform-all-projects/terraform-projects/project-02-web-app-infra/bootstrap/main.tf): terraform root · Initial setup root for the intermediate web app infrastructure. · `terraform-all-projects/terraform-projects/project-02-web-app-infra/bootstrap/main.tf`
- [Dev env](https://github.com/salauddin85/terrform-basic-to-advance-learning-roadmap-with-assignment/blob/main/terraform-all-projects/terraform-projects/project-02-web-app-infra/environments/dev/main.tf): terraform root · Environment-specific root composing reusable infrastructure modules. · `terraform-all-projects/terraform-projects/project-02-web-app-infra/environments/dev/main.tf`
- [VPC](https://github.com/salauddin85/terrform-basic-to-advance-learning-roadmap-with-assignment/blob/main/terraform-all-projects/terraform-projects/project-02-web-app-infra/modules/vpc/main.tf): module · Network foundation for the web app stack. · `terraform-all-projects/terraform-projects/project-02-web-app-infra/modules/vpc/main.tf`
- [Security](https://github.com/salauddin85/terrform-basic-to-advance-learning-roadmap-with-assignment/blob/main/terraform-all-projects/terraform-projects/project-02-web-app-infra/modules/security/main.tf): module · Access control and security group boundaries. · `terraform-all-projects/terraform-projects/project-02-web-app-infra/modules/security/main.tf`
- [EC2](https://github.com/salauddin85/terrform-basic-to-advance-learning-roadmap-with-assignment/blob/main/terraform-all-projects/terraform-projects/project-02-web-app-infra/modules/ec2/main.tf): module · Compute layer for application workloads. · `terraform-all-projects/terraform-projects/project-02-web-app-infra/modules/ec2/main.tf`
- [ALB](https://github.com/salauddin85/terrform-basic-to-advance-learning-roadmap-with-assignment/blob/main/terraform-all-projects/terraform-projects/project-02-web-app-infra/modules/alb/main.tf): module · Load balancing and traffic entry for the app. · `terraform-all-projects/terraform-projects/project-02-web-app-infra/modules/alb/main.tf`
- [RDS](https://github.com/salauddin85/terrform-basic-to-advance-learning-roadmap-with-assignment/blob/main/terraform-all-projects/terraform-projects/project-02-web-app-infra/modules/rds/main.tf): module · Managed relational database component. · `terraform-all-projects/terraform-projects/project-02-web-app-infra/modules/rds/main.tf`

### Terragrunt platform

Multi-environment platform orchestration with shared modules, CI, and tests.

- [Terragrunt root](https://github.com/salauddin85/terrform-basic-to-advance-learning-roadmap-with-assignment/blob/main/terraform-all-projects/terraform-projects/project-03-enterprise-platform/terragrunt.hcl): orchestration root · Shared Terragrunt configuration for the enterprise platform. · `terraform-all-projects/terraform-projects/project-03-enterprise-platform/terragrunt.hcl`
- [Dev env](https://github.com/salauddin85/terrform-basic-to-advance-learning-roadmap-with-assignment/blob/main/terraform-all-projects/terraform-projects/project-03-enterprise-platform/environments/dev/env.hcl): terragrunt env · Dev environment configuration and composition layer. · `terraform-all-projects/terraform-projects/project-03-enterprise-platform/environments/dev/env.hcl`
- [Prod env](https://github.com/salauddin85/terrform-basic-to-advance-learning-roadmap-with-assignment/blob/main/terraform-all-projects/terraform-projects/project-03-enterprise-platform/environments/prod/env.hcl): terragrunt env · Prod environment configuration and composition layer. · `terraform-all-projects/terraform-projects/project-03-enterprise-platform/environments/prod/env.hcl`
- [VPC unit](https://github.com/salauddin85/terrform-basic-to-advance-learning-roadmap-with-assignment/blob/main/terraform-all-projects/terraform-projects/project-03-enterprise-platform/environments/dev/vpc/terragrunt.hcl): terragrunt stack · Terragrunt-managed networking unit. · `terraform-all-projects/terraform-projects/project-03-enterprise-platform/environments/dev/vpc/terragrunt.hcl`
- [ALB unit](https://github.com/salauddin85/terrform-basic-to-advance-learning-roadmap-with-assignment/blob/main/terraform-all-projects/terraform-projects/project-03-enterprise-platform/environments/dev/alb/terragrunt.hcl): terragrunt stack · Terragrunt-managed ingress and load balancing unit. · `terraform-all-projects/terraform-projects/project-03-enterprise-platform/environments/dev/alb/terragrunt.hcl`
- [ECS unit](https://github.com/salauddin85/terrform-basic-to-advance-learning-roadmap-with-assignment/blob/main/terraform-all-projects/terraform-projects/project-03-enterprise-platform/environments/dev/ecs/terragrunt.hcl): terragrunt stack · Terragrunt-managed container compute unit. · `terraform-all-projects/terraform-projects/project-03-enterprise-platform/environments/dev/ecs/terragrunt.hcl`
- [Aurora unit](https://github.com/salauddin85/terrform-basic-to-advance-learning-roadmap-with-assignment/blob/main/terraform-all-projects/terraform-projects/project-03-enterprise-platform/environments/dev/aurora/terragrunt.hcl): terragrunt stack · Terragrunt-managed managed database unit. · `terraform-all-projects/terraform-projects/project-03-enterprise-platform/environments/dev/aurora/terragrunt.hcl`
- [Cache unit](https://github.com/salauddin85/terrform-basic-to-advance-learning-roadmap-with-assignment/blob/main/terraform-all-projects/terraform-projects/project-03-enterprise-platform/environments/dev/elasticache/terragrunt.hcl): terragrunt stack · Terragrunt-managed caching unit. · `terraform-all-projects/terraform-projects/project-03-enterprise-platform/environments/dev/elasticache/terragrunt.hcl`
- [KMS unit](https://github.com/salauddin85/terrform-basic-to-advance-learning-roadmap-with-assignment/blob/main/terraform-all-projects/terraform-projects/project-03-enterprise-platform/environments/dev/kms/terragrunt.hcl): terragrunt stack · Terragrunt-managed encryption key unit. · `terraform-all-projects/terraform-projects/project-03-enterprise-platform/environments/dev/kms/terragrunt.hcl`
- [WAF unit](https://github.com/salauddin85/terrform-basic-to-advance-learning-roadmap-with-assignment/blob/main/terraform-all-projects/terraform-projects/project-03-enterprise-platform/environments/dev/waf/terragrunt.hcl): terragrunt stack · Terragrunt-managed perimeter protection unit. · `terraform-all-projects/terraform-projects/project-03-enterprise-platform/environments/dev/waf/terragrunt.hcl`
- [Monitoring](https://github.com/salauddin85/terrform-basic-to-advance-learning-roadmap-with-assignment/blob/main/terraform-all-projects/terraform-projects/project-03-enterprise-platform/modules/monitoring/main.tf): module · Observability and monitoring subsystem for the platform. · `terraform-all-projects/terraform-projects/project-03-enterprise-platform/modules/monitoring/main.tf`
- [VPC](https://github.com/salauddin85/terrform-basic-to-advance-learning-roadmap-with-assignment/blob/main/terraform-all-projects/terraform-projects/project-03-enterprise-platform/modules/vpc/main.tf): module · Shared networking foundation for the enterprise platform. · `terraform-all-projects/terraform-projects/project-03-enterprise-platform/modules/vpc/main.tf`
- [ALB](https://github.com/salauddin85/terrform-basic-to-advance-learning-roadmap-with-assignment/blob/main/terraform-all-projects/terraform-projects/project-03-enterprise-platform/modules/alb/main.tf): module · Shared ingress and routing layer. · `terraform-all-projects/terraform-projects/project-03-enterprise-platform/modules/alb/main.tf`
- [ECS](https://github.com/salauddin85/terrform-basic-to-advance-learning-roadmap-with-assignment/blob/main/terraform-all-projects/terraform-projects/project-03-enterprise-platform/modules/ecs/main.tf): module · Container orchestration and service runtime. · `terraform-all-projects/terraform-projects/project-03-enterprise-platform/modules/ecs/main.tf`
- [Aurora](https://github.com/salauddin85/terrform-basic-to-advance-learning-roadmap-with-assignment/blob/main/terraform-all-projects/terraform-projects/project-03-enterprise-platform/modules/aurora/main.tf): module · Managed relational database layer. · `terraform-all-projects/terraform-projects/project-03-enterprise-platform/modules/aurora/main.tf`
- [Cache](https://github.com/salauddin85/terrform-basic-to-advance-learning-roadmap-with-assignment/blob/main/terraform-all-projects/terraform-projects/project-03-enterprise-platform/modules/elasticache/main.tf): module · Managed in-memory cache layer. · `terraform-all-projects/terraform-projects/project-03-enterprise-platform/modules/elasticache/main.tf`
- [KMS](https://github.com/salauddin85/terrform-basic-to-advance-learning-roadmap-with-assignment/blob/main/terraform-all-projects/terraform-projects/project-03-enterprise-platform/modules/kms/main.tf): module · Encryption key management subsystem. · `terraform-all-projects/terraform-projects/project-03-enterprise-platform/modules/kms/main.tf`
- [WAF](https://github.com/salauddin85/terrform-basic-to-advance-learning-roadmap-with-assignment/blob/main/terraform-all-projects/terraform-projects/project-03-enterprise-platform/modules/waf/main.tf): module · Application edge protection subsystem. · `terraform-all-projects/terraform-projects/project-03-enterprise-platform/modules/waf/main.tf`
- [Terraform tests](https://github.com/salauddin85/terrform-basic-to-advance-learning-roadmap-with-assignment/blob/main/terraform-all-projects/terraform-projects/project-03-enterprise-platform/tests/vpc_test.tftest.hcl): test suite · Native tests for key platform modules. · `terraform-all-projects/terraform-projects/project-03-enterprise-platform/tests/vpc_test.tftest.hcl`
- [GitHub Actions](https://github.com/salauddin85/terrform-basic-to-advance-learning-roadmap-with-assignment/blob/main/terraform-all-projects/terraform-projects/project-03-enterprise-platform/.github/workflows/terraform-ci.yml): ci · Terraform validation and drift-detection workflows. · `terraform-all-projects/terraform-projects/project-03-enterprise-platform/.github/workflows/terraform-ci.yml`

### Other components

- [Terraform roadmap](https://github.com/salauddin85/terrform-basic-to-advance-learning-roadmap-with-assignment/blob/main/README.md): repo · Learning repo spanning basic to advanced infrastructure patterns. · `README.md`

## Connections

- Terraform roadmap → Static website: includes · Roadmap contains the basic standalone stack.
- Terraform roadmap → Bootstrap: includes · Roadmap contains the intermediate infrastructure phase.
- Terraform roadmap → Terragrunt root: includes · Roadmap contains the advanced platform phase.
- Static website → Inputs & state: uses · The single stack is driven by local inputs and outputs.
- Dev env → VPC: composes · Dev root instantiates the network module.
- Dev env → Security: composes · Dev root instantiates the security module.
- Dev env → EC2: composes · Dev root instantiates compute.
- Dev env → ALB: composes · Dev root instantiates load balancing.
- Dev env → RDS: composes · Dev root instantiates database services.
- VPC → Security: feeds · Network boundaries inform security rules.
- VPC → EC2: feeds · Compute depends on the network foundation.
- EC2 → ALB: behind · Application compute sits behind the load balancer.
- VPC → RDS: isolates · Database placement relies on private networking.
- Terragrunt root → Dev env: orchestrates · Shared Terragrunt config drives the dev environment.
- Terragrunt root → Prod env: orchestrates · Shared Terragrunt config drives the prod environment.
- Dev env → VPC unit: composes · Dev environment defines the networking unit.
- Dev env → ALB unit: composes · Dev environment defines the ingress unit.
- Dev env → ECS unit: composes · Dev environment defines the compute unit.
- Dev env → Aurora unit: composes · Dev environment defines the database unit.
- Dev env → Cache unit: composes · Dev environment defines the cache unit.
- Dev env → KMS unit: composes · Dev environment defines encryption resources.
- Dev env → WAF unit: composes · Dev environment defines protection resources.
- VPC unit → VPC: uses · Terragrunt unit wraps the VPC module.
- ALB unit → ALB: uses · Terragrunt unit wraps the ALB module.
- ECS unit → ECS: uses · Terragrunt unit wraps the ECS module.
- Aurora unit → Aurora: uses · Terragrunt unit wraps the Aurora module.
- Cache unit → Cache: uses · Terragrunt unit wraps the cache module.
- KMS unit → KMS: uses · Terragrunt unit wraps the KMS module.
- WAF unit → WAF: uses · Terragrunt unit wraps the WAF module.
- Terraform tests → KMS: validates · Terraform-native tests cover core encryption behavior.
- Terraform tests → VPC: validates · Terraform-native tests cover network primitives.
- GitHub Actions → Terraform tests: runs · CI executes validation and testing workflows.
- GitHub Actions → Terragrunt root: checks · CI gates the Terragrunt-based platform.
