ArgoCD - config "promotion" patterns
Our current approach:
- ArgoCD repo holds manifests and configs per environment
- separate code repo
We have CI/CD pipeline which promotes application artifact by simply updating image tag in manifests for given environment. This works well.
But we have 5 environments which makes app config management messy.
If new application version requires some change to application config (for example new config value holding URL to new internal service we need to integrate with), currently we prepare PRs for each environment upfront and then simply merge them during version deployment - at the moment config merge is manual step but we are about to make it automated during CI/CD.
And again this generally works but with larger number of environments (we started with 2, now 5, don't ask why, it is how it is 🤣) we feel this is getting messy. Developers making changes in code repo need to remember to create ~5 PRs in ArgoCD repo after they made changes requiring new configs.
How do you deal with such config "promotion". This is not typical promotion as I am obviously talking about config values which differ per environment (dev needs different URL, prod needs different) but all environments need to have them set.