# nhduong2612/cloud-project architecture

> Architecture diagram of the GitHub repository nhduong2612/cloud-project, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-27). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/nhduong2612/cloud-project
- Repository: https://github.com/nhduong2612/cloud-project

## Overview

This repository defines Terraform-managed AWS infrastructure, organized around a root configuration and modules for networking, IAM, a controller, database, storage, and observability. The likely operator workflow is to supply environment configuration and apply the root stack to provision those capabilities. The tree and inventory document names establish these domains, but no Terraform source excerpts or README content were available; module wiring and specific AWS resource relationships therefore remain unshown.

Main entry points: [`terraform/main.tf`](https://github.com/nhduong2612/cloud-project/blob/main/terraform/main.tf) (Root configuration), [`terraform/modules/network/main.tf`](https://github.com/nhduong2612/cloud-project/blob/main/terraform/modules/network/main.tf) (Network module), [`terraform/modules/iam/main.tf`](https://github.com/nhduong2612/cloud-project/blob/main/terraform/modules/iam/main.tf) (IAM module), [`terraform/modules/controller/main.tf`](https://github.com/nhduong2612/cloud-project/blob/main/terraform/modules/controller/main.tf) (Controller module)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_orchestration["Terraform orchestration"]
  node_root["Root configuration<br/>[main.tf]"]
  node_environment["Environment settings<br/>[README.md]"]
end

subgraph group_foundation["Platform foundation"]
  node_network["Network module<br/>[main.tf]"]
  node_iam["IAM module<br/>[main.tf]"]
end

subgraph group_services["Workload services"]
  node_controller["Controller module<br/>[main.tf]"]
  node_database[("Database module<br/>[main.tf]")]
  node_storage["Storage module<br/>[main.tf]"]
end

subgraph group_operations["Operations"]
  node_observability["Observability module<br/>[main.tf]"]
end

node_operator(("Infrastructure operator"))
node_aws{{"AWS"}}

node_operator -->|"applies stack"| node_root
node_operator -->|"reviews settings"| node_environment
node_root -.->|"module wiring unknown"| node_network
node_root -.->|"module wiring unknown"| node_iam
node_root -.->|"module wiring unknown"| node_controller
node_root -.->|"module wiring unknown"| node_database
node_root -.->|"module wiring unknown"| node_storage
node_root -.->|"module wiring unknown"| node_observability
node_network -.->|"resource details unknown"| node_aws
node_iam -.->|"resource details unknown"| node_aws
node_controller -.->|"resource details unknown"| node_aws
node_database -.->|"resource details unknown"| node_aws
node_storage -.->|"resource details unknown"| node_aws
node_observability -.->|"resource details unknown"| node_aws

click node_root "https://github.com/nhduong2612/cloud-project/blob/main/terraform/main.tf"
click node_environment "https://github.com/nhduong2612/cloud-project/blob/main/terraform/environments/dev/README.md"
click node_network "https://github.com/nhduong2612/cloud-project/blob/main/terraform/modules/network/main.tf"
click node_iam "https://github.com/nhduong2612/cloud-project/blob/main/terraform/modules/iam/main.tf"
click node_controller "https://github.com/nhduong2612/cloud-project/blob/main/terraform/modules/controller/main.tf"
click node_database "https://github.com/nhduong2612/cloud-project/blob/main/terraform/modules/database/main.tf"
click node_storage "https://github.com/nhduong2612/cloud-project/blob/main/terraform/modules/storage/main.tf"
click node_observability "https://github.com/nhduong2612/cloud-project/blob/main/terraform/modules/observability/main.tf"

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_root,node_environment toneBlue
class node_network,node_iam toneAmber
class node_controller,node_database,node_storage toneMint
class node_observability toneRose
class node_operator,node_aws toneIndigo
```

## Components

### Terraform orchestration

- [Root configuration](https://github.com/nhduong2612/cloud-project/blob/main/terraform/main.tf): `terraform/main.tf`
- [Environment settings](https://github.com/nhduong2612/cloud-project/blob/main/terraform/environments/dev/README.md): `terraform/environments/dev/README.md`

### Platform foundation

- [Network module](https://github.com/nhduong2612/cloud-project/blob/main/terraform/modules/network/main.tf): `terraform/modules/network/main.tf`
- [IAM module](https://github.com/nhduong2612/cloud-project/blob/main/terraform/modules/iam/main.tf): `terraform/modules/iam/main.tf`

### Workload services

- [Controller module](https://github.com/nhduong2612/cloud-project/blob/main/terraform/modules/controller/main.tf): `terraform/modules/controller/main.tf`
- [Database module](https://github.com/nhduong2612/cloud-project/blob/main/terraform/modules/database/main.tf): `terraform/modules/database/main.tf`
- [Storage module](https://github.com/nhduong2612/cloud-project/blob/main/terraform/modules/storage/main.tf): `terraform/modules/storage/main.tf`

### Operations

- [Observability module](https://github.com/nhduong2612/cloud-project/blob/main/terraform/modules/observability/main.tf): `terraform/modules/observability/main.tf`

### Other components

- **Infrastructure operator**
- **AWS**

## Connections

- Infrastructure operator → Root configuration: applies stack
- Infrastructure operator → Environment settings: reviews settings
- Root configuration → Network module: module wiring unknown
- Root configuration → IAM module: module wiring unknown
- Root configuration → Controller module: module wiring unknown
- Root configuration → Database module: module wiring unknown
- Root configuration → Storage module: module wiring unknown
- Root configuration → Observability module: module wiring unknown
- Network module → AWS: resource details unknown
- IAM module → AWS: resource details unknown
- Controller module → AWS: resource details unknown
- Database module → AWS: resource details unknown
- Storage module → AWS: resource details unknown
- Observability module → AWS: resource details unknown
