Flux - the GitOps family of projects

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

The latest version of Flux brings many new features, making it more flexible and versatile.

Flux is a CNCF Incubating project.

Get started
Terminal
              
            

Flux in short

🤝
Flux provides GitOps for both apps and infrastructure
Flux and Flagger deploy apps with canaries, feature flags, and A/B rollouts. Flux can also manage any Kubernetes resource. Infrastructure and workload dependency management is built in.
🤖
Just push to Git and Flux does the rest
Flux enables application deployment (CD) and (with the help of Flagger) progressive delivery (PD) through automatic reconciliation. Flux can even push back to Git for you with automated container image updates to Git (image scanning and patching).
🔩
Flux works with your existing tools
Flux works with your Git providers (GitHub, GitLab, Bitbucket, can even use s3-compatible buckets as a source), all major container registries, and all CI workflow providers.
☸️
Flux works with any Kubernetes and all common Kubernetes tooling
Kustomize, Helm, RBAC, and policy-driven validation (OPA, Kyverno, admission controllers) so it simply falls into place.
🤹
Flux does Multi-Tenancy (and “Multi-everything”)
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: Flux can use one Kubernetes cluster to manage apps in either the same or other clusters, spin up additional clusters themselves, and manage clusters including lifecycle and fleets.
📞
Flux alerts and notifies
Flux provides health assessments, alerting to external systems, and external events handling. Just “git push”, and get notified on Slack and other chat systems.
👍
Users trust Flux
Flux is a CNCF Incubating project and was categorised as "Adopt" on the CNCF CI/CD Tech Radar (alongside Helm).
💖
Flux has a lovely community that is very easy to work with!
We welcome contributors of any kind. The components of Flux are on Kubernetes core controller-runtime, so anyone can contribute and its functionality can be extended very easily.

Adopted by

TietoEVRY VNClagoon Nexxiot FourteenFish Bedag Informatik AG Xenit sngular bimspot iits-consulting Yad2 AdoreMe identinet Sortlist Cloudogu GmbH NetHunt Omaze Weaveworks Alea Cybrary BlueStone AG particule. Bink Liggo Quivr happn Luminovo Virginia Tech HybridK8s Canva Mettle HMCTS MacPaw blackmirror media Sage AI Labs SoulCycle D2iQ Crayon

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 continuous delivery solution with only the components you need, or use the GitOps Toolkit to extend Flux.

Some of the biggest organisations have adopted the Flux family of projects for their GitOps needs.

See who is part of our community and how about joining yourself?

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 related ranging from specifications and feature planning to Show & Tell happens here.

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 a Slack 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.

Our Team Calendar

The upcoming meetings, talks and community events in the next month are listed below. (All times are UTC.)

  • 2021-12-08
    12:00
    CNCF Flux Project Meeting (early)
    Meeting agenda, minutes and videos: here
    Join Zoom Meeting here
    Meeting ID: 438 118 8348 One tap mobile +19292056099,,4381188348# US (New York) +13017158592,,4381188348# US (Germantown) Dial by your location +1 929 205 6099 US (New York) +1 301 715 8592 US (Germantown) +1 312 626 6799 US (Chicago) +1 253 215 8782 US (Tacoma) +1 346 248 7799 US (Houston) +1 669 900 6833 US (San Jose) 877 853 5247 US Toll-free 888 788 0099 US Toll-free Meeting ID: 438 118 8348 Find your local number: here
  • 2021-12-09
    16:00
    How to Deploy Traefik in Kubernetes with GitOps
    Kubernetes can be cumbersome to deploy at scale, as manual configurations are time-consuming and prone to human error. With GitOps, a single source of truth automates the configuration of clusters, empowering developers to own the lifecycle of Kubernetes clusters and deploy at scale. In this special presentation with Kingdon Barrett (Open Source Engineer at Weaveworks and Flux Maintainer) and Jakub Hajek (Product Adoption Specialist at Traefik Labs) they will explore the framework in detail. You'll walk away understanding how: * A declarative approach allows teams to contribute collaboratively and at scale * A single source of truth for managing Traefik can be maintained in Git * GitOps can simplify the lifecycle of Kubernetes clusters * Traefik configurations can be managed on multiple clusters and environments using GitOps with Flux Join us and level up your Traefik deployment with GitOps. Register Here: here
  • 2021-12-09
    18:00
    The Flux Bug Scrub
    Join Zoom Meeting here
    Meeting ID: 858 2173 8864 Passcode: 660308
  • 2021-12-15
    13:00
    The Flux Bug Scrub
    Join Zoom Meeting here
    Meeting ID: 858 2173 8864 Passcode: 660308
  • 2021-12-16
    15:00
    CNCF Flux Project Meeting (late)
    Meeting agenda, minutes and videos: here
    Meeting ID: 438 118 8348 One tap mobile +19292056099,,4381188348# US (New York) +13017158592,,4381188348# US (Germantown) Dial by your location +1 929 205 6099 US (New York) +1 301 715 8592 US (Germantown) +1 312 626 6799 US (Chicago) +1 253 215 8782 US (Tacoma) +1 346 248 7799 US (Houston) +1 669 900 6833 US (San Jose) 877 853 5247 US Toll-free 888 788 0099 US Toll-free Meeting ID: 438 118 8348 Find your local number: here
  • 2021-12-22
    12:00
    CNCF Flux Project Meeting (early)
    Meeting agenda, minutes and videos: here
    Join Zoom Meeting here
    Meeting ID: 438 118 8348 One tap mobile +19292056099,,4381188348# US (New York) +13017158592,,4381188348# US (Germantown) Dial by your location +1 929 205 6099 US (New York) +1 301 715 8592 US (Germantown) +1 312 626 6799 US (Chicago) +1 253 215 8782 US (Tacoma) +1 346 248 7799 US (Houston) +1 669 900 6833 US (San Jose) 877 853 5247 US Toll-free 888 788 0099 US Toll-free Meeting ID: 438 118 8348 Find your local number: here
  • 2021-12-23
    18:00
    The Flux Bug Scrub
    Join Zoom Meeting here
    Meeting ID: 858 2173 8864 Passcode: 660308
  • 2021-12-29
    13:00
    The Flux Bug Scrub
    Join Zoom Meeting here
    Meeting ID: 858 2173 8864 Passcode: 660308
  • 2021-12-30
    15:00
    CNCF Flux Project Meeting (late)
    Meeting agenda, minutes and videos: here
    Meeting ID: 438 118 8348 One tap mobile +19292056099,,4381188348# US (New York) +13017158592,,4381188348# US (Germantown) Dial by your location +1 929 205 6099 US (New York) +1 301 715 8592 US (Germantown) +1 312 626 6799 US (Chicago) +1 253 215 8782 US (Tacoma) +1 346 248 7799 US (Houston) +1 669 900 6833 US (San Jose) 877 853 5247 US Toll-free 888 788 0099 US Toll-free Meeting ID: 438 118 8348 Find your local number: here
  • 2022-01-05
    12:00
    CNCF Flux Project Meeting (early)
    Meeting agenda, minutes and videos: here
    Join Zoom Meeting here
    Meeting ID: 438 118 8348 One tap mobile +19292056099,,4381188348# US (New York) +13017158592,,4381188348# US (Germantown) Dial by your location +1 929 205 6099 US (New York) +1 301 715 8592 US (Germantown) +1 312 626 6799 US (Chicago) +1 253 215 8782 US (Tacoma) +1 346 248 7799 US (Houston) +1 669 900 6833 US (San Jose) 877 853 5247 US Toll-free 888 788 0099 US Toll-free Meeting ID: 438 118 8348 Find your local number: here
  • 2022-01-06
    18:00
    The Flux Bug Scrub
    Join Zoom Meeting here
    Meeting ID: 858 2173 8864 Passcode: 660308

See this page for more detail and subscription options.

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

Find more on our dedicated resources page.

The Power of GitOps with Flux Playlist

This playlist is designed to show the powerful GitOps capabilities of Flux (and the GitOps Toolkit). Videos include project overviews, reviews, technical demos, and walk-throughs of our guides.

Flux Deep Dive with Stefan Prodan

Stefan walks through what Flux is, who it’s for and its components. Then gives a demo on how to use Flux for delivering infrastructure and applications changes onto Kubernetes.

From Wild West to Flux Multi-tenancy with Mae Large & Russ Parmer

Mae and Russ share how the State Farm GitOps team helped to simplify application deployment while meeting compliance requirements, enable the admin team to handle scale and embrace the declarative nature of Kubernetes.

Flux’s Catalog - Keeping Track of Things! with Leigh Capili

Leigh Capili gives us a black belt, under-the-covers look at how Flux’s kustomize-controller tracks the child objects for a Kustomization in the Kubernetes API.

Handling Dependencies with Flux with Jason Morgan

Jason walks through how to use Flux’s dependency manager to ensure that your apps get added to your mesh every time.

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 the latest version of Flux and start the process of migrating.

Flux v1 and Helm Operator