In several places on the Kubernetes documentation site they recommend that you store your configuration YAML files inside source control for easy version-tracking, rollback, and deployment.
My colleagues and I are currently in the process of trying to decide on the structure of our git repository.
- We have decided that since configuration can change without any changes to the app code, that we would like to store configurations in a separate, shared repository.
- We may need multiple versions of some components running side-by-side within a given environment (cluster). These versions may have different configurations.
There seem to be a lot of potential variations, and all of them have shortcomings. What is the accepted way to structure such a repository?