A configuration repository is a version-controlled repository that declares which services belong in a deployment environment. An environment pipeline reads this configuration and applies it to the target Kubernetes cluster. section 4.1.4
Common implementation patterns include:
- Store Kubernetes YAML files in Git and apply them with kubectl; this is simple but can duplicate service definitions across repositories and environments. section 4.1.4
- Create a parent Helm chart whose dependencies represent the services in the environment; this requires every service to be packaged as a Helm chart. section 4.1.4
- Use helmfile to declaratively list the Helm releases that belong in the environment, then synchronize them with helmfile sync. section 4.1.4
Promotion through GitOps
A platform can create an environment repository, grant the appropriate team access, and use a pull request to promote a service into a more sensitive environment. An environment pipeline then coordinates the deployment, while GitOps tools such as Argo CD reconcile the declared configuration. section 4.4

