liveBook · Manning

Configuration repository

As explained in Platform Engineering on Kubernetes

A version-controlled repository containing the configuration that specifies which services and resources belong in a deployment environment.

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

How Platform Engineering on Kubernetes covers it

How deep it goes
Compares YAML, Helm, and helmfile implementations, including duplication, release, and packaging trade-offs.
Examples
Uses kubectl apply, Helm dependencies, helmfile sync, pull requests, and Git repositories for environment promotion.
What it assumes
Assumes Kubernetes deployment knowledge and requires Helm charts when using parent-chart dependencies.
What you can do after
Operate environment deployments by declaring services in Git and selecting kubectl, Helm, or helmfile-based pipeline synchronization.
How it connects
Connects Kubernetes manifests, Helm charts, Helm releases, GitOps, Argo CD, environment pipelines, and golden paths.

Also explained in

Compare how 2 books explain configuration repository →

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Platform Engineering on Kubernetes. The section links point to the parts of the book it draws on.