
GitOps promises a clean model: the Git repository is the single source of truth, and automated controllers continuously reconcile the live system to match it. In a demo, it's elegant. In a large enterprise, it often turns into drift, sprawl, and 2 a.m. incidents — not because the tools are broken, but because the operating discipline GitOps demands was never taught.
These failure modes aren't hypothetical. In one assessment of an enterprise financial-services technology company, we found a Git estate with roughly 476 repositories and more than 2,000 pipeline definitions — about 1,180 build and 840 release — mostly standalone with no shared templates. That's sprawl at a scale where no one can confidently say what's deployed where.
Underneath it were exactly the discipline gaps that make GitOps dangerous: no naming convention and no enterprise policy baseline; every developer able to read every repository; branch policies set per-repo and varying from team to team; likely unrotated secrets sitting in older repositories' git history; and audit logs not streamed anywhere, with a 90-day default retention. Secret sprawl was the norm — service principals with secrets and personal access tokens used heavily.
Not one of those is a missing feature in Argo CD or Flux. Every one is a capability-and-discipline gap.
Adding Argo CD or Flux doesn't create the discipline; it assumes it. GitOps moves the hard problems into Git, which only helps if the team can use Git as an operational control plane rather than just a place to store code. The tool is the easy part. The operating model is the hard part — and it's the part that's usually skipped.
Because GitOps is a team discipline, it has to be learned as one — hands-on, in a realistic reconciled environment, with deliberate break-and-fix drills so people have handled drift and rollback before it happens for real in production. That's how we approach it at CloudCamp: teams practicing the operating model, not just watching the tool.
Enterprise GitOps failures are rarely tooling failures — they're capability gaps. The organizations that succeed with GitOps are the ones that treated it as a new way of operating and trained their teams to run it, rather than assuming the controller would supply the discipline on its own.
