From 02689b6b6f4b741de5a82873de074fe845d039e3 Mon Sep 17 00:00:00 2001 From: Stefan Prodan Date: Wed, 25 Dec 2024 12:25:30 +0200 Subject: [PATCH] Roadmap: Add milestones for 2025 Signed-off-by: Stefan Prodan --- content/en/roadmap.md | 170 +++++++++++++----------------------------- 1 file changed, 53 insertions(+), 117 deletions(-) diff --git a/content/en/roadmap.md b/content/en/roadmap.md index 1aed85679..b5f117c23 100644 --- a/content/en/roadmap.md +++ b/content/en/roadmap.md @@ -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` + - [ ] [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 @@ -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