Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Roadmap: Add milestones for 2025 #2112

Merged
merged 1 commit into from
Jan 6, 2025
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
170 changes: 53 additions & 117 deletions content/en/roadmap.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,158 +28,94 @@ and security issues over new features. Depending on the volume of incoming issue
the complexity of the fixes, the roadmap may be adjusted and new features
may be postponed to the next milestone.

### v2.2 (Q4 2023)
### v2.5 (Q1 2025)

**Status**: Completed (v2.2.0 [changelog](https://github.com/fluxcd/flux2/releases/tag/v2.2.0))
**Status**: In Progress

The primary goal of this milestone is to promote the `HelmRelease` beta API to `v2beta2` and to introduce
a new reconciliation model for Helm releases.

- **Helm integrations**
- [x] [Promote `HelmRelease` API to v2beta2](https://v2-2.docs.fluxcd.io/flux/components/helm/helmreleases/)
- [x] [Enhanced helm-controller reconciliation model](https://fluxcd.io/blog/2023/12/flux-v2.2.0/#enhanced-helmrelease-reconciliation-model)
- [x] [Improved observability of Helm releases](https://fluxcd.io/blog/2023/12/flux-v2.2.0/#improved-observability-of-helm-releases)
- [x] [Implement Helm Release drift detection and correction](https://fluxcd.io/blog/2023/12/flux-v2.2.0/#helm-release-drift-detection-and-correction)
- [x] [Allow forcing and retrying Helm releases](https://fluxcd.io/blog/2023/12/flux-v2.2.0/#forcing-and-retrying-helm-releases)

- **OCI artifacts integrations**
- [x] [Static Helm OCI repositories](https://v2-2.docs.fluxcd.io/flux/components/source/helmrepositories/#helm-oci-repository)
- [x] [Cosign keyless verification for `HelmChart` artifacts](https://v2-2.docs.fluxcd.io/flux/components/source/helmcharts/#keyless-verification)
- [x] [Cosign keyless verification for `OCIRepository` artifacts](https://v2-2.docs.fluxcd.io/flux/components/source/ocirepositories/#keyless-verification)
- [x] [Allow connecting to insecure HelmRepositories](https://v2-2.docs.fluxcd.io/flux/components/source/helmrepositories/#insecure)
- [x] [Allow connecting to insecure ImageRepositories](https://v2-2.docs.fluxcd.io/flux/components/image/imagerepositories/#insecure)
The primary goal of this milestone is to integrate GitHub App for Git repositories authentication
and to extend Flux functionality with Common Expression Language(CEL) support.

- **Git integrations**
- [x] [Support for Gitea bootstrap](https://v2-2.docs.fluxcd.io/flux/installation/bootstrap/gitea/)
- [x] [Support for BitBucket commit status updates](https://v2-2.docs.fluxcd.io/flux/components/notification/providers/#bitbucket-serverdata-center/)

- **Alerting integrations**
- [x] [Promote the `Alert` API to `v1beta3`](https://v2-2.docs.fluxcd.io/flux/components/notification/alerts/)
- [x] [Promote the `Provider` API to `v1beta3`](https://v2-2.docs.fluxcd.io/flux/components/notification/providers/)

- **Conformance testing**
- [x] [Benchmark to measure the Mean Time To Production (MTTP)](https://github.com/fluxcd/flux-benchmark/)
- [x] [End-to-end testing for Google Cloud integrations](https://github.com/fluxcd/flux2/tree/v2.2.0/tests/integration#gcp)
- [x] [End-to-end testing for Kubernetes 1.29](https://github.com/fluxcd/flux2/pull/4484)

- **EOL and Deprecations**
- End support for Kubernetes v1.25.x
- Deprecate APIs in group `helm.toolkit.fluxcd.io/v2beta1`
- Deprecate APIs in group `notification.toolkit.fluxcd.io/v2beta2`

### v2.3 (Q2 2024)

**Status**: Completed (v2.3.0 [changelog](https://github.com/fluxcd/flux2/releases/tag/v2.3.0))

The primary goal of this milestone is to make a generally available release for the Flux Helm APIs
and the Flux Helm functionalities.
- [ ] [Support for GitHub App auth in source-controller](https://github.com/fluxcd/source-controller/pull/1647)
- [ ] [Support for GitHub App auth in image-automation-controller](https://github.com/fluxcd/image-automation-controller/pull/780)
- [ ] [Generate GitHub App secrets with the Flux CLI](https://github.com/fluxcd/flux2/pull/5103)

- **Helm integrations**
- [x] Promote the `HelmRepository` API to `v1` GA
- [x] Promote the `HelmChart` API to `v1` GA
- [x] Promote the `HelmRelease` API to `v2` GA
- [x] Promote the Flux CLI Helm-related commands to GA
- [x] [Reuse charts between releases with OCIRepository](https://github.com/fluxcd/helm-controller/issues/789)
- [x] [Reuse existing HelmChart resource between releases](https://github.com/fluxcd/helm-controller/issues/204)
- **Kustomize integrations**
- [x] [Fine-grained control of garbage collection with `.spec.deletionPolicy`](https://github.com/fluxcd/kustomize-controller/pull/1314)
- [x] [Enable decryption of secrets generated by Kustomize components](https://github.com/fluxcd/kustomize-controller/pull/1283)
- [x] [Enable decryption of Kustomize patches](https://github.com/fluxcd/kustomize-controller/pull/1286)
- [ ] [Custom Health Checks using CEL](https://github.com/fluxcd/flux2/pull/4528)

- **OCI artifacts integrations**
- [x] [Notation verification for `HelmChart` artifacts](https://github.com/fluxcd/source-controller/pull/1075)
- [x] [Notation verification for `OCIRepository` artifacts](https://github.com/fluxcd/source-controller/pull/1075)
- [x] [Add `ref.semverFilter` to `OCIRepository` API](https://github.com/fluxcd/source-controller/issues/1391)

- **CDEvents integrations**
- [x] [Extend the `Receiver` API with support for CDEvents](https://github.com/fluxcd/flux2/pull/4534)
- **Alerting integrations**
- [ ] [Custom Event Metadata from Annotations](https://github.com/fluxcd/flux2/pull/4809/)

- **Image automation**
- [x] Promote the `ImageUpdateAutomation` API to `v1beta2`
- [x] [Enhance image-automation-controller reconciliation model](https://github.com/fluxcd/image-automation-controller/issues/643)
- [x] [Add support for selecting image policies with a label selector](https://github.com/fluxcd/image-automation-controller/pull/619)
- [x] [Allow including the previous image tag in the commit message template](https://github.com/fluxcd/image-automation-controller/issues/437)
- **Webhook integrations**
- [ ] [Implement `Receiver` resource filtering with CEL](https://github.com/fluxcd/notification-controller/pull/948)

- **Terraform provider**
- [x] [Add support for air-gapped bootstrap](https://github.com/fluxcd/terraform-provider-flux/pull/664)
- [x] [Implement drift detection and correction for cluster state](https://github.com/fluxcd/terraform-provider-flux/pull/661)
- [x] [Improve documentation with concrete examples for the various bootstrap methods](https://github.com/fluxcd/terraform-provider-flux/tree/main/examples)
- **Troubleshoot helpers**
- [x] [Implement `flux debug helmrelease --show-values`](https://github.com/fluxcd/flux2/pull/5106)
- [x] [Implement `flux debug kustomization --show-vars`](https://github.com/fluxcd/flux2/pull/5117)

- **Conformance testing**
- [x] [End-to-end testing for Kubernetes 1.30](https://github.com/fluxcd/flux2/pull/4734)
- [x] [End-to-end testing for OpenShift](https://github.com/fluxcd/flux2/issues/4625)
- [x] [End-to-end testing for k3s](https://github.com/fluxcd/flux2/pull/4777)
- [x] [End-to-end testing for Kubernetes 1.32](https://github.com/fluxcd/flux2/pull/5111)
- [x] [End-to-end testing for GitHub App auth](https://github.com/fluxcd/pkg/pull/818)

- **EOL and Deprecations**
- End support for Flux v2.0.x
- End support for Kubernetes v1.27.x
- Deprecate APIs in group `helm.toolkit.fluxcd.io/v2beta2`
- Deprecate APIs in group `image.toolkit.fluxcd.io/v1beta1`
- Remove deprecated Terraform providers `flux_install` and `flux_sync`
- End support for Flux v2.2.x
- End support for Kubernetes v1.29.x
- Remove deprecated APIs in group `source.toolkit.fluxcd.io/v1beta1`
- Remove deprecated APIs in group `kustomize.toolkit.fluxcd.io/v1beta1`
- Remove deprecated APIs in group `helm.toolkit.fluxcd.io/v2beta1`

### v2.4 (Q3 2024)
### v2.6 (Q2 2025)

**Status**: Completed (v2.4.0 [changelog](https://github.com/fluxcd/flux2/releases/tag/v2.4.0))
**Status**: Provisional

The primary goal of this milestone is to make a generally available release for the Flux S3-compatible storage APIs.
The primary goal of this milestone is to make a generally available release for the Flux image automation APIs.

- **S3-compatible storage integrations**
- [x] Promote the `Bucket` API to `v1`
- [x] [Allow specifying a custom CA certificate in Bucket API](https://github.com/fluxcd/source-controller/issues/973)
- [x] [Allow specifying HTTP/S proxy in Bucket API](https://github.com/fluxcd/source-controller/issues/1493)
- [x] [Add support for STS endpoint in the Bucket API](https://github.com/fluxcd/source-controller/issues/1423)
- **Image automation**
- [ ] Promote the `ImageUpdateAutomation` API to `v1`
- [ ] Promote the `ImageRepository` API to `v1`
- [ ] Promote the `ImagePolicy` API to `v1`
makkes marked this conversation as resolved.
Show resolved Hide resolved
- [ ] [Add support for updating OCI digests](https://github.com/fluxcd/flux2/issues/4245)

- **OCI artifacts integrations**
- [x] [Allow specifying HTTP/S proxy in OCIRepository API](https://github.com/fluxcd/source-controller/issues/1492)

- **Git integrations**
- [x] [RFC - Passwordless authentication for Git repositories](https://github.com/fluxcd/flux2/pull/4806)
- [x] [Implement Workload Identity auth for Azure DevOps repositories](https://github.com/fluxcd/source-controller/issues/1284)

- **Helm integrations**
- [x] [Adopt existing resources](https://github.com/fluxcd/helm-controller/pull/1062)
- [x] [Allow disabling JSON schema validation](https://github.com/fluxcd/helm-controller/pull/1068)
- [ ] [Cache registry credentials for cloud providers](https://github.com/fluxcd/pkg/issues/642)

- **Alerting integrations**
- [x] [Teams notifications using the Microsoft Adaptive Card API](https://github.com/fluxcd/notification-controller/pull/920)
- [ ] [Add support for GitHub App auth to `Provider` API](https://github.com/fluxcd/notification-controller/issues/996)

- **Conformance testing**
- [x] [End-to-end testing for Kubernetes 1.31](https://github.com/fluxcd/flux2/pull/4892)
- [x] [End-to-end testing for AWS integrations](https://github.com/fluxcd/flux2/issues/4619)
- [ ] End-to-end testing for Kubernetes 1.33

- **EOL and Deprecations**
- End support for Flux v2.1.x
- End support for Kubernetes v1.27.x
- Deprecate Bucket API in group `source.toolkit.fluxcd.io/v1beta2`
- End support for Flux v2.3.x
- End support for Kubernetes v1.30.x
- Deprecate APIs in group `image.toolkit.fluxcd.io/v1beta2`
- Remove deprecated APIs in group `image.toolkit.fluxcd.io/v1beta1`

### v2.5 (TBD)
### v2.7 (Q3 2025)

**Status**: In progress
**Status**: Provisional

The primary goal of this milestone is to make a generally available release for the Flux image automation APIs.

- **Image automation**
- [ ] Promote the `ImageUpdateAutomation` API to `v1`
- [ ] Promote the `ImageRepository` API to `v1`
- [ ] Promote the `ImagePolicy` API to `v1`
- [ ] [Add support for updating OCI digests](https://github.com/fluxcd/flux2/issues/4245)
The primary goal of this milestone is to make a generally available release for the Flux OCI Artifacts APIs
and make Flux server-side apply compatible with Kubernetes Vertical Pod Autoscaler (VPA).

- **OCI artifacts integrations**
- [ ] Promote the `OCIRepository` API to `v1`
- [ ] [Enhance OCI Artifact support](https://github.com/fluxcd/source-controller/issues/1247)
- [ ] [Cache registry credentials for cloud providers](https://github.com/fluxcd/pkg/issues/642)
- [ ] [Add support for layer extraction from OCI artifacts with `ImageIndex`](https://github.com/fluxcd/source-controller/pull/1369)

- **Git integrations**
- [ ] Implement GitHub App auth for GitHub repositories
- **Kustomize integrations**
- [ ] [Extend `ssa.Apply` with field ignore rules](https://github.com/fluxcd/pkg/issues/696)

- **Conformance testing**
- [ ] End-to-end testing for Kubernetes 1.32
- [ ] End-to-end testing for Kubernetes 1.34

- **EOL and Deprecations**
- End support for Flux v2.2.x
- End support for Kubernetes v1.28.x
- Deprecate APIs in group `image.toolkit.fluxcd.io/v1beta2`
- Remove deprecated APIs in group `kustomize.toolkit.fluxcd.io/v1beta1`
- Remove deprecated APIs in group `source.toolkit.fluxcd.io/v1beta1`
- Remove deprecated APIs in group `notification.toolkit.fluxcd.io/v1beta1`
- Remove deprecated APIs in group `helm.toolkit.fluxcd.io/v2beta1`
- Remove deprecated APIs in group `image.toolkit.fluxcd.io/v1beta1`
- End support for Flux v2.4.x
- End support for Kubernetes v1.31.x
- Deprecate APIs in group `source.toolkit.fluxcd.io/v1beta2`

## Request for comments

Expand All @@ -195,6 +131,6 @@ To keep track of the Flux project current direction and future plans, please see
- [x] [RFC-0005](https://github.com/fluxcd/flux2/tree/main/rfcs/0005-artifact-revision-and-digest) Artifact `Revision` format and introduction of `Digest`
- [x] [RFC-0006](https://github.com/fluxcd/flux2/tree/main/rfcs/0006-cdevents) Flux CDEvents Receiver
- [x] [RFC-0007](https://github.com/fluxcd/flux2/tree/main/rfcs/0007-git-repo-passwordless-auth) Passwordless authentication for Git repositories
- [ ] [RFC](https://github.com/fluxcd/flux2/pull/2086) Define Flux tenancy models
- [x] [RFC-0008](https://github.com/fluxcd/flux2/pull/4809) Custom Event Metadata from Annotations
- [ ] [RFC](https://github.com/fluxcd/flux2/pull/4528) Custom Health Checks for Kustomization using Common Expression Language(CEL)
- [ ] [RFC](https://github.com/fluxcd/flux2/pull/4749) Flux Bootstrap for OCI-compliant Container Registries
Loading