The GitOps operator for Kubernetes


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.

Declarative

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

Automated

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 in within the bounds of a configurable deployment policy.

Flux is a Cloud Native Computing Foundation sandbox project