# star3am/terraform-modules-library architecture

> Architecture diagram of the GitHub repository star3am/terraform-modules-library, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-12). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/star3am/terraform-modules-library
- Repository: https://github.com/star3am/terraform-modules-library

## Overview

This is a Terraform modules and patterns library, paired with a developer environment and QA workflow. An engineer develops reusable cloud modules or patterns, uses the documented checks and Terragrunt plans, then promotes versioned modules from the monorepo toward separate repositories and Terraform Cloud’s private registry. The tree shows AWS, Azure, GCP, and custom module areas. No source excerpts were provided, so edges below rely only on relationships stated in the README; implementation-level calls are not inferred.

Main entry points: [`run.sh`](https://github.com/star3am/terraform-modules-library/blob/main/run.sh) (Pipeline Runner), [`terraform/aws/modules`](https://github.com/star3am/terraform-modules-library/tree/main/terraform/aws/modules) (AWS Modules), [`terraform/azure/modules`](https://github.com/star3am/terraform-modules-library/tree/main/terraform/azure/modules) (Azure Modules), [`terraform/gcp/modules`](https://github.com/star3am/terraform-modules-library/tree/main/terraform/gcp/modules) (GCP Modules)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_catalog["Terraform Catalog"]
  node_aws["AWS Modules"]
  node_azure["Azure Modules"]
  node_gcp["GCP Modules"]
  node_custom["Custom Modules"]
  node_patterns["AWS Patterns"]
end

subgraph group_workflow["Development Workflow"]
  node_devcontainer["Dev Container<br/>[devcontainer.json]"]
  node_runner["Pipeline Runner<br/>[run.sh]"]
end

subgraph group_governance["Governance and QA"]
  node_precommit["Pre-commit Checks"]
  node_security["Security Scanning<br/>[README.md]"]
  node_formatvalidate["Format and Validate<br/>[README.md]"]
  node_lint["Terraform Linters<br/>[README.md]"]
  node_docsgen["Module Documentation<br/>[README.md]"]
  node_plan["Terragrunt Plan<br/>[README.md]"]
end

subgraph group_promotion["Module Promotion"]
  node_versioning["Semantic Versioning"]
  node_multirepo["Module Repositories"]
  node_registry["Terraform Cloud Registry"]
end

node_engineer(("Terraform Engineer"))
node_clouds["Cloud Providers"]

node_engineer -->|"opens workspace"| node_devcontainer
node_engineer -->|"develops modules"| node_aws
node_engineer -->|"develops modules"| node_azure
node_engineer -->|"develops modules"| node_gcp
node_engineer -->|"develops modules"| node_custom
node_engineer -->|"uses patterns"| node_patterns
node_engineer -->|"runs checks"| node_runner
node_runner -->|"runs checks"| node_precommit
node_runner -->|"runs scans"| node_security
node_runner -->|"checks Terraform"| node_formatvalidate
node_runner -->|"runs linters"| node_lint
node_runner -->|"generates docs"| node_docsgen
node_runner -->|"runs plans"| node_plan
node_plan -->|"plans modules"| node_aws
node_engineer -->|"versions modules"| node_versioning
node_versioning -->|"promotes modules"| node_multirepo
node_multirepo -->|"promotes modules"| node_registry
node_aws -->|"provisions resources"| node_clouds
node_azure -->|"provisions resources"| node_clouds
node_gcp -->|"provisions resources"| node_clouds

click node_aws "https://github.com/star3am/terraform-modules-library/tree/main/terraform/aws/modules"
click node_azure "https://github.com/star3am/terraform-modules-library/tree/main/terraform/azure/modules"
click node_gcp "https://github.com/star3am/terraform-modules-library/tree/main/terraform/gcp/modules"
click node_custom "https://github.com/star3am/terraform-modules-library/tree/main/terraform/custom/modules"
click node_patterns "https://github.com/star3am/terraform-modules-library/tree/main/terraform/aws/patterns"
click node_devcontainer "https://github.com/star3am/terraform-modules-library/blob/main/.devcontainer/devcontainer.json"
click node_runner "https://github.com/star3am/terraform-modules-library/blob/main/run.sh"
click node_precommit "https://github.com/star3am/terraform-modules-library/blob/main/.pre-commit-config.yaml"
click node_security "https://github.com/star3am/terraform-modules-library/blob/main/README.md"
click node_formatvalidate "https://github.com/star3am/terraform-modules-library/blob/main/README.md"
click node_lint "https://github.com/star3am/terraform-modules-library/blob/main/README.md"
click node_docsgen "https://github.com/star3am/terraform-modules-library/blob/main/README.md"
click node_plan "https://github.com/star3am/terraform-modules-library/blob/main/README.md"
click node_versioning "https://github.com/star3am/terraform-modules-library/tree/main/terraform/aws/modules"

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_aws,node_azure,node_gcp,node_custom,node_patterns toneBlue
class node_devcontainer,node_runner toneAmber
class node_precommit,node_security,node_formatvalidate,node_lint,node_docsgen,node_plan toneMint
class node_versioning,node_multirepo,node_registry toneRose
class node_engineer,node_clouds toneIndigo
```

## Components

### Terraform Catalog

- [AWS Modules](https://github.com/star3am/terraform-modules-library/tree/main/terraform/aws/modules): `terraform/aws/modules`
- [Azure Modules](https://github.com/star3am/terraform-modules-library/tree/main/terraform/azure/modules): `terraform/azure/modules`
- [GCP Modules](https://github.com/star3am/terraform-modules-library/tree/main/terraform/gcp/modules): `terraform/gcp/modules`
- [Custom Modules](https://github.com/star3am/terraform-modules-library/tree/main/terraform/custom/modules): `terraform/custom/modules`
- [AWS Patterns](https://github.com/star3am/terraform-modules-library/tree/main/terraform/aws/patterns): `terraform/aws/patterns`

### Development Workflow

- [Dev Container](https://github.com/star3am/terraform-modules-library/blob/main/.devcontainer/devcontainer.json): `.devcontainer/devcontainer.json`
- [Pipeline Runner](https://github.com/star3am/terraform-modules-library/blob/main/run.sh): `run.sh`

### Governance and QA

- [Pre-commit Checks](https://github.com/star3am/terraform-modules-library/blob/main/.pre-commit-config.yaml): `.pre-commit-config.yaml`
- [Security Scanning](https://github.com/star3am/terraform-modules-library/blob/main/README.md): `README.md`
- [Format and Validate](https://github.com/star3am/terraform-modules-library/blob/main/README.md): `README.md`
- [Terraform Linters](https://github.com/star3am/terraform-modules-library/blob/main/README.md): `README.md`
- [Module Documentation](https://github.com/star3am/terraform-modules-library/blob/main/README.md): `README.md`
- [Terragrunt Plan](https://github.com/star3am/terraform-modules-library/blob/main/README.md): `README.md`

### Module Promotion

- [Semantic Versioning](https://github.com/star3am/terraform-modules-library/tree/main/terraform/aws/modules): `terraform/aws/modules`
- **Module Repositories**
- **Terraform Cloud Registry**

### Other components

- **Terraform Engineer**
- **Cloud Providers**

## Connections

- Terraform Engineer → Dev Container: opens workspace (evidence: `README.md`)
- Terraform Engineer → AWS Modules: develops modules (evidence: `README.md`)
- Terraform Engineer → Azure Modules: develops modules (evidence: `README.md`)
- Terraform Engineer → GCP Modules: develops modules (evidence: `README.md`)
- Terraform Engineer → Custom Modules: develops modules (evidence: `README.md`)
- Terraform Engineer → AWS Patterns: uses patterns (evidence: `README.md`)
- Terraform Engineer → Pipeline Runner: runs checks (evidence: `README.md`)
- Pipeline Runner → Pre-commit Checks: runs checks (evidence: `README.md`)
- Pipeline Runner → Security Scanning: runs scans (evidence: `README.md`)
- Pipeline Runner → Format and Validate: checks Terraform (evidence: `README.md`)
- Pipeline Runner → Terraform Linters: runs linters (evidence: `README.md`)
- Pipeline Runner → Module Documentation: generates docs (evidence: `README.md`)
- Pipeline Runner → Terragrunt Plan: runs plans (evidence: `README.md`)
- Terragrunt Plan → AWS Modules: plans modules (evidence: `README.md`)
- Terraform Engineer → Semantic Versioning: versions modules (evidence: `README.md`)
- Semantic Versioning → Module Repositories: promotes modules (evidence: `README.md`)
- Module Repositories → Terraform Cloud Registry: promotes modules (evidence: `README.md`)
- AWS Modules → Cloud Providers: provisions resources (evidence: `README.md`)
- Azure Modules → Cloud Providers: provisions resources (evidence: `README.md`)
- GCP Modules → Cloud Providers: provisions resources (evidence: `README.md`)
