Skip to content

fix(charts): resync drifted CRDs from base + add make sync-chart-crds - #31

Merged
syscod3 merged 2 commits into
mainfrom
fix/chart-crd-resync
Jul 8, 2026
Merged

fix(charts): resync drifted CRDs from base + add make sync-chart-crds#31
syscod3 merged 2 commits into
mainfrom
fix/chart-crd-resync

Conversation

@syscod3

@syscod3 syscod3 commented Jul 8, 2026

Copy link
Copy Markdown
Contributor

The Helm chart CRDs under charts/imp-crds/templates had drifted from config/crd/bases. Four were missing schema added since they were last hand-synced:

Chart CRD Missing (examples)
impnetworks groupCIDRs status, ipam.cidr, VTEP x-kubernetes-list-map-keys
impvmrunnerpools scaling.mode/webhook/polling, cooldownSeconds, expireAfter, CEL validations
impvmtemplates expireAfter
impwarmpools expireAfter

A chart install therefore shipped stale CRDs that reject valid spec fields.

Fix: resync all ten chart CRDs from base, and add make sync-chart-crds so they regenerate mechanically (base + helm.sh/resource-policy: keep) and cannot silently drift again. make manifests only writes the config/crd/bases copies — there was no automation keeping the chart in step.

Each chart CRD is now byte-for-byte base + the single resource-policy annotation (verified). kubeconform in CI validates the chart CRDs.

syscod3 added 2 commits July 8, 2026 22:34
The Helm chart CRDs under charts/imp-crds/templates had drifted from
config/crd/bases: impnetworks, impvmrunnerpools, impvmtemplates, and
impwarmpools were missing schema added since (expireAfter, scaling
modes, groupCIDRs, VTEP list-map-key, etc.), so a chart install shipped
stale CRDs that reject valid spec fields.

Resync all ten from base and add a make sync-chart-crds target (base +
helm.sh/resource-policy: keep) so the chart CRDs regenerate mechanically
and cannot silently drift again. make manifests only writes the base
copies; there was no automation keeping the chart in step.
The smoke suite installs the Helm chart CRDs, which were stale and
lacked the scaling.mode + CEL validations now synced from base. The
fixture used the deprecated scaling {minIdle, maxConcurrent} +
jobDetection.webhook shape, which the corrected CRD rejects. Move it to
scaling.mode=webhook with explicit minIdle/maxConcurrent/scaleUpStep/
cooldownSeconds + scaling.webhook.secretRef. Demand=2 capped at
scaleUpStep=2 still yields the 2 VMs the test asserts.
@syscod3
syscod3 merged commit c905d33 into main Jul 8, 2026
17 checks passed
@syscod3
syscod3 deleted the fix/chart-crd-resync branch July 8, 2026 22:01
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