ArgoCD › GitOps Principles

How do you separate application code repos from configuration repos, and why?

Advanced

Answer

Keep source code in app repos and deployment manifests/config in separate config repos (or a dedicated GitOps repo). This decouples build from deploy, lets ArgoCD watch only config, avoids triggering deploys on every code commit, and cleanly separates developer and operational concerns and access.
Real-world example CI builds an image and opens a PR to the config repo bumping the tag; ArgoCD watches only that config repo.

Common follow-ups: Why not watch the app code repo? | How does the image tag get updated?