A testament to the promise of cloud-native technologies, a few weeks ago, Flux became the newest graduate project in the Cloud Native Computing Foundation (CNCF), joining the ranks of other projects like Helm, Kubernetes, and Prometheus.
CNCF builds sustainable ecosystems for cloud-native applications and Flux was the 18th project to graduate from its incubator. Let’s dig deeper to know what Flux does and how it managed to reach this milestone.
Flux and its foundations
Helm is s great tool to help you define, install, and upgrade apps running on Kubernetes. It can handle complex releases while keeping things manageable as you scale but it needs additional tools to update Kubernetes clusters when code changes are introduced frequently. That’s where Flux comes in.
Flux is a powerful set of continuous-delivery solutions designed especially for Kubernetes. It works by automating Helm Chart releases by syncing Charts from Git to the Kubernetes clusters. Using it, you can write instructions declaratively and it will automate the entire application deployment process.
It is multicloud, multicluster, and multitenant, and supports Hashicorp Vault, Helm, and Kustomize natively. Many global corps including RingCentral, SAP, and Volvo depend on Flux’s enterprise-grade security and scalability. As GitOps becomes mainstream, other giant firms like Microsoft, Red Hat, VMware, and AWS have started using Flux to deliver it to their own customers. D2iQ, for instance, chose Flux to add GitOps to their D2iQ Kubernetes Platform (DKP), which has helped simplify the management of their customer’s applications and infrastructure.
Developed by the engineers at WeaveWorks, Flux’s first version was released in July 2016. At that time, its purpose was limited to ensuring predictable deployments for internal usage. Kubernetes then was not the king of the cloud-native market that we know it to be today. At this time, even GitOps was in the works and its evolution was expedited through the findings during the development of Flux in the house of WeaveWorks.
In the coming days, Flux would be associated even more closely with Kubernetes, and later, Kustomize and Helm would be introduced into the spectrum. By 2018, Flux had a sizeable community. It was the same year Flux’s companion Flagger was released and together they ensured progressive delivery became a natural extension of GitOps.
2021: CNCF incubates Flux and Flagger
Flux and its subproject Flagger both witnessed large-scale adoption as soon as they were donated to the CNCF in March 2021. Given their commitment to governance and an inclusive community, the two projects saw a 200-500% growth in their user base, user engagement, contributions, software usage, and integrations.
Given how it made GitOps more accessible, the Flux suite became core to the offerings of many cloud vendors. But it was also the time to upgrade its codebase, or rather rewrite it from scratch using controller runtime to simplify its development. The legacy version of Flux is now archived and the general availability release is in the works.
What’s next: Flux GA release
Flux has been production-ready for a while now but the developers have very strict rules when it comes to backward compatibility policies. Every major release is handled with extreme care and vigilance, and now, Flux 2.0.0 is expected to be released very soon. The latest beta and stable APIs of Flux have been tested and are ready for use in production environments, although these will be again replaced with even more stable versions. Once an API reaches GA, users will have a 6-month window to upgrade the Flux Custom Resource Definitions (CRDs) from beta to stable.
The Flux community has been working on a wide range of project workflows concurrently. This includes Helm and Git API stabilization, controller refactoring to standardize internal APIs, integrating Cosign verification and OCI artifacts fully into Flux, and at the same time, qualifying for CNCF graduation. Yet at this point, there are still several milestones to be covered in the GA roadmap.
Q1 2023: Flux GitOps GA
Flux GitOps APIs as well as Flux Git bootstrap and webhooks functionalities are expected to be released along with the v2.0.0 of the Flux distribution and CLI in Q1 of 2023. Here are the listed operations:
- Promoting Fluxcd source toolkit, Kustomize, and Receiver APIs to GA
- Adopting K8s server-side apply
- Using it to rewrite the kustomize-controller reconciler
- Using it to replace kubectl in Flux CLI
- Git operations
- Consolidating Git operations
- End-to-end testing for Git protocols
- Refactoring Git webhook receiver
- Bootstrapping support for Git v2 proto
- Multi-tenancy lockdown
- Testing for conformance
Most of these operations are already underway.
Q2 2023: Flux Helm GA
This milestone aims at making Flux Helm APIs and functionalities generally available and will be part of v2.1.0 of the Flux suite. Here’s what it will include:
- Promoting Helm APIs to GA
- Cosign verification for Helm Chart and atomic reconciliation for Helm Releases.
Tasks under other milestones such as Flux Notifications, Flux Image Automation, Flux S3-compatible APIs, and Flux OCI artifacts which will be part of future releases haven’t yet been confirmed.
Flux officially achieving graduate status from CNCF is a remarkable achievement for the whole Flux community. The tool has seen rapid adoption and demonstrated advanced security along with an impressive design and an open governance process. You can find more details about the Flux community here.
If you have questions related to this topic, feel free to book a meeting with one of our solutions experts, mail to email@example.com.