← Blog

GitOps Is Not Just ArgoCD

Understanding the GitOps principles and why tooling is the easy part

gitopsargocddevopsculture

GitOps has become one of the most overloaded terms in the DevOps space. You mention it in a meeting and everyone nods — but ask them to define it and you’ll get five different answers.

Let me offer a cleaner mental model.

GitOps is a set of principles, not a tool

The OpenGitOps project defines four core principles:

  1. Declarative — The desired state of the system is expressed declaratively
  2. Versioned and immutable — The desired state is stored in a way that preserves history
  3. Pulled automatically — Approved changes are applied automatically
  4. Continuously reconciled — Software agents continuously ensure actual state matches desired state

Notice that none of these say “use ArgoCD” or “use Flux.”

The real shift is cultural

The hardest part of GitOps adoption isn’t deploying ArgoCD. It’s convincing your team that:

  • Git is the source of truth — no more kubectl apply from laptops
  • PRs are deployment mechanisms — every change goes through review
  • Drift is an incident — your cluster should match your repo, always

This requires discipline and buy-in. Tools can enforce it, but the culture has to come first.

When GitOps doesn’t fit

GitOps is brilliant for application workloads. It’s awkward for:

  • Stateful systems — databases don’t reconcile well
  • Secret bootstrapping — you can’t put secrets in Git (use External Secrets Operator)
  • One-off operations — runbooks and debug sessions live outside the GitOps flow

My take

Adopt GitOps for its principles. Pick a tool (ArgoCD, Flux, whatever) that fits your team’s preferences. But don’t mistake installing ArgoCD for “doing GitOps” — the mindset shift is where the real value lives.


What’s your experience with GitOps adoption? I’d love to hear in the comments or on Discord.

Anatole HAGBE

Anatole HAGBE

DevOps & Cloud Engineer

Passionate about building resilient infrastructure, automating everything I can, and making systems scale beautifully. I live in the terminal and dream in YAML.