Flux
A GitOps tool that keeps a Kubernetes cluster continuously reconciled with manifests stored in Git.
- Category: App Definition & GitOps
- CNCF maturity: Graduated
- Language: Go
- License: Apache-2.0
- Repository: fluxcd/flux2
- Documented at commit:
65d975b(main, 2026-06-19; nearest tagv2.8.8)
What it is
Flux delivers Kubernetes configuration from Git. You commit YAML to a repository, and a set of in-cluster controllers pull that state and apply it, repeatedly, so the cluster converges on what Git says. Nothing is pushed from a developer laptop or a CI runner into the cluster.
The fluxcd/flux2 repository is two things. The flux CLI handles day-0 work: it bootstraps a cluster, generates manifests, and inspects state (cmd/flux/main.go:43). The continuous reconciliation is done by the GitOps Toolkit controllers, which live in separate repositories and are pulled in as API modules through go.mod. The default install brings up source-controller, kustomize-controller, helm-controller, and notification-controller (pkg/manifestgen/install/options.go:46).
A defining trait is that Flux puts itself under GitOps management. After bootstrap, Flux's own component manifests live in Git and are reconciled by the in-cluster kustomize-controller like any other workload. Upgrading Flux becomes a commit, and the CLI is not required after day 1.
When to use it
- You want a pull-based GitOps model where each cluster reconciles itself, with no central push from CI.
- You run many clusters or edge environments and want a small in-cluster footprint per cluster.
- You treat Helm as a first-class delivery mechanism and want
HelmReleaseobjects reconciled by a controller instead of rendered in CI. - You need native SOPS decryption for secrets inside the reconcile loop.
- It is a weaker fit when your team wants a single central control plane with a rich web UI as the primary interface; Argo CD targets that shape more directly.
In this deep-dive
- History: origin, milestones, and why it exists.
- Architecture: components and how requests flow.
- Adoption & Ecosystem: who runs it and what surrounds it.
- Internals: the code paths that matter, read from source.
- Getting Started: install and a first working setup.
Sources
- fluxcd/flux2 repository (source, LICENSE, go.mod, Makefile), accessed 2026-06-22.
- Flux Graduates from the CNCF Incubator, accessed 2026-06-22.
- Flux is a CNCF Graduated project, accessed 2026-06-22.
- What is Flux CD? (CNCF), accessed 2026-06-22.
- An introduction to Flux, Part 1: History and features (Platform9), accessed 2026-06-22.
- Flux Adopters, accessed 2026-06-22.
- Flux vs Argo CD (Northflank), accessed 2026-06-22.