fix(milo-integration): stop shipping ActivityPolicies to infra clusters#46
Conversation
The milo-integration component wires the inventory controller into a Milo control plane and is consumed by the infra-cluster Flux Kustomization (inventory-manager). It was also pulling in the 12 ActivityPolicy resources via `components: - ../../milo`. ActivityPolicies require the activity.miloapis.com CRDs, which are served only by the Milo control plane's activity-system aggregated apiserver — not the infra cluster. Every infra-cluster dry-run therefore failed with `no matches for kind "ActivityPolicy" in version "activity.miloapis.com/v1alpha1"`, leaving the Kustomization stuck in a failing retry loop. Drop the `components: - ../../milo` entry so milo-integration carries only the controller's Milo-wiring patches. The policies remain in config/milo and are applied directly to the Milo control plane by a dedicated Flux Kustomization. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
ecv
left a comment
There was a problem hiding this comment.
Oh well that's cool. But I was able to ship infra releases during this time, which wouldn't have been possible if Flux was stalled! A bit confused as to the effect of this mistake.
|
@ecv may have only broke after the configs were added in? Looks like it hasn't successfully reconciled and deployed a new version since 6/4 |
|
@ecv FYI getting this error now that this is being applied to Milo's API correctly:
|
Inventory's
ActivityPolicieswere being applied to the wrong cluster, stalling Flux on the Datum infra clusters for ~2 weeks.The
milo-integrationcomponent wires the controller into Milo, but it was also bundling 12ActivityPolicyresources. Those need theactivity.miloapis.comCRDs, which only exist on the Milo control plane — so every infra-cluster reconcile failed withno matches for kind "ActivityPolicy"and got stuck in a retry loop.This drops the policies from
milo-integrationso it carries only the controller's Milo-wiring patches. The policies stay inconfig/miloand are applied directly to Milo by a dedicated Flux Kustomization (infra datum-cloud/infra#2737).Verified: infra-facing build emits 0 policies and keeps all controller volumes;
config/milo/activity/policiesstill emits all 12.🤖 Generated with Claude Code