From e24b45ab4a0e30511ec4df2e808e585cec036c7d Mon Sep 17 00:00:00 2001 From: Maximilian Techritz Date: Thu, 4 Jun 2026 10:48:14 +0200 Subject: [PATCH 01/11] docs: add Quality Criteria self-assessment to README Adds the Quality Criteria block defined in https://open-control-plane.io/developers/serviceprovider/quality-criteria with an Incubating tier badge and a self-assessment table. Initial status values are a best-effort first pass; maintainers should adjust based on direct knowledge. Refs openmcp-project/docs#49 Signed-off-by: Maximilian Techritz --- README.md | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/README.md b/README.md index a0277b8..1d7de6a 100644 --- a/README.md +++ b/README.md @@ -4,6 +4,23 @@ A service provider for managing [FluxCD](https://fluxcd.io/) deployments within a ManagedControlPlane environment. This provider enables GitOps capabilities by automatically installing and configuring Flux on managed control planes. +## Quality Criteria + +[![Quality: Incubating](https://img.shields.io/badge/Quality-Incubating-3d9970?style=flat-square&labelColor=555)](https://open-control-plane.io/developers/serviceprovider/quality-criteria) + +| Criterion | Status | +| --------------------------------- | :----: | +| Deletion behaviour | ⚠️ | +| Status reporting & error messages | ✅ | +| Operation annotations | ❌ | +| API stability policy | ✅ | +| Custom CA support | ⚠️ | +| Release artifacts (image + OCM) | ✅ | +| Testing | ✅ | +| Ownership and maintenance docs | ⚠️ | + +See the [OpenControlPlane Quality Criteria](https://open-control-plane.io/developers/serviceprovider/quality-criteria) for definitions. + ## 📖 Overview The Flux service provider automates the lifecycle management of Flux installations, including: From d88f164cd313c4f9228d2edb6f70c3cc3ee6efcb Mon Sep 17 00:00:00 2001 From: Maximilian Techritz Date: Thu, 4 Jun 2026 10:50:13 +0200 Subject: [PATCH 02/11] docs: mark ownership and maintenance as met Signed-off-by: Maximilian Techritz --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 1d7de6a..7801401 100644 --- a/README.md +++ b/README.md @@ -17,7 +17,7 @@ A service provider for managing [FluxCD](https://fluxcd.io/) deployments within | Custom CA support | ⚠️ | | Release artifacts (image + OCM) | ✅ | | Testing | ✅ | -| Ownership and maintenance docs | ⚠️ | +| Ownership and maintenance docs | ✅ | See the [OpenControlPlane Quality Criteria](https://open-control-plane.io/developers/serviceprovider/quality-criteria) for definitions. From 81a1ddb94dd4d889a7486124d8f0d897e2ea77ac Mon Sep 17 00:00:00 2001 From: Maximilian Techritz Date: Thu, 4 Jun 2026 10:56:58 +0200 Subject: [PATCH 03/11] docs: add notes column explaining gaps for non-met criteria Signed-off-by: Maximilian Techritz --- README.md | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index 7801401..a4bdfea 100644 --- a/README.md +++ b/README.md @@ -8,16 +8,16 @@ A service provider for managing [FluxCD](https://fluxcd.io/) deployments within [![Quality: Incubating](https://img.shields.io/badge/Quality-Incubating-3d9970?style=flat-square&labelColor=555)](https://open-control-plane.io/developers/serviceprovider/quality-criteria) -| Criterion | Status | -| --------------------------------- | :----: | -| Deletion behaviour | ⚠️ | -| Status reporting & error messages | ✅ | -| Operation annotations | ❌ | -| API stability policy | ✅ | -| Custom CA support | ⚠️ | -| Release artifacts (image + OCM) | ✅ | -| Testing | ✅ | -| Ownership and maintenance docs | ✅ | +| Criterion | Status | Notes | +| --------------------------------- | :----: | ----- | +| Deletion behaviour | ⚠️ | Finalizer is wired up; blocking deletion when Flux-managed CRs still exist is not verified. | +| Status reporting & error messages | ✅ | | +| Operation annotations | ❌ | `openmcp.cloud/operation` (pause / force-reconcile) annotations are not honoured. | +| API stability policy | ✅ | | +| Custom CA support | ⚠️ | Private-registry pull secrets supported; custom CA bundle propagation to Flux components is not implemented. | +| Release artifacts (image + OCM) | ✅ | | +| Testing | ✅ | | +| Ownership and maintenance docs | ✅ | | See the [OpenControlPlane Quality Criteria](https://open-control-plane.io/developers/serviceprovider/quality-criteria) for definitions. From 0de39f6f7381e2bfd3d4f7df31bfe7146b374f88 Mon Sep 17 00:00:00 2001 From: Maximilian Techritz Date: Thu, 4 Jun 2026 10:59:35 +0200 Subject: [PATCH 04/11] chore: format document Signed-off-by: Maximilian Techritz --- README.md | 56 +++++++++++++++++++++++++++---------------------------- 1 file changed, 28 insertions(+), 28 deletions(-) diff --git a/README.md b/README.md index a4bdfea..53d0299 100644 --- a/README.md +++ b/README.md @@ -8,16 +8,16 @@ A service provider for managing [FluxCD](https://fluxcd.io/) deployments within [![Quality: Incubating](https://img.shields.io/badge/Quality-Incubating-3d9970?style=flat-square&labelColor=555)](https://open-control-plane.io/developers/serviceprovider/quality-criteria) -| Criterion | Status | Notes | -| --------------------------------- | :----: | ----- | -| Deletion behaviour | ⚠️ | Finalizer is wired up; blocking deletion when Flux-managed CRs still exist is not verified. | -| Status reporting & error messages | ✅ | | -| Operation annotations | ❌ | `openmcp.cloud/operation` (pause / force-reconcile) annotations are not honoured. | -| API stability policy | ✅ | | +| Criterion | Status | Notes | +| --------------------------------- | :----: | ------------------------------------------------------------------------------------------------------------ | +| Deletion behaviour | ⚠️ | Finalizer is wired up; blocking deletion when Flux-managed CRs still exist is not verified. | +| Status reporting & error messages | ✅ | | +| Operation annotations | ❌ | `openmcp.cloud/operation` (pause / force-reconcile) annotations are not honoured. | +| API stability policy | ✅ | | | Custom CA support | ⚠️ | Private-registry pull secrets supported; custom CA bundle propagation to Flux components is not implemented. | -| Release artifacts (image + OCM) | ✅ | | -| Testing | ✅ | | -| Ownership and maintenance docs | ✅ | | +| Release artifacts (image + OCM) | ✅ | | +| Testing | ✅ | | +| Ownership and maintenance docs | ✅ | | See the [OpenControlPlane Quality Criteria](https://open-control-plane.io/developers/serviceprovider/quality-criteria) for definitions. @@ -145,8 +145,8 @@ spec: version: "2.8.3" ``` -| Field | Type | Description | -|-------|------|-------------| +| Field | Type | Description | +| -------------- | ------ | ------------------------------ | | `spec.version` | string | The version of Flux to install | Note that any version that should be available to users have to be defined in the `ProviderConfig`. @@ -187,20 +187,20 @@ spec: tag: v1.8.1 ``` -| Field | Type | Description | -|-------|------|-------------| +| Field | Type | Description | +| ------------------- | -------- | ---------------------------------------------- | | `spec.pollInterval` | duration | How often to reconcile resources (default: 1m) | -| `spec.versions` | array | The versions of Flux that can be installed | +| `spec.versions` | array | The versions of Flux that can be installed | A version item is defined as follows: -| Field | Type | Description | -|-------|------|-------------| -| `version` | string | The Flux version that this item defines | -| `chartVersion` | string | The Flux Helm chart version to install | -| `chartUrl` | string | OCI registry URL for the Flux Helm chart | +| Field | Type | Description | +| ----------------- | ------ | --------------------------------------------- | +| `version` | string | The Flux version that this item defines | +| `chartVersion` | string | The Flux Helm chart version to install | +| `chartUrl` | string | OCI registry URL for the Flux Helm chart | | `chartPullSecret` | string | Secret name for chart registry authentication | -| `values` | object | Custom Helm values for Flux deployment | +| `values` | object | Custom Helm values for Flux deployment | ## 🔐 Air-Gapped Environments @@ -208,14 +208,14 @@ For air-gapped or enterprise environments, see the [Image Localization Guide](do ## 🔧 Development Tasks -| Command | Description | -|---------|-------------| -| `task build` | Build the binary | -| `task build:img:build` | Build the container image | -| `task test` | Run unit tests | -| `task test-e2e` | Run end-to-end tests | -| `task generate` | Generate CRDs and code | -| `task validate` | Run linters and formatters | +| Command | Description | +| ---------------------- | -------------------------- | +| `task build` | Build the binary | +| `task build:img:build` | Build the container image | +| `task test` | Run unit tests | +| `task test-e2e` | Run end-to-end tests | +| `task generate` | Generate CRDs and code | +| `task validate` | Run linters and formatters | ## 🤝 Support, Feedback, Contributing From bd8454682f2410f7aff632705970315d74c4ae84 Mon Sep 17 00:00:00 2001 From: Maximilian Techritz Date: Mon, 8 Jun 2026 16:56:44 +0200 Subject: [PATCH 05/11] docs(readme): rephrasing deletion behaviour note Signed-off-by: Maximilian Techritz --- README.md | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index 53d0299..4ef63f3 100644 --- a/README.md +++ b/README.md @@ -8,16 +8,16 @@ A service provider for managing [FluxCD](https://fluxcd.io/) deployments within [![Quality: Incubating](https://img.shields.io/badge/Quality-Incubating-3d9970?style=flat-square&labelColor=555)](https://open-control-plane.io/developers/serviceprovider/quality-criteria) -| Criterion | Status | Notes | -| --------------------------------- | :----: | ------------------------------------------------------------------------------------------------------------ | -| Deletion behaviour | ⚠️ | Finalizer is wired up; blocking deletion when Flux-managed CRs still exist is not verified. | -| Status reporting & error messages | ✅ | | -| Operation annotations | ❌ | `openmcp.cloud/operation` (pause / force-reconcile) annotations are not honoured. | -| API stability policy | ✅ | | -| Custom CA support | ⚠️ | Private-registry pull secrets supported; custom CA bundle propagation to Flux components is not implemented. | -| Release artifacts (image + OCM) | ✅ | | -| Testing | ✅ | | -| Ownership and maintenance docs | ✅ | | +| Criterion | Status | Notes | +| --------------------------------- | :----: | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Deletion behaviour | ⚠️ | A finalizer ensures the Service Provider managed resources like Flux' `OCIRepository` and `HelmRelease` are cleaned-up. But there is no behaviour that ensures deletion is blocked if custom resources (aka Flux' `GitRepository` objects) in a `ControlPlane` still exist. | +| Status reporting & error messages | ✅ | | +| Operation annotations | ❌ | `openmcp.cloud/operation` (pause / force-reconcile) annotations are not honoured. | +| API stability policy | ✅ | | +| Custom CA support | ⚠️ | Private-registry pull secrets supported; custom CA bundle propagation to Flux components is not implemented. | +| Release artifacts (image + OCM) | ✅ | | +| Testing | ✅ | | +| Ownership and maintenance docs | ✅ | | See the [OpenControlPlane Quality Criteria](https://open-control-plane.io/developers/serviceprovider/quality-criteria) for definitions. From c0f88723c0a95f08c4b10e72d6167b3e63217bbe Mon Sep 17 00:00:00 2001 From: Maximilian Techritz Date: Mon, 8 Jun 2026 17:03:54 +0200 Subject: [PATCH 06/11] fix: typo Signed-off-by: Maximilian Techritz --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index ee528f8..5b614e5 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,7 @@ A service provider for managing [FluxCD](https://fluxcd.io/) deployments within | Criterion | Status | Notes | | --------------------------------- | :----: | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| Deletion behaviour | ⚠️ | A finalizer ensures the Service Provider managed resources like Flux' `OCIRepository` and `HelmRelease` are cleaned-up. But there is no behaviour that ensures deletion is blocked if custom resources (aka Flux' `GitRepository` objects) in a `ControlPlane` still exist. | +| Deletion behaviour | ⚠️ | A finalizer ensures the Service Provider managed resources like Flux' `OCIRepository` and `HelmRelease` are cleaned-up. But there is no behaviour that ensures deletion is blocked if custom resources (e.g. Flux' `GitRepository` objects) in a `ControlPlane` still exist. | | Status reporting & error messages | ✅ | | | Operation annotations | ❌ | `openmcp.cloud/operation` (pause / force-reconcile) annotations are not honoured. | | API stability policy | ✅ | | From 392f75b99c31c5f5d29dee5d4a7efc8de641ba43 Mon Sep 17 00:00:00 2001 From: Maximilian Techritz Date: Tue, 9 Jun 2026 09:33:13 +0200 Subject: [PATCH 07/11] chore: fix quality criteria Signed-off-by: Maximilian Techritz --- README.md | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index 5b614e5..e56bd32 100644 --- a/README.md +++ b/README.md @@ -8,16 +8,16 @@ A service provider for managing [FluxCD](https://fluxcd.io/) deployments within [![Quality: Incubating](https://img.shields.io/badge/Quality-Incubating-3d9970?style=flat-square&labelColor=555)](https://open-control-plane.io/developers/serviceprovider/quality-criteria) -| Criterion | Status | Notes | -| --------------------------------- | :----: | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| Deletion behaviour | ⚠️ | A finalizer ensures the Service Provider managed resources like Flux' `OCIRepository` and `HelmRelease` are cleaned-up. But there is no behaviour that ensures deletion is blocked if custom resources (e.g. Flux' `GitRepository` objects) in a `ControlPlane` still exist. | -| Status reporting & error messages | ✅ | | -| Operation annotations | ❌ | `openmcp.cloud/operation` (pause / force-reconcile) annotations are not honoured. | -| API stability policy | ✅ | | -| Custom CA support | ⚠️ | Private-registry pull secrets supported; custom CA bundle propagation to Flux components is not implemented. | -| Release artifacts (image + OCM) | ✅ | | -| Testing | ✅ | | -| Ownership and maintenance docs | ✅ | | +| Criterion | Status | Notes | +| --------------------------------- | :----: | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| Deletion behaviour | ⚠️ | A finalizer ensures the Service Provider managed resources like Flux' `OCIRepository` and `HelmRelease` are cleaned-up. But there is no behaviour that ensures deletion is blocked if custom resources (e.g. Flux' `GitRepository` objects) in a `ControlPlane` still exist. | +| Status reporting & error messages | ✅ | | +| Operation annotations | ⚠️ | `openmcp.cloud/operation: ignore` is [processed by opencontrolplane-runtime](https://github.com/openmcp-project/opencontrolplane-runtime/blob/8e6d32ae9b014ab2ca42d55c2eb08a72947caa2a/pkg/serviceprovider/apireconciler.go#L141). `openmcp.cloud/operation: reconcile` is not processed. | +| API stability policy | ✅ | | +| Custom CA support | ⚠️ | Private-registry pull secrets supported; custom CA bundle propagation to Flux components is not implemented. | +| Release artifacts (image + OCM) | ✅ | | +| Testing | ✅ | | +| Ownership and maintenance docs | ✅ | | See the [OpenControlPlane Quality Criteria](https://open-control-plane.io/developers/serviceprovider/quality-criteria) for definitions. From f29f67d647e93199976f3fa3e8fdd93b4350a907 Mon Sep 17 00:00:00 2001 From: Maximilian Techritz Date: Tue, 9 Jun 2026 09:40:19 +0200 Subject: [PATCH 08/11] docs(readme): remove link Signed-off-by: Maximilian Techritz --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index e56bd32..ed8d15c 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,7 @@ A service provider for managing [FluxCD](https://fluxcd.io/) deployments within | --------------------------------- | :----: | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | Deletion behaviour | ⚠️ | A finalizer ensures the Service Provider managed resources like Flux' `OCIRepository` and `HelmRelease` are cleaned-up. But there is no behaviour that ensures deletion is blocked if custom resources (e.g. Flux' `GitRepository` objects) in a `ControlPlane` still exist. | | Status reporting & error messages | ✅ | | -| Operation annotations | ⚠️ | `openmcp.cloud/operation: ignore` is [processed by opencontrolplane-runtime](https://github.com/openmcp-project/opencontrolplane-runtime/blob/8e6d32ae9b014ab2ca42d55c2eb08a72947caa2a/pkg/serviceprovider/apireconciler.go#L141). `openmcp.cloud/operation: reconcile` is not processed. | +| Operation annotations | ⚠️ | `openmcp.cloud/operation: ignore` is processed by opencontrolplane-runtime. `openmcp.cloud/operation: reconcile` is not processed. | | API stability policy | ✅ | | | Custom CA support | ⚠️ | Private-registry pull secrets supported; custom CA bundle propagation to Flux components is not implemented. | | Release artifacts (image + OCM) | ✅ | | From 3fcd1810aa603cb1d31e7090e8360983999c89dc Mon Sep 17 00:00:00 2001 From: Maximilian Techritz Date: Tue, 9 Jun 2026 09:40:41 +0200 Subject: [PATCH 09/11] docs(readme): formatting Signed-off-by: Maximilian Techritz --- README.md | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index ed8d15c..d9af226 100644 --- a/README.md +++ b/README.md @@ -8,16 +8,16 @@ A service provider for managing [FluxCD](https://fluxcd.io/) deployments within [![Quality: Incubating](https://img.shields.io/badge/Quality-Incubating-3d9970?style=flat-square&labelColor=555)](https://open-control-plane.io/developers/serviceprovider/quality-criteria) -| Criterion | Status | Notes | -| --------------------------------- | :----: | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -| Deletion behaviour | ⚠️ | A finalizer ensures the Service Provider managed resources like Flux' `OCIRepository` and `HelmRelease` are cleaned-up. But there is no behaviour that ensures deletion is blocked if custom resources (e.g. Flux' `GitRepository` objects) in a `ControlPlane` still exist. | -| Status reporting & error messages | ✅ | | -| Operation annotations | ⚠️ | `openmcp.cloud/operation: ignore` is processed by opencontrolplane-runtime. `openmcp.cloud/operation: reconcile` is not processed. | -| API stability policy | ✅ | | -| Custom CA support | ⚠️ | Private-registry pull secrets supported; custom CA bundle propagation to Flux components is not implemented. | -| Release artifacts (image + OCM) | ✅ | | -| Testing | ✅ | | -| Ownership and maintenance docs | ✅ | | +| Criterion | Status | Notes | +| --------------------------------- | :----: | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Deletion behaviour | ⚠️ | A finalizer ensures the Service Provider managed resources like Flux' `OCIRepository` and `HelmRelease` are cleaned-up. But there is no behaviour that ensures deletion is blocked if custom resources (e.g. Flux' `GitRepository` objects) in a `ControlPlane` still exist. | +| Status reporting & error messages | ✅ | | +| Operation annotations | ⚠️ | `openmcp.cloud/operation: ignore` is processed by opencontrolplane-runtime. `openmcp.cloud/operation: reconcile` is not processed. | +| API stability policy | ✅ | | +| Custom CA support | ⚠️ | Private-registry pull secrets supported; custom CA bundle propagation to Flux components is not implemented. | +| Release artifacts (image + OCM) | ✅ | | +| Testing | ✅ | | +| Ownership and maintenance docs | ✅ | | See the [OpenControlPlane Quality Criteria](https://open-control-plane.io/developers/serviceprovider/quality-criteria) for definitions. From 26f4831cfd8a44442e7124cfbaab7606d1bb3a35 Mon Sep 17 00:00:00 2001 From: Maximilian Techritz Date: Tue, 9 Jun 2026 09:41:36 +0200 Subject: [PATCH 10/11] docs(readme): add link to opencontrolplane-runtime Signed-off-by: Maximilian Techritz --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index d9af226..e3cbae0 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,7 @@ A service provider for managing [FluxCD](https://fluxcd.io/) deployments within | --------------------------------- | :----: | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Deletion behaviour | ⚠️ | A finalizer ensures the Service Provider managed resources like Flux' `OCIRepository` and `HelmRelease` are cleaned-up. But there is no behaviour that ensures deletion is blocked if custom resources (e.g. Flux' `GitRepository` objects) in a `ControlPlane` still exist. | | Status reporting & error messages | ✅ | | -| Operation annotations | ⚠️ | `openmcp.cloud/operation: ignore` is processed by opencontrolplane-runtime. `openmcp.cloud/operation: reconcile` is not processed. | +| Operation annotations | ⚠️ | `openmcp.cloud/operation: ignore` is processed by [opencontrolplane-runtime](https://github.com/openmcp-project/opencontrolplane-runtime). `openmcp.cloud/operation: reconcile` is not processed. | | API stability policy | ✅ | | | Custom CA support | ⚠️ | Private-registry pull secrets supported; custom CA bundle propagation to Flux components is not implemented. | | Release artifacts (image + OCM) | ✅ | | From dae98c800e7351577f746a95afec8a9b79b258b3 Mon Sep 17 00:00:00 2001 From: Maximilian Techritz Date: Tue, 9 Jun 2026 09:51:26 +0200 Subject: [PATCH 11/11] docs(readme): move quality criteria to the end Signed-off-by: Maximilian Techritz --- README.md | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/README.md b/README.md index e3cbae0..f337c25 100644 --- a/README.md +++ b/README.md @@ -4,23 +4,6 @@ A service provider for managing [FluxCD](https://fluxcd.io/) deployments within a ManagedControlPlane environment. This provider enables GitOps capabilities by automatically installing and configuring Flux on managed control planes. -## Quality Criteria - -[![Quality: Incubating](https://img.shields.io/badge/Quality-Incubating-3d9970?style=flat-square&labelColor=555)](https://open-control-plane.io/developers/serviceprovider/quality-criteria) - -| Criterion | Status | Notes | -| --------------------------------- | :----: | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| Deletion behaviour | ⚠️ | A finalizer ensures the Service Provider managed resources like Flux' `OCIRepository` and `HelmRelease` are cleaned-up. But there is no behaviour that ensures deletion is blocked if custom resources (e.g. Flux' `GitRepository` objects) in a `ControlPlane` still exist. | -| Status reporting & error messages | ✅ | | -| Operation annotations | ⚠️ | `openmcp.cloud/operation: ignore` is processed by [opencontrolplane-runtime](https://github.com/openmcp-project/opencontrolplane-runtime). `openmcp.cloud/operation: reconcile` is not processed. | -| API stability policy | ✅ | | -| Custom CA support | ⚠️ | Private-registry pull secrets supported; custom CA bundle propagation to Flux components is not implemented. | -| Release artifacts (image + OCM) | ✅ | | -| Testing | ✅ | | -| Ownership and maintenance docs | ✅ | | - -See the [OpenControlPlane Quality Criteria](https://open-control-plane.io/developers/serviceprovider/quality-criteria) for definitions. - ## 📖 Overview The Flux service provider automates the lifecycle management of Flux installations, including: @@ -217,6 +200,23 @@ For air-gapped or enterprise environments, see the [Image Localization Guide](do | `task generate` | Generate CRDs and code | | `task validate` | Run linters and formatters | +## Quality Criteria + +[![Quality: Incubating](https://img.shields.io/badge/Quality-Incubating-3d9970?style=flat-square&labelColor=555)](https://open-control-plane.io/developers/serviceprovider/quality-criteria) + +| Criterion | Status | Notes | +| --------------------------------- | :----: | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Deletion behaviour | ⚠️ | A finalizer ensures the Service Provider managed resources like Flux' `OCIRepository` and `HelmRelease` are cleaned-up. But there is no behaviour that ensures deletion is blocked if custom resources (e.g. Flux' `GitRepository` objects) in a `ControlPlane` still exist. | +| Status reporting & error messages | ✅ | | +| Operation annotations | ⚠️ | `openmcp.cloud/operation: ignore` is processed by [opencontrolplane-runtime](https://github.com/openmcp-project/opencontrolplane-runtime). `openmcp.cloud/operation: reconcile` is not processed. | +| API stability policy | ✅ | | +| Custom CA support | ⚠️ | Private-registry pull secrets supported; custom CA bundle propagation to Flux components is not implemented. | +| Release artifacts (image + OCM) | ✅ | | +| Testing | ✅ | | +| Ownership and maintenance docs | ✅ | | + +See the [OpenControlPlane Quality Criteria](https://open-control-plane.io/developers/serviceprovider/quality-criteria) for definitions. + ## 🤝 Support, Feedback, Contributing This project is open to feature requests/suggestions, bug reports etc. via [GitHub issues](https://github.com/openmcp-project/service-provider-flux/issues). Contribution and feedback are encouraged and always welcome. For more information about how to contribute, the project structure, as well as additional contribution information, see our [Contribution Guidelines](https://github.com/openmcp-project/.github/blob/main/CONTRIBUTING.md).