Skip to content

fix(governance): lock the sizing keys a chart carries and explain the sizing directory - #3

Merged
catinspace-au merged 3 commits into
mainfrom
fix/sizing-locks
Oct 2, 2026
Merged

catinspace-au merged 3 commits into
mainfrom
fix/sizing-locks

Conversation

@catinspace-au

@catinspace-au catinspace-au commented Sep 14, 2026 •

Copy link
Copy Markdown
Contributor

dfe-infra's sizing resolver refuses to move six fields without --migrate: partition count, storage model, MSK broker type, KRaft controller mode, cloud and AZ count. This adds the engine-side refusal for the ones a chart key carries, and a README for what the resolver commits under sizing/.

  • governance/policies/sizing-locks.yaml protects kafka.sizing.* (the inputs the kafka chart derives the partition count from), kafka.controllerPool.enabled and cloud. Holders of helmvars:override can still make a deliberate exception.
  • The storage model is already locked by storage-layout.yaml, so it is not repeated here.
  • The MSK broker type and the AZ count are OpenTofu inputs with no chart key, so only the resolver guards them. We dropped kafka.external.msk.*: those keys are the MSK bootstrap Job's settings, not the broker type, and locking them would refuse a routine bump of its IAM auth jar.
  • sizing/README.md says what sizing/resolved.yaml records, why it is committed (dfe-ops upgrade plan --dial diffs against it) and where the resolver's values fragment and tfvars go.

The resolver side landed with dfe-infra #300, and dfe-infra's upgrades.md already points at this file.

Done when the engine refuses an API edit to any of the three keys from a caller without helmvars:override.

…rectory

The upgrade classifier in dfe-infra refuses to move these fields without --migrate, and this policy is the write-side refusal. The README says what the resolver commits under sizing/ and why it is committed rather than re-derived.
storageModel was already held by storage-layout.yaml, and kafka.external.msk.* named the MSK bootstrap Job's settings rather than the broker type, which is an OpenTofu input along with the AZ count. The README now says what resolved.yaml actually records and where the resolver's other outputs go.
@catinspace-au catinspace-au changed the title fix(governance): lock the six sizing fields and explain the sizing directory fix(governance): lock the sizing keys a chart carries and explain the sizing directory Oct 2, 2026
@catinspace-au
catinspace-au marked this pull request as ready for review October 2, 2026 20:16
@catinspace-au
catinspace-au merged commit 36a2d5f into main Oct 2, 2026
4 checks passed
@catinspace-au
catinspace-au deleted the fix/sizing-locks branch October 2, 2026 20:19
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