Skip to content

fix: Install infrastructure-group CRDs in the test-infra overlay - #736

Open
scotwells wants to merge 1 commit into
mainfrom
fix/test-infra-install-infrastructure-crds
Open

fix: Install infrastructure-group CRDs in the test-infra overlay#736
scotwells wants to merge 1 commit into
mainfrom
fix/test-infra-install-infrastructure-crds

Conversation

@scotwells

Copy link
Copy Markdown
Contributor

Summary

config/overlays/test-infra deploys milo-controller-manager with --control-plane-scope=core (via controller-manager/overlays/core-control-plane), which reconciles ProjectControlPlane — but the overlay never installed the infrastructure-group CRD. So the controller loops on:

no matches for kind "ProjectControlPlane" in version "infrastructure.miloapis.com/v1alpha1"

and the core control plane never becomes usable until someone installs the CRD separately.

Both consumers that bring milo up from this overlay — milo-os/resource-metrics and datum-cloud/dns-operator — currently carry an identical milo-infra-crds Flux Kustomization (on path: crd/bases/infrastructure) purely to work around this. Their config even comments "remove once milo's test-infra overlay includes infrastructure-group CRDs."

This adds ../../crd/bases/infrastructure to the overlay's resources so it stands up a working core CP out of the box, and those downstream workarounds can be dropped.

Test plan

  • kustomize build --load-restrictor LoadRestrictionsNone config/overlays/test-infra succeeds and now renders CustomResourceDefinition/projectcontrolplanes.infrastructure.miloapis.com (was absent).
  • A cold test-infra bring-up reaches a Ready core control plane without a separate infra-CRD step.

🤖 Generated with Claude Code

milo-controller-manager runs with --control-plane-scope=core in this overlay and reconciles ProjectControlPlane, but the overlay never installed the infrastructure-group CRD, so the controller loops on "no matches for kind ProjectControlPlane in version infrastructure.miloapis.com/v1alpha1" and the core control plane never becomes usable. Consumers that stand up milo from this overlay (milo-os/resource-metrics, datum-cloud/dns-operator) each carried a separate Flux Kustomization to install config/crd/bases/infrastructure as a workaround. Add that path to the overlay's resources so it stands up a working core control plane out of the box and those workarounds can be dropped.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant