Skip to content

Commit 53838f4

Browse files
oswcabclaude
andcommitted
Restructure component directories to group by environment tier
Problem ------- The current flat naming convention (external-staging, internal-staging, external-production, internal-production) makes it difficult to maintain components that need independent staging and production configurations. When a component requires a staging-specific base (e.g. different resource sizing, different credentials, staging-only features), there is no natural place for it. Recent PRs (#384, #369) worked around this with ad-hoc conventions (staging-base/, production-base/) and placeholder directories, because the flat structure assumes a single shared base across all environments. This also makes it hard to deploy to staging first and production later — a common pattern for validating changes before they reach production clusters. Solution -------- Group environment directories by tier first, then by cluster type: Before: After: external-staging/ staging/external/ internal-staging/ staging/internal/ external-production/ production/external/ internal-production/ production/internal/ This enables a natural structure for tier-specific bases: components/prometheus/ ├── staging/ │ ├── base/ ← staging-specific config │ ├── external/ │ └── internal/ └── production/ ├── base/ ← production-specific config ├── external/ └── internal/ Components with a shared base across tiers keep their existing base/ directory unchanged: components/smee/ ├── base/ ← shared across staging and production ├── staging/ │ └── external/ └── production/ └── external/ What changed ------------ - Renamed 46 environment directories across all 18 components - Updated relative paths in 34 kustomization.yaml files (../base → ../../base, ../k-components → ../../k-components) - Updated the 4 ArgoCD environment-patch.yaml files to match the new directory names Verified that kustomize build output is byte-identical before and after for all 75 overlays — this is a pure directory reorganization with no functional change to any deployed manifest. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent 80fae4f commit 53838f4

218 files changed

Lines changed: 55 additions & 55 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
---
22
- op: replace
33
path: /spec/generators/0/clusters/values/environment
4-
value: external-production
4+
value: production/external
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
---
22
- op: replace
33
path: /spec/generators/0/clusters/values/environment
4-
value: external-staging
4+
value: staging/external
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
---
22
- op: replace
33
path: /spec/generators/0/clusters/values/environment
4-
value: internal-production
4+
value: production/internal
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
---
22
- op: replace
33
path: /spec/generators/0/clusters/values/environment
4-
value: internal-staging
4+
value: staging/internal

components/argocd-repo-secrets/external-production/kustomization.yaml renamed to components/argocd-repo-secrets/production/external/kustomization.yaml

File renamed without changes.

components/argocd-repo-secrets/external-production/redhat-appstudio-externalsecret.yaml renamed to components/argocd-repo-secrets/production/external/redhat-appstudio-externalsecret.yaml

File renamed without changes.

components/argocd-repo-secrets/external-staging/kustomization.yaml renamed to components/argocd-repo-secrets/production/internal/kustomization.yaml

File renamed without changes.

components/argocd-repo-secrets/internal-production/redhat-appstudio-externalsecret.yaml renamed to components/argocd-repo-secrets/production/internal/redhat-appstudio-externalsecret.yaml

File renamed without changes.

components/argocd-repo-secrets/internal-production/kustomization.yaml renamed to components/argocd-repo-secrets/staging/external/kustomization.yaml

File renamed without changes.

components/argocd-repo-secrets/external-staging/redhat-appstudio-externalsecret.yaml renamed to components/argocd-repo-secrets/staging/external/redhat-appstudio-externalsecret.yaml

File renamed without changes.

0 commit comments

Comments
 (0)