What happened?
ocpctl env apply creates a kind-based platform cluster and deploys the openmcp-operator, but does not install Flux. Service providers may use Flux to install Helm charts onto managed ControlPlanes, so Flux must be present on the platform cluster where the service providers run.
What you expected to happen?
Flux should be installed on the platform cluster as part of ocpctl env apply, so that service providers relying on Flux can function correctly out of the box.
How to reproduce it (as minimally and precisely as possible)?
- Run
ocpctl env apply
- Inspect the platform cluster
- Observe that Flux controllers (source-controller, kustomize-controller, helm-controller, etc.) are not present
Anything else we need to know?
The openmcp-testing library already solves this via the FluxCD Go SDK, without requiring an external flux CLI binary:
Commit: openmcp-project/openmcp-testing@16d6a0b
It uses github.com/fluxcd/flux2/v2/pkg/manifestgen/install to generate manifests programmatically and applies them as unstructured Kubernetes objects via the standard client. The same approach could be used in ocpctl by adding a Flux resource type to pkg/resources/platform/ and wiring it into applyPlatformResources.
What happened?
ocpctl env applycreates a kind-based platform cluster and deploys theopenmcp-operator, but does not install Flux. Service providers may use Flux to install Helm charts onto managed ControlPlanes, so Flux must be present on the platform cluster where the service providers run.What you expected to happen?
Flux should be installed on the platform cluster as part of
ocpctl env apply, so that service providers relying on Flux can function correctly out of the box.How to reproduce it (as minimally and precisely as possible)?
ocpctl env applyAnything else we need to know?
The
openmcp-testinglibrary already solves this via the FluxCD Go SDK, without requiring an externalfluxCLI binary:Commit: openmcp-project/openmcp-testing@16d6a0b
It uses
github.com/fluxcd/flux2/v2/pkg/manifestgen/installto generate manifests programmatically and applies them as unstructured Kubernetes objects via the standard client. The same approach could be used inocpctlby adding a Flux resource type topkg/resources/platform/and wiring it intoapplyPlatformResources.