# vaheed-valaxy/shopverse-infra architecture

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

- Interactive diagram: https://gitdiagram.com/vaheed-valaxy/shopverse-infra
- Repository: https://github.com/vaheed-valaxy/shopverse-infra

## Overview

This repository is infrastructure-as-code for ShopVerse, not the React/Go application described in the README. Its documented deployment workflow provisions AWS networking and EKS, then adds cluster services and identity integrations. The tree also shows RDS, ECR, Secrets Manager, and Terraform state configurations. No source excerpts were supplied, so links between individual configurations are limited to relationships documented in the README or explicit in their directory roles; application runtime flows are omitted.

Main entry points: [`Infra-1/dev/10-eks`](https://github.com/vaheed-valaxy/shopverse-infra/tree/main/Infra-1/dev/10-eks) (EKS cluster), [`Infra-1/dev/00-s3`](https://github.com/vaheed-valaxy/shopverse-infra/tree/main/Infra-1/dev/00-s3) (Terraform state bucket), [`Infra-1/dev/01-vpc`](https://github.com/vaheed-valaxy/shopverse-infra/tree/main/Infra-1/dev/01-vpc) (VPC networking), [`Infra-1/dev/02-bastion`](https://github.com/vaheed-valaxy/shopverse-infra/tree/main/Infra-1/dev/02-bastion) (Bastion host)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_foundation["Cloud foundation"]
  node_state[("Terraform state bucket")]
  node_network["VPC networking"]
  node_bastion["Bastion host"]
  node_nat["NAT networking"]
end

subgraph group_platform["Cluster platform"]
  node_eks["EKS cluster"]
  node_lbc["AWS load balancer"]
  node_argocd["Argo CD"]
  node_eso["External Secrets"]
  node_kyverno["Kyverno policies"]
end

subgraph group_identity["Workload identity"]
  node_workloadid["Service account roles"]
end

subgraph group_data["Data and artifacts"]
  node_rds[("RDS database")]
  node_ecr[("ECR repositories")]
  node_secrets[("Secrets Manager")]
end

node_operator(("Infrastructure operator"))
node_aws["AWS services"]
node_kubernetes["Kubernetes cluster"]

node_operator -->|"provisions"| node_state
node_operator -->|"provisions"| node_network
node_operator -->|"provisions"| node_bastion
node_operator -->|"provisions"| node_nat
node_operator -->|"provisions"| node_eks
node_operator -->|"provisions"| node_rds
node_operator -->|"provisions"| node_ecr
node_operator -->|"provisions"| node_secrets
node_operator -->|"installs"| node_lbc
node_operator -->|"installs"| node_argocd
node_operator -->|"installs"| node_eso
node_operator -->|"installs"| node_kyverno
node_operator -->|"configures"| node_workloadid
node_state -->|"stores state"| node_aws
node_network -->|"creates VPC"| node_aws
node_bastion -->|"creates host"| node_aws
node_nat -->|"creates NAT"| node_aws
node_eks -->|"creates cluster"| node_aws
node_eks -->|"provides"| node_kubernetes
node_rds -->|"creates database"| node_aws
node_ecr -->|"creates repositories"| node_aws
node_secrets -->|"creates secrets"| node_aws
node_lbc -->|"installs controller"| node_kubernetes
node_argocd -->|"installs GitOps"| node_kubernetes
node_eso -->|"installs controller"| node_kubernetes
node_kyverno -->|"installs policies"| node_kubernetes
node_workloadid -->|"defines IAM roles"| node_aws

click node_state "https://github.com/vaheed-valaxy/shopverse-infra/tree/main/Infra-1/dev/00-s3"
click node_network "https://github.com/vaheed-valaxy/shopverse-infra/tree/main/Infra-1/dev/01-vpc"
click node_bastion "https://github.com/vaheed-valaxy/shopverse-infra/tree/main/Infra-1/dev/02-bastion"
click node_nat "https://github.com/vaheed-valaxy/shopverse-infra/tree/main/Infra-1/dev/03-nat-instance"
click node_eks "https://github.com/vaheed-valaxy/shopverse-infra/tree/main/Infra-1/dev/10-eks"
click node_lbc "https://github.com/vaheed-valaxy/shopverse-infra/tree/main/addons/50-aws-lbc"
click node_argocd "https://github.com/vaheed-valaxy/shopverse-infra/tree/main/addons/60-argocd"
click node_eso "https://github.com/vaheed-valaxy/shopverse-infra/tree/main/addons/70-eso"
click node_kyverno "https://github.com/vaheed-valaxy/shopverse-infra/tree/main/addons/kyverno"
click node_workloadid "https://github.com/vaheed-valaxy/shopverse-infra/tree/main/service-accounts"
click node_rds "https://github.com/vaheed-valaxy/shopverse-infra/tree/main/Infra-1/dev/20-rds"
click node_ecr "https://github.com/vaheed-valaxy/shopverse-infra/tree/main/Infra-1/dev/30-ecr"
click node_secrets "https://github.com/vaheed-valaxy/shopverse-infra/tree/main/Infra-1/dev/40-secrets-manager"

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_state,node_network,node_bastion,node_nat toneBlue
class node_eks,node_lbc,node_argocd,node_eso,node_kyverno toneAmber
class node_workloadid toneMint
class node_rds,node_ecr,node_secrets toneRose
class node_operator,node_aws,node_kubernetes toneIndigo
```

## Components

### Cloud foundation

- [Terraform state bucket](https://github.com/vaheed-valaxy/shopverse-infra/tree/main/Infra-1/dev/00-s3): `Infra-1/dev/00-s3`
- [VPC networking](https://github.com/vaheed-valaxy/shopverse-infra/tree/main/Infra-1/dev/01-vpc): `Infra-1/dev/01-vpc`
- [Bastion host](https://github.com/vaheed-valaxy/shopverse-infra/tree/main/Infra-1/dev/02-bastion): `Infra-1/dev/02-bastion`
- [NAT networking](https://github.com/vaheed-valaxy/shopverse-infra/tree/main/Infra-1/dev/03-nat-instance): `Infra-1/dev/03-nat-instance`

### Cluster platform

- [EKS cluster](https://github.com/vaheed-valaxy/shopverse-infra/tree/main/Infra-1/dev/10-eks): `Infra-1/dev/10-eks`
- [AWS load balancer](https://github.com/vaheed-valaxy/shopverse-infra/tree/main/addons/50-aws-lbc): `addons/50-aws-lbc`
- [Argo CD](https://github.com/vaheed-valaxy/shopverse-infra/tree/main/addons/60-argocd): `addons/60-argocd`
- [External Secrets](https://github.com/vaheed-valaxy/shopverse-infra/tree/main/addons/70-eso): `addons/70-eso`
- [Kyverno policies](https://github.com/vaheed-valaxy/shopverse-infra/tree/main/addons/kyverno): `addons/kyverno`

### Workload identity

- [Service account roles](https://github.com/vaheed-valaxy/shopverse-infra/tree/main/service-accounts): `service-accounts`

### Data and artifacts

- [RDS database](https://github.com/vaheed-valaxy/shopverse-infra/tree/main/Infra-1/dev/20-rds): `Infra-1/dev/20-rds`
- [ECR repositories](https://github.com/vaheed-valaxy/shopverse-infra/tree/main/Infra-1/dev/30-ecr): `Infra-1/dev/30-ecr`
- [Secrets Manager](https://github.com/vaheed-valaxy/shopverse-infra/tree/main/Infra-1/dev/40-secrets-manager): `Infra-1/dev/40-secrets-manager`

### Other components

- **Infrastructure operator**
- **AWS services**
- **Kubernetes cluster**

## Connections

- Infrastructure operator → Terraform state bucket: provisions
- Infrastructure operator → VPC networking: provisions
- Infrastructure operator → Bastion host: provisions
- Infrastructure operator → NAT networking: provisions
- Infrastructure operator → EKS cluster: provisions
- Infrastructure operator → RDS database: provisions
- Infrastructure operator → ECR repositories: provisions
- Infrastructure operator → Secrets Manager: provisions
- Infrastructure operator → AWS load balancer: installs
- Infrastructure operator → Argo CD: installs
- Infrastructure operator → External Secrets: installs
- Infrastructure operator → Kyverno policies: installs
- Infrastructure operator → Service account roles: configures
- Terraform state bucket → AWS services: stores state
- VPC networking → AWS services: creates VPC
- Bastion host → AWS services: creates host
- NAT networking → AWS services: creates NAT
- EKS cluster → AWS services: creates cluster
- EKS cluster → Kubernetes cluster: provides
- RDS database → AWS services: creates database
- ECR repositories → AWS services: creates repositories
- Secrets Manager → AWS services: creates secrets
- AWS load balancer → Kubernetes cluster: installs controller
- Argo CD → Kubernetes cluster: installs GitOps
- External Secrets → Kubernetes cluster: installs controller
- Kyverno policies → Kubernetes cluster: installs policies
- Service account roles → AWS services: defines IAM roles
