Flux - the GitOps family of projects

Flux is a set of continuous and progressive delivery solutions for Kubernetes, and they are open and extensible.

Flux v2 will be GA within the next few months! This means that Flux v1 will be deprecated before the end of 2021, so now is a good time to start using v2.

Terminal
              
            

GitOps at your fingertips

Flux is a collection of tools for keeping Kubernetes clusters in sync with sources of configuration (like Git repositories), and automating updates to configuration when there is new code to deploy.

Declarative

Describe 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 are synced automatically.

Auditable

Everything is controlled through pull requests. Your Git history provides a sequence of transactions, allowing you to recover state from any snapshot.

Designed for Kubernetes

Declaratively configurable using Custom Resources, state reports in the object’s status and via Kubernetes Events, and integrations with Kubernetes RBAC.

Out-of-the-box integrations

Support for e.g. Kustomize, Helm; GitHub, GitLab, Harbor and custom webhooks; notifications to most team communication platforms; and many more.

Extensible

Easily create a continous delivery solution with only the components you need, or use the GitOps Toolkit to extend Flux.

Other Flux projects

GitOps Toolkit illustration

GitOps Toolkit

The set of APIs and controllers that make up the runtime for Flux. You can use the GitOps Toolkit to extend Flux, and to build your own systems for continuous delivery.

Flagger

Kubernetes Operator for the automation of promoting canary deployments using Istio, Linkerd, App Mesh, NGINX, Skipper, Contour, Gloo or Traefik routing for traffic shifting, and Prometheus metrics for canary analysis.

The canary analysis can be extended with webhooks for running system integration/acceptance tests, load tests, or any other custom validation.

Flagger illustration

Flux v1 and Helm Operator

We owe our success and good reputation as GitOps project to Flux and Helm Operator. They are the v1 iteration of our project and currently in maintenance mode.

We strongly advise everyone to familiarise themselves with Flux v2 and start the process of migrating.

Flux v1 and Helm Operator illustration

Community

The Flux project aspires to be the vendor-neutral home for GitOps in a Cloud Native world.
What we achieved up until today is only possible because of our community.

GitHub Discussions

Join the conversation in GitHub Discussions. Everything Flux v2 related ranging from specificiations and feature planning to Show & Tell happens here.

Join the discussion today!

Slack

If you want to talk to the Flux team and community in real-time, join us on Slack. This is a great way to get to know everyone.

Get an invite, or go to the #flux channel

Mailing list

Join our (low-traffic) mailing list to stay up to day on announcements and sporadic discussions.

Join the mailing list!

Flux is a Cloud Native Computing Foundation sandbox project