What Flux is: the GitOps toolkit
Composable reconciler controllers.
Flux is a GitOps tool for Kubernetes, but where Argo CD is one feature-rich application, Flux is a toolkit — a set of small, composable controllers collectively called the GitOps Toolkit. Each controller does one job and is driven by its own custom resources: the source-controller fetches desired state, the kustomize-controller and helm-controller reconcile it into the cluster, the image-controllers automate image updates, and the notification-controller handles events in and out. You assemble the ones you need.
The philosophy is Kubernetes-native and API-first: everything in Flux is a CRD you apply and manage like any other resource, there is no built-in UI by default, and the controllers compose cleanly with each other and with the rest of the cluster. The core loop is identical to any GitOps system — pull desired state from a source, continuously reconcile the cluster to match — but delivered as modular pieces rather than a monolith. That modularity is Flux’s defining trait.
Why the toolkit shape
Composability means you can adopt Flux incrementally (just source + kustomize to start), swap or extend pieces, and integrate deeply with Kubernetes RBAC and controllers because everything is a resource. It appeals to platform teams who want GitOps as a set of building blocks rather than a product with a console. The trade versus Argo CD is fewer batteries-included niceties (no default UI, multi-tenancy assembled from primitives) in exchange for a leaner, more Kubernetes-idiomatic system.