Once more than one person on a team has kubectl access to a cluster, the live state and the state in Git start drifting apart. Someone patches a deployment at 2am to stop a page, forgets to commit the fix, and a routine sync three weeks later quietly reverts it. GitOps tools exist to close that gap by treating the repository as the only thing allowed to change the cluster. I went deeper on this, including the actual install-manifest byte counts, in a longer writeup on DevToolLab - here's the short version.
The Pull Model, Briefly
GitOps flips the usual deploy step: instead of CI running kubectl apply, a controller living inside the cluster watches a repo and continuously reconciles the running state to match it. CI's job ends at a commit, nothing pushes from the pipeline. That also means a GitOps controller is not a CI system - it will not build your images, so pair it with whatever already handles that half of the pipeline.
Argo CD: The One With a UI
Argo CD runs as a full application platform inside the cluster: an API server, a repo server, an application controller, a Redis cache, and a web UI that draws the resource tree for every app it manages. CNCF's 2025 End User Survey, published July 2025, found it running in close to 60% of Kubernetes clusters doing application delivery, with 97% of respondents in production. Worth reading with a grain of salt, since CNCF and the Argo maintainers ran that survey among Argo CD's own users.
The UI is why most teams reach for it first, a live diff against Git plus sync status and health, all clickable without a training session. What it does not do natively is move image tags: something else, Argo CD Image Updater or a CI step, has to write the new tag into Git. Version 3.0.0 also tightened two RBAC defaults in a way that locks people out of the dashboard on upgrade day if nobody reads the changelog first.
Apache 2.0, currently at v3.5.3, CNCF graduated in December 2022.
Flux: No Server, No Dashboard
Flux is the inverse shape, a handful of small controllers (source, Kustomize, Helm, notification, and two optional image controllers) driven entirely by custom resources and a CLI. No server process, nothing to log into.
Image automation is the standout feature here: the image reflector and automation controllers watch a registry, apply a tag policy, and commit the result back to Git with zero extra tooling. Helm gets first-class treatment too, since HelmRelease runs real Helm releases with drift correction, and v2.8.0 from February 2026 added Helm v4 support. The tradeoff is that there is no dashboard, status lives in flux get output, which a platform team is fine with and a developer wanting a link to click is not.
Worth asking before adopting anything: who is actually funding it? Weaveworks, which coined the term GitOps and built Flux, shut down commercial operations in February 2024. The project did not stall, ControlPlane hired the core maintainers as full-time staff two weeks later, and Flux has shipped two feature releases in 2026 alone.
Apache 2.0, v2.9.5, CNCF graduated November 2022.
What's Actually in the Box
The size difference between the two projects is almost entirely CRD schema, not running software. Pulling both projects' published install manifests and counting objects: Argo CD's standard install is 59 objects across 1.9 MB, of which 1.78 MB is just the Application and ApplicationSet CRD schemas. Flux's install is 43 objects across 334 KB, spreading 15 CRDs over 315 KB. Both run exactly seven containers by default, so "Flux is lighter" is mostly a myth at the process level. The real difference shows up in HA mode, where Argo CD adds a StatefulSet and three containers for its Redis dependency and Flux adds nothing because it keeps no cache to lose.
The Fleet-Scale Tools
Two smaller projects solve a different problem: pushing config to many clusters selected by label instead of named one at a time.
Rancher Fleet is SUSE's built-in GitOps engine for Rancher, aimed at cluster count over application complexity. If you already run Rancher, you likely already have this, so do not stand up a second controller to do the same job.
Sveltos distributes add-ons to label-matched clusters, turning "every production cluster in us-east-1 gets this Helm chart" into one resource. It is a genuinely useful idea sitting on 575 GitHub stars, which is the caveat.
Argo Rollouts is not a GitOps controller at all, it is the progressive-delivery layer (canary, blue-green) teams usually want once the base sync is working.
What the Managed Options Cost
Both core projects are free, the money is in hosted control planes. Akuity, founded by Argo's original creators, prices its Pro tier at $495/month for one Argo CD instance, one Kargo instance, and a starting allocation of 50 applications.
On the Codefresh side, the pricing URL now redirects straight to Octopus Deploy's pricing page following that acquisition. Octopus Cloud runs free up to 10 projects, then $4,330/year for Professional. Flux's commercial story is different: ControlPlane sells support and hardened builds around software you already run, not a hosted service you log into.
Picking One
A few questions cut through the feature-matrix noise faster than a checklist:
- Who needs to see deploy status? If application developers need self-service visibility, that is Argo CD's UI doing the actual work.
- Who moves the image tag? If you want the registry driving deploys with no CI step writing back to Git, Flux's image controllers do that out of the box.
- What does your platform already ship? Rancher bundles Fleet. Running a second controller next to a bundled one is a common, avoidable mistake.
- Is $495/month cheaper than running it yourself? At small scale, usually not, but it is worth pricing out rather than assuming.
The full comparison table, with every version number and star count verified against the GitHub API on the original publish date, is in the DevToolLab writeup.
Conclusion
The commercial drama in this category already resolved in favor of the software: Weaveworks folded and Flux kept shipping anyway. So the real decision is shape, not survival odds. Argo CD is a product you hand to developers. Flux is an engine you hand to a platform team that is comfortable in a terminal. Before writing the manifests that either one will reconcile, DevToolLab's Kubernetes YAML Generator scaffolds the Deployment and Service objects, and the Semver Calculator works out the next tag before an image-automation policy grabs it from your registry.



Top comments (0)