Flux turns 10! | Flux
View page source<br>Edit this page<br>Create child page<br>Create documentation issue<br>Create project issue
Tags<br>announcement19<br>ecosystem8<br>enterprise1<br>event8<br>flagger1<br>fluxcon1<br>monthly-update29<br>oci4<br>scale1<br>security9<br>user-story1
Flux turns 10!<br>Our beloved project is 10 today. Let’s look back on how we got here<br>By Leigh Capili |<br>2026-07-07
On Jul 7, 2016, Peter Bourgon made the initial commit<br>a6fbd68a to iterate on a fresh way to do continuous delivery.<br>Today, that commit is one decade old, and we celebrate 10 years of Flux.<br>“Happy Birthday to Flux, the project that anticipated all of my needs and solves all my problems on a daily basis!”<br>— Kingdon Barrett, Flux Maintainer, DevOps Engineer @ Navteca
The early repo shows Peter and Michael Bridgen implementing the fluxd daemon and fluxctl CLI; the repo also contains user stories on why people might want to use flux.<br>An<br>accompanying blogpost from Weaveworks invents the term GitOps with a relatable anecdote about production outages, disaster recovery, and “Operations by Pull Request.”<br>By<br>August 2018, Stefan Prodan has joined Michael in contributing to the project.<br>At this stage, Flux is gaining adoption amongst edgy teams of practitioners deploying Kubernetes v1.11.<br>Flux runs inside your namespace, and dev teams can install it fully self-service.<br>It clones your repo, runs scripts, checks container registries for image tags, and applies your changes with kubectl.<br>GitOps is taking off, and Kubernetes is becoming people’s day jobs.<br>Extending Kubernetes<br>2016 also brings us a blog post from a company called CoreOS:<br>Introducing Operators: Putting Operational Knowledge into Software [archive]<br>It introduces “The Operator Pattern”, which pairs Kubernetes’ Third Party Resources with a controller implementing some domain knowledge around software to assist SREs.<br>The diagrams are lovely.<br>CoreOS works with others upstream and in the following year Custom Resource Definitions (CRDs) replace TPRs in Kubernetes 1.7.<br>We start thinking about this in the Flux project, and in 2018 Tamara Kaufler writes the first iteration of Helm Operator:<br>flux#947.<br>We all get our first real taste of GitOps for Helm.<br>Helm is still v2, so it still uses the Tiller in-cluster daemon. Remember that?<br>In<br>May of 2019 Hidde Beydals joins Stefan in contributing to Helm Operator, and we’re learning how to evolve APIs and support a growing adopter list:<br>[archive link]<br>Rebuilding Flux<br>Four years of the early Kubernetes/Go/Helm ecosystem flies by in a blur.<br>Some of the early decisions in Flux start causing pain. Flux is a single binary monolith that is also disjoint from Helm Operator.<br>Users grow Flux well beyond the initial scope and are leaning into multi-tenant clusters and global, cross-organization deployments.<br>The team starts an experiment to break apart the GitOps problem into separate pieces, all implemented with CRDs and kubernetes/controller-runtime.<br>This lets us decouple the source fetching logic into its own domain that can de-duplicate sources and share them for both kustomize and helm.<br>The end result is the GitOps Toolkit: a secure, open, and performant base for solving your continuous delivery problems.<br>This experiment becomes Flux 2 :)<br>“Flux’s longevity shows the value of building for real use cases and for evolving the technology in open source communities. We built Flux for our own fledgling use of Kubernetes, and we redesigned and continue to innovate for the needs of Flux users in industries that are the most demanding in terms of security, reliability, and performance. Most importantly, it is a community in which so many individuals and companies contribute with code and their passion for Flux.”<br>— Tamao Nakahara, Flux Community Maintainer, Director @ Guild.ai
Over the next 6 years, Flux evolves to meet the demands of the most interesting Kubernetes use-cases.<br>A mix of engineering excellence and impeccable DevRel strategy led by Tamao invites cross-company collaboration & maintenance and connects the Flux team directly with end-users and their companies’ customers.<br>After ten years, we’ve totalled:<br>1,076 contributors<br>44 repos<br>17,946 pull requests<br>7,474 issues<br>On just Flux 2 alone:<br>210 flux2 releases<br>30.2 billion container image downloads<br>Today, Flux is everywhere you look. Flux runs in 5G towers, retail stores, cloud control-planes, open science clusters, airplanes, tractors, satellites, and in many air-gapped networks, running the software and services that make all of our modern conveniences possible.<br>Flux is unique in its correct, robust, reliable, and secure machinery for delivering workloads to Kubernetes, which is why teams trust Flux to run where no other software can meet the same operational requirements.<br>We do our best to keep our APIs clean and composable. Signs of our APIs evolving are the adoption of Gitless GitOps and extension of secure mechanisms for authentication such as...