ADR-001: Hybrid Helm + Kustomize GitOps Architecture
Context
Deploying raw Kubernetes manifests across multiple workspaces leads to hardcoded configurations and scalability issues.
Decision
We will adopt a hybrid approach:
- Helm manages the complex templating and packaging of base infrastructure components.
- Kustomize acts as the overlay manager, injecting environment-specific variables, local
.envfiles (viasecretGenerator), and dynamically replacing fields like the Project Domain in Ingress objects. - Skaffold orchestrates the local dev loop by invoking Kustomize with
--enable-helm.
Consequences
- Clean separation of upstream chart logic from local configurations.
- Seamless deployment for new monorepo forks without manually editing YAML files.