Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage News CNCF Promotes GitOps Tool Flux to Incubated Status

CNCF Promotes GitOps Tool Flux to Incubated Status

This item in japanese

The CNCF has promoted the Flux project from the sandbox level to incubated level. According to the CNCF, this is not only proof of the widespread use of Flux, but also of its importance in helping to establish the GitOps approach to continuous delivery and the potential shown in the upcoming release of Flux v2, which is powered by the GitOps Toolkit.

Flux handles continuous and progressive delivery for Kubernetes. Flux helps developers, operators, and platform engineers to maintain a single source of truth for their declarative infrastructure and deployment configuration following the principles of GitOps. Flux monitors Git for differences between the declarative config specified in a repository and what is running on a target Kubernetes cluster. Any updates or undesired drift in cluster configurationi is synchronized against the specified state.

The GitOps Toolkit is a set of APIs and Kubernetes controllers that make up the runtime for Flux. The toolkit can be used to extend Flux and build your own systems for continuous delivery

Another project in the Flux family of tools is Flagger, a Kubernetes operator that handles progressive delivery including canary, A/B testing, and blue/green deployments.

The Flux project has become popular and is used in production by more than 80 organizations, including Fidelity Investments, Starbucks, and Canva. Chris Aniszczyk, the CTO of CNCF, commented on the promotion of the project:

GitOps started with the simple idea of using Git as the source of truth for declarative infrastructure to evolve to an ecosystem of tools that improves the developer experience of application delivery with Kubernetes. As more organizations adopt cloud native software at scale, the adoption of GitOps tools like Flux will naturally follow, and we look forward to cultivating their community within CNCF.

The latest version of the project, Flux v2, will be GA in a few months, according to the project roadmap. Flux v2 integrates with Prometheus, Helm, and other components of the Kubernetes ecosystem. Also, it includes a software development kit (SDK) and supports synching an arbitrary number of Git repositories.

Viktor Farcic, a member of the Google Developer Experts and Docker Captains groups, appreciates the concept of GitOps and thinks Flux v2 is a significant step forward from v1.

First, Flux did not initially try to provide any declarative definition for the installation, at least not from the initial installation page. There was no attempt to guide us towards having something defined as code and stored in git before being applied to the cluster. All that changed recently when Flux v2 was introduced. The tool changed the installation process and now it creates a git repo, pushes Flux manifests, and only then installs Flux. From there on, any change to Flux can be done by making changes to the associated repository. Well done Flux!

For a CNCF project to move from the sandbox stage to the incubating one, it has to be used in production by at least three independent end-user companies, have a healthy number of committers, and have at least one public reference implementation. Any CNCF project promoted to incubated level must go through a rigorous process making sure it’s stable and production-ready.

Originally donated by Weaveworks to the CNCF, Flux joined the CNCF as a sandbox project in August 2019. The CNCF plans to deprecate Flux v1 by the end of 2021.

Rate this Article