7.6 KiB
Roadmap
!!! hint "Production readiness"
The Flux custom resource definitions which are at v1beta1
and v2beta1
and their controllers are considered stable and production ready.
Going forward, breaking changes to the beta CRDs will be accompanied by a conversion mechanism.
Please see the Migration and Suport Timetable for our commitment to end users.
The following components (included by default in flux bootstrap) are considered production ready:
The following GitOps Toolkit APIs are considered production ready:
source.toolkit.fluxcd.io/v1beta1
kustomize.toolkit.fluxcd.io/v1beta1
notification.toolkit.fluxcd.io/v1beta1
helm.toolkit.fluxcd.io/v2beta1
The road to Flux v2 GA
In our planning discussions we have identified these possible areas of work, this list is subject to change while we gather feedback:
-
Stabilize the image automation APIs
- Review the spec of
ImageRepository
,ImagePolicy
andImageUpdateAutomation
- Promote the image automation APIs to
v1beta1
- Include the image automation controllers in the default components list
- Review the spec of
-
Improve the documentation
- Gather feedback on the migration guides and address more use-cases
- Incident management and troubleshooting guides
- Cloud specific guides (AWS, Azure, Google Cloud, more?)
- Consolidate the docs under fluxcd.io website
The road to Flux v1 feature parity
In our planning discussions we identified three areas of work:
- Feature parity with Flux v1 in read-only mode
- Feature parity with the image-update functionality in Flux v1
- Feature parity with Helm Operator v1
Flux read-only feature parity
[= 100% "100%"]
Flux v2 read-only is ready to try. See the Getting Started how-to, and the Migration guide.
This would be the first stepping stone: we want Flux v2 to be on-par with today's Flux in read-only mode and FluxCloud notifications.
Goals
- :material-check-bold: Offer a migration guide for those that are using Flux in read-only mode to synchronize plain manifests
- :material-check-bold: Offer a migration guide for those that are using Flux in read-only mode to synchronize Kustomize overlays
- :material-check-bold: Offer a dedicated component for forwarding events to external messaging platforms
Non-Goals
- Migrate users that are using Flux to run custom scripts with
flux.yaml
- Automate the migration of
flux.yaml
kustomize users
Tasks
- Design the events API
- Implement events in source and kustomize controllers
- Make the kustomize-controller apply/gc events on-par with Flux v1 apply events
- Design the notifications and events filtering API
- Implement a notification controller for Slack, MS Teams, Discord, Rocket
- Implement Prometheus metrics in source and kustomize controllers
- Review the git source and kustomize APIs
- Support bash-style variable substitution as an alternative to
flux.yaml
envsubst/sed usage - Create a migration guide for
flux.yaml
kustomize users - Include support for SOPS
Flux image update feature parity
[= 100% "100%"]
Image automation is available as a prerelease. See this guide for how to install and use it.
Goals
- Offer components that can replace Flux v1 image update feature
Non-Goals
- Maintain backwards compatibility with Flux v1 annotations
- Order by timestamps found inside image layers
Tasks
- Design the image scanning and automation API
- Implement an image scanning controller
- Public image repo support
- Credentials from Secret fluxcd/image-reflector-controller#35
- Design the automation component
- Implement the image scan/patch/push workflow
- Integrate the new components in the Flux CLI fluxcd/flux2#538
- Write a guide for how to use image automation (guide here)
- ACR/ECR/GCR integration (guide here)
- Write a migration guide from Flux v1 annotations (guide here)
Helm v3 feature parity
[= 100% "100%"]
Helm support in Flux v2 is ready to try. See the Helm controller guide, and the Helm controller migration guide.
Goals
- Offer a migration guide for those that are using Helm Operator with Helm v3 and charts from Helm and Git repositories
Non-Goals
- Migrate users that are using Helm v2
Tasks
- Implement a Helm controller for Helm v3 covering all the current release options
- Discuss and design Helm releases based on source API:
- Providing values from sources
- Conditional remediation on failed Helm actions
- Support for Helm charts from Git
- Review the Helm release, chart and repository APIs
- Implement events in Helm controller
- Implement Prometheus metrics in Helm controller
- Implement support for values from
Secret
andConfigMap
resources - Implement conditional remediation on (failed) Helm actions
- Implement support for Helm charts from Git
- Implement support for referring to an alternative chart values file
- Stabilize API
- Create a migration guide for Helm Operator users