# amanpathak-devops/eks-argocd-aws-lb-controller-terraform architecture

> Architecture diagram of the GitHub repository amanpathak-devops/eks-argocd-aws-lb-controller-terraform, 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/amanpathak-devops/eks-argocd-aws-lb-controller-terraform
- Repository: https://github.com/amanpathak-devops/eks-argocd-aws-lb-controller-terraform

## Overview

This Terraform project provisions a private AWS EKS environment in two documented stages: deploy VPC/EC2 infrastructure, then deploy the cluster and its management and monitoring tools. The graph shows the root configurations, reusable modules, and documented add-on branches. Source excerpts were unavailable, so links reflect the README and repository structure rather than unverified resource-level wiring.

Main entry points: [`eks/main.tf`](https://github.com/amanpathak-devops/eks-argocd-aws-lb-controller-terraform/blob/master/eks/main.tf) (EKS deployment), [`vpc-ec2/main.tf`](https://github.com/amanpathak-devops/eks-argocd-aws-lb-controller-terraform/blob/master/vpc-ec2/main.tf) (VPC/EC2 deployment), [`eks/helm-lb-controller.tf`](https://github.com/amanpathak-devops/eks-argocd-aws-lb-controller-terraform/blob/master/eks/helm-lb-controller.tf) (Load balancer controller), [`eks/argocd-helm.tf`](https://github.com/amanpathak-devops/eks-argocd-aws-lb-controller-terraform/blob/master/eks/argocd-helm.tf) (ArgoCD setup)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_network["Network and Compute"]
  node_vpc_stack["VPC/EC2 deployment<br/>[main.tf]"]
  node_vpc_module["VPC module<br/>[vpc.tf]"]
  node_ec2_module["EC2 module<br/>[ec2.tf]"]
end

subgraph group_cluster["EKS Cluster"]
  node_eks_stack["EKS deployment<br/>[main.tf]"]
  node_eks_module["EKS module<br/>[main.tf]"]
end

subgraph group_addons["Cluster Add-ons"]
  node_argocd["ArgoCD setup<br/>[argocd-helm.tf]"]
  node_monitoring["Prometheus setup<br/>[prometheus.tf]"]
  node_lb_controller["Load balancer controller"]
  node_lb_iam["Controller IAM policy<br/>[iam_policy.json]"]
  node_lb_identity["Controller service account"]
end

node_operator(("Operator"))
node_aws["AWS"]
node_helm["Helm charts"]

node_operator -->|"deploys first"| node_vpc_stack
node_vpc_stack -->|"uses module"| node_vpc_module
node_vpc_stack -->|"uses module"| node_ec2_module
node_vpc_stack -->|"provisions infrastructure"| node_aws
node_operator -->|"deploys next"| node_eks_stack
node_eks_stack -->|"uses module"| node_eks_module
node_eks_stack -->|"provisions cluster"| node_aws
node_eks_stack -->|"configures"| node_argocd
node_eks_stack -->|"configures"| node_monitoring
node_eks_stack -->|"configures"| node_lb_controller
node_argocd -->|"deploys chart"| node_helm
node_monitoring -->|"deploys charts"| node_helm
node_lb_controller -->|"deploys chart"| node_helm
node_lb_controller -->|"uses policy"| node_lb_iam
node_lb_controller -->|"uses service account"| node_lb_identity

click node_vpc_stack "https://github.com/amanpathak-devops/eks-argocd-aws-lb-controller-terraform/blob/master/vpc-ec2/main.tf"
click node_vpc_module "https://github.com/amanpathak-devops/eks-argocd-aws-lb-controller-terraform/blob/master/module/vpc-ec2/vpc.tf"
click node_ec2_module "https://github.com/amanpathak-devops/eks-argocd-aws-lb-controller-terraform/blob/master/module/vpc-ec2/ec2.tf"
click node_eks_stack "https://github.com/amanpathak-devops/eks-argocd-aws-lb-controller-terraform/blob/master/eks/main.tf"
click node_eks_module "https://github.com/amanpathak-devops/eks-argocd-aws-lb-controller-terraform/blob/master/module/eks/main.tf"
click node_argocd "https://github.com/amanpathak-devops/eks-argocd-aws-lb-controller-terraform/blob/master/eks/argocd-helm.tf"
click node_monitoring "https://github.com/amanpathak-devops/eks-argocd-aws-lb-controller-terraform/blob/master/eks/prometheus.tf"
click node_lb_controller "https://github.com/amanpathak-devops/eks-argocd-aws-lb-controller-terraform/blob/master/eks/helm-lb-controller.tf"
click node_lb_iam "https://github.com/amanpathak-devops/eks-argocd-aws-lb-controller-terraform/blob/master/eks/iam_policy.json"
click node_lb_identity "https://github.com/amanpathak-devops/eks-argocd-aws-lb-controller-terraform/blob/master/eks/kubernetes-sa-lb-controller.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_vpc_stack,node_vpc_module,node_ec2_module toneBlue
class node_eks_stack,node_eks_module toneAmber
class node_argocd,node_monitoring,node_lb_controller,node_lb_iam,node_lb_identity toneMint
class node_operator,node_aws,node_helm toneIndigo
```

## Components

### Network and Compute

- [VPC/EC2 deployment](https://github.com/amanpathak-devops/eks-argocd-aws-lb-controller-terraform/blob/master/vpc-ec2/main.tf): `vpc-ec2/main.tf`
- [VPC module](https://github.com/amanpathak-devops/eks-argocd-aws-lb-controller-terraform/blob/master/module/vpc-ec2/vpc.tf): `module/vpc-ec2/vpc.tf`
- [EC2 module](https://github.com/amanpathak-devops/eks-argocd-aws-lb-controller-terraform/blob/master/module/vpc-ec2/ec2.tf): `module/vpc-ec2/ec2.tf`

### EKS Cluster

- [EKS deployment](https://github.com/amanpathak-devops/eks-argocd-aws-lb-controller-terraform/blob/master/eks/main.tf): `eks/main.tf`
- [EKS module](https://github.com/amanpathak-devops/eks-argocd-aws-lb-controller-terraform/blob/master/module/eks/main.tf): `module/eks/main.tf`

### Cluster Add-ons

- [ArgoCD setup](https://github.com/amanpathak-devops/eks-argocd-aws-lb-controller-terraform/blob/master/eks/argocd-helm.tf): `eks/argocd-helm.tf`
- [Prometheus setup](https://github.com/amanpathak-devops/eks-argocd-aws-lb-controller-terraform/blob/master/eks/prometheus.tf): `eks/prometheus.tf`
- [Load balancer controller](https://github.com/amanpathak-devops/eks-argocd-aws-lb-controller-terraform/blob/master/eks/helm-lb-controller.tf): `eks/helm-lb-controller.tf`
- [Controller IAM policy](https://github.com/amanpathak-devops/eks-argocd-aws-lb-controller-terraform/blob/master/eks/iam_policy.json): `eks/iam_policy.json`
- [Controller service account](https://github.com/amanpathak-devops/eks-argocd-aws-lb-controller-terraform/blob/master/eks/kubernetes-sa-lb-controller.tf): `eks/kubernetes-sa-lb-controller.tf`

### Other components

- **Operator**
- **AWS**
- **Helm charts**

## Connections

- Operator → VPC/EC2 deployment: deploys first
- VPC/EC2 deployment → VPC module: uses module
- VPC/EC2 deployment → EC2 module: uses module
- VPC/EC2 deployment → AWS: provisions infrastructure
- Operator → EKS deployment: deploys next
- EKS deployment → EKS module: uses module
- EKS deployment → AWS: provisions cluster
- EKS deployment → ArgoCD setup: configures
- EKS deployment → Prometheus setup: configures
- EKS deployment → Load balancer controller: configures
- ArgoCD setup → Helm charts: deploys chart
- Prometheus setup → Helm charts: deploys charts
- Load balancer controller → Helm charts: deploys chart
- Load balancer controller → Controller IAM policy: uses policy
- Load balancer controller → Controller service account: uses service account
