📣 Flux v1 is in maintenance mode! We will soon start publishing guides which help you migrate Flux v2 and the GitOps Toolkit. Learn more and join the discussion!
Flux is a tool that automatically ensures that the state of your Kubernetes cluster matches the configuration you’ve supplied in Git. It uses an operator in the cluster to trigger deployments inside Kubernetes, which means that you don’t need a separate continuous delivery tool.


Describe the entire desired state of your system in Git. This includes apps, configuration, dashboards, monitoring, and everything else.


Use YAML to enforce conformance to the declared system. You don’t need to run kubectl because all changes go through Git. Use diffing tools to detect divergence between observed and desired state and receive notifications.

Code, not containers

With Flux, everything is controlled through pull requests, which means no learning curve for new developers. Just use your standard PR process. Your Git history provides a sequence of transactions, allowing you to recover system state from any snapshot. Fix a production issue via pull request rather than making changes to the running system.

The Flux workflow

Flux monitors all of the container image repositories that you specify. It detects new images, triggers deployments, and automatically updates the desired running configuration of your Kubernetes cluster—and does so within the bounds of a configurable deployment policy.

Flux is a Cloud Native Computing Foundation sandbox project