CoursesFluxBeginner

What Flux is: the GitOps toolkit

Composable reconciler controllers.

Advanced12 min · lesson 1 of 12

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.

The GitOps Toolkit controllers
fetch
source-controller
GitRepository, HelmRepo, OCI, Bucket
apply
kustomize-controller
reconcile manifests/overlays
helm-controller
reconcile HelmReleases
extend
image-controllers
auto image updates to Git
notification-controller
alerts + webhook receivers
Each controller is one CRD-driven job. Use only what you need; they compose into a full GitOps pipeline.

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.

Flux holds cluster power like any GitOps controller
Modular or not, Flux’s controllers reconcile Git into the cluster with the permissions to create and delete resources — so Flux, and the Git it trusts, are a deployment authority over the cluster. The same threat model as Argo CD applies: protect the Git source, scope Flux’s RBAC, and verify what it pulls. The toolkit shape changes the ergonomics, not the security stakes.