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.

Get started
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.

If you are new to Flux, you might want to check out some of the following resources to get started.

The Evolution of Flux v2 with Stefan Prodan

Stefan introduces Flux v2, explains why it was reshaped into a composable continuous delivery solution that goes beyond Git sync to accommodate multi-tenancy, infrastructure dependencies and cluster-api fleet management.

The Power of GitOps with Flux v2 & GitOps Toolkit with Leigh Capili

Leigh demos bootstrapping with GitOps Toolkit, app deployment, and monitoring with Prometheus.

Flux v2 for Helm Users with Scott Rigby

Scott covers what to keep in mind as Helm 2 support ends, the benefits of Helm Controller, and how to migrate from Helm Operator to Helm Controller.

Managing Remote Clusters with Flux v2 (CAPI demo) with Leigh Capili

Leigh covers cluster API integration, dependency management & ordering, security model updates, and delegation & multi-tenancy via users.

Flux v2 overview, demo, & review with Viktor Farcic

Stefan introduces Flux v2, explains why it was reshaped into a composable continuous delivery solution that goes beyond Git sync to accommodate multi-tenancy, infrastructure dependencies and cluster-api fleet management.

Flux v2 Deep Dive series with Geert Baeke

In this 5 video series, Geert Baeke takes a deep dive of Flux v2 and the use of GitOps principles with an Intro to Flux v2, Intro to Kustomize, Deploying Manifests, Monitoring & Alerting, and Helm Basics.

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.

GitOps Toolkit

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

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
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!

Read more …

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.

Read more …

Mailing list

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

Join the mailing list!

Read more …

Flux is a Cloud Native Computing Foundation Incubation project