# saitama0333/eks-platform-demo architecture

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

- Interactive diagram: https://gitdiagram.com/saitama0333/eks-platform-demo
- Repository: https://github.com/saitama0333/eks-platform-demo

## Overview

This repository is a Terraform-based AWS EKS platform. Its documented user-to-result path runs from GitHub Actions through ECR and ArgoCD to EKS, which hosts workload, scaling, secrets, observability, and backup capabilities. The tree confirms Terraform bootstrap, environment, VPC, EKS, and Karpenter components; deployment and platform paths described in the README are absent from the supplied tree. Their links reflect README documentation, not inspected source wiring.

Main entry points: [`terraform/modules/eks`](https://github.com/saitama0333/eks-platform-demo/tree/main/terraform/modules/eks) (Amazon EKS), [`terraform/modules/karpenter`](https://github.com/saitama0333/eks-platform-demo/tree/main/terraform/modules/karpenter) (Karpenter Module)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_provisioning["Terraform Provisioning"]
  node_bootstrap["Bootstrap Terraform"]
  node_dev["Dev Environment"]
  node_vpc["VPC Module"]
end

subgraph group_delivery["Image Delivery"]
  node_actions["GitHub Actions"]
  node_ecr[("Amazon ECR")]
  node_argocd["ArgoCD"]
end

subgraph group_cluster_ops["Cluster Operations"]
  node_eks["Amazon EKS"]
  node_karpenter["Karpenter Module"]
  node_ec2["Dynamic EC2 Capacity"]
  node_secrets[("AWS Secrets Manager")]
  node_observability["Observability Stack"]
  node_prometheus["Prometheus"]
  node_grafana["Grafana"]
  node_otel["OpenTelemetry"]
  node_velero["Velero"]
  node_s3[("Amazon S3")]
end

node_github(("GitHub"))

node_github -->|"triggers"| node_actions
node_actions -->|"pushes image"| node_ecr
node_ecr -->|"supplies image"| node_argocd
node_argocd -->|"deploys to"| node_eks
node_eks -->|"hosts"| node_karpenter
node_karpenter -->|"scales capacity"| node_ec2
node_eks -->|"uses"| node_secrets
node_eks -->|"hosts"| node_observability
node_observability -->|"includes"| node_prometheus
node_observability -->|"includes"| node_grafana
node_observability -->|"includes"| node_otel
node_eks -->|"hosts"| node_velero
node_velero -->|"backs up to"| node_s3

click node_eks "https://github.com/saitama0333/eks-platform-demo/tree/main/terraform/modules/eks"
click node_bootstrap "https://github.com/saitama0333/eks-platform-demo/tree/main/terraform/bootstrap"
click node_dev "https://github.com/saitama0333/eks-platform-demo/tree/main/terraform/environments/dev"
click node_vpc "https://github.com/saitama0333/eks-platform-demo/tree/main/terraform/modules/vpc"
click node_karpenter "https://github.com/saitama0333/eks-platform-demo/tree/main/terraform/modules/karpenter"

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_bootstrap,node_dev,node_vpc toneBlue
class node_actions,node_ecr,node_argocd toneAmber
class node_eks,node_karpenter,node_ec2,node_secrets,node_observability,node_prometheus,node_grafana,node_otel,node_velero,node_s3 toneMint
class node_github toneIndigo
```

## Components

### Terraform Provisioning

- [Bootstrap Terraform](https://github.com/saitama0333/eks-platform-demo/tree/main/terraform/bootstrap): `terraform/bootstrap`
- [Dev Environment](https://github.com/saitama0333/eks-platform-demo/tree/main/terraform/environments/dev): `terraform/environments/dev`
- [VPC Module](https://github.com/saitama0333/eks-platform-demo/tree/main/terraform/modules/vpc): `terraform/modules/vpc`

### Image Delivery

- **GitHub Actions**
- **Amazon ECR**
- **ArgoCD**

### Cluster Operations

- [Amazon EKS](https://github.com/saitama0333/eks-platform-demo/tree/main/terraform/modules/eks): `terraform/modules/eks`
- [Karpenter Module](https://github.com/saitama0333/eks-platform-demo/tree/main/terraform/modules/karpenter): `terraform/modules/karpenter`
- **Dynamic EC2 Capacity**
- **AWS Secrets Manager**
- **Observability Stack**
- **Prometheus**
- **Grafana**
- **OpenTelemetry**
- **Velero**
- **Amazon S3**

### Other components

- **GitHub**

## Connections

- GitHub → GitHub Actions: triggers
- GitHub Actions → Amazon ECR: pushes image
- Amazon ECR → ArgoCD: supplies image
- ArgoCD → Amazon EKS: deploys to
- Amazon EKS → Karpenter Module: hosts
- Karpenter Module → Dynamic EC2 Capacity: scales capacity
- Amazon EKS → AWS Secrets Manager: uses
- Amazon EKS → Observability Stack: hosts
- Observability Stack → Prometheus: includes
- Observability Stack → Grafana: includes
- Observability Stack → OpenTelemetry: includes
- Amazon EKS → Velero: hosts
- Velero → Amazon S3: backs up to
