What is Flux (fluxcd.io)?

Updated

Flux is a set of continuous and progressive delivery solutions for Kubernetes, and it is a CNCF Graduated project. It is open and extensible, its APIs are stable, and its core idea is GitOps: you describe the desired state of your system in Git, and Flux reconciles the cluster to match it. If you run Kubernetes and want deployments driven by Git rather than by manual kubectl commands, Flux is built for that workflow.

What problem Flux solves

Kubernetes tells you how to run workloads, but not how to keep a cluster continuously aligned with what you intended. Flux closes that gap:

  • Declarative and automated — Describe the entire desired state of your system in Git, including apps, configuration, dashboards, and monitoring. YAML enforces conformance to the declared system, and changes are synced automatically, so you don't need to run kubectl yourself.
  • Auditable — Everything is controlled through pull requests. Your Git history becomes a sequence of transactions, letting you recover state from any snapshot.
  • Continuous delivery (CD) — Push to Git and Flux does the rest through automatic reconciliation.
  • Progressive delivery (PD) — With Flagger, Flux deploys apps using canaries, feature flags, and A/B rollouts.

Key capabilities

GitOps for apps and infrastructure

Flux can manage any Kubernetes resource, not just application workloads. Infrastructure and workload dependency management is built in, so ordering between infrastructure and the apps that depend on it is handled for you.

Works with your existing tools

Flux works with your Git providers (GitHub, GitLab, Bitbucket, and even S3-compatible buckets as a source), all major container registries, fully integrates with OCI, and works with all CI workflow providers. It supports common tooling such as Kustomize and Helm, plus GitHub, GitLab, Harbor, and custom webhooks, with notifications on Slack.

Automated image updates

Flux can push back to Git for you: it scans container images and patches manifests, so image updates flow through Git like any other change.

Security by design

Flux follows a pull-based model with the least amount of privileges, adheres to Kubernetes security policies, and integrates tightly with security tools and best practices.

Multi-tenancy and multi-cluster

Flux uses true Kubernetes RBAC via impersonation and supports multiple Git repositories. Multi-cluster infrastructure and apps work out of the box with Cluster API: one Kubernetes cluster can manage apps in the same or other clusters, spin up additional clusters, and manage clusters including lifecycle and fleets.

Who it is for

Flux fits teams that:

  • Run Kubernetes and want Git to be the single source of truth for both apps and infrastructure.
  • Need an audit trail and rollback via Git history and pull requests.
  • Want progressive delivery (canaries, A/B, feature flags) without bolting on a separate system.
  • Operate multiple clusters or tenants and need RBAC-based isolation.
  • Already use Helm, Kustomize, or OCI artifacts and want them reconciled automatically.

If you only need one-off kubectl apply runs, or you have no Git-based workflow, Flux adds process you may not need.

Getting started

The project publishes a "Get started" entry point on fluxcd.io, and the current release is Flux 2.9 GA. The community also holds regular project meetings — for example, the CNCF Flux Project Meeting is scheduled for 2026-09-23 at 12:00 UTC via Zoom. For the latest setup instructions and version-specific details, start from the official site rather than third-party guides.