Files
devops-infra-argo-config-gcp/claude/01-repo-structure.md
T
2026-08-26 04:03:34 +05:30

3.4 KiB

Per AI Blitz Plan §6. Layer: 1-T.

01 — Repository Structure

devops-infra-argo-config/
├── incubator/                              # Parent ArgoCD Applications (one per cluster)
│   │                                      # Structure varies by branch:
│   │                                      #   main: prd/ + admin/
│   │                                      #   develop: infra/ + apps/ (stg+dev clusters)
│   │                                      #   pre-prod: prd/ + admin/ (int values in values/int/)
│   ├── prd/                               # Production clusters (main branch)
│   │   ├── incubator-infra-k8s-central-prd-ase1.yaml
│   │   ├── incubator-infra-k8s-demand-prd-ase1.yaml
│   │   └── ...                            # ~15+ prd clusters
│   └── admin/                             # Admin clusters (k8s-admin-prd, k8s-devops-admin, k8s-sec-admin)
│       └── ...
├── values/                                # Per-cluster tool lists
│   ├── prd/
│   │   ├── incubator-infra-k8s-central-prd-ase1-values.yaml
│   │   └── ...                            # Mirrors incubator/prd/ 1:1
│   ├── int/                               # Integration clusters (pre-prod branch only)
│   │   └── incubator-infra-k8s-shared-int-ase1-values.yaml
│   ├── dev/                               # Stg+dev clusters (develop branch) — dir is named "dev"
│   │   ├── incubator-infra-k8s-central-stg-ase1-values.yaml
│   │   ├── incubator-infra-k8s-central-dev-ase1-values.yaml
│   │   └── ...                            # Both stg and dev cluster values
│   └── admin/
├── generic-argo-apps-chart/               # Single Helm chart that renders child Applications
│   ├── Chart.yaml                         # meesho-generic-argo-apps-chart v0.1.0
│   └── templates/
│       └── genericTemplate.yaml           # Iterates appSpec[] → Application CRDs
├── projects/                              # ArgoCD AppProject definitions
│   ├── sre-project.yaml                   # sre project (all namespaces/clusters)
│   └── sec-project.yaml                   # sec project (security-scoped)
├── external-name-service-incubator/       # Cross-cluster DNS routing Applications
├── external-name-service-template/        # Helm chart for ExternalName services
├── external-name-service-values/          # MCS topology values per zone
├── pre-commit-scripts/                    # Git hooks (TruffleHog, CAC validate, Yaak)
├── post-commit-scripts/                   # Metrics hooks
└── repository.yaml                        # Repo metadata (automation-owned, DO NOT EDIT)

Directory editability by layer

Directory Purpose Agent editable?
incubator/<env>/ Parent Application YAMLs Layer 1-T (new clusters only)
values/<env>/ Per-cluster tool lists (appSpec[]) Layer 1-T ✓
generic-argo-apps-chart/ Helm chart template Layer 1-T HIGH RISK
projects/ ArgoCD AppProject RBAC Layer 2 (advisory)
external-name-service-*/ Cross-cluster DNS Layer 1-T (manual)
pre-commit-scripts/ Git hooks Layer 3 (blocked)
repository.yaml Automation-owned metadata Layer 3 (blocked)