Skip to content

Warn on apply with removed keys, keep ignoring them in drivers - #11

Merged
solsson merged 2 commits into
mainfrom
warn-removed-config-keys
Oct 11, 2026
Merged

solsson merged 2 commits into
mainfrom
warn-removed-config-keys

Conversation

@solsson

@solsson solsson commented Oct 11, 2026

Copy link
Copy Markdown
Contributor

We have no well defined behavior for when a config key is removed at apply. It causes no config change. Now it logs a warning if webhook is enabled.

solsson and others added 2 commits October 11, 2026 09:55
The kadm driver applies the config.* keys in spec.parameters and never reverts one that is
removed: an omitted parameter means "pass nothing", and what a broker does with a deleted topic
override (its default, a broker-level setting, whatever its version decides) is not something
the controller can predict. The topic keeps the value last applied, unmanaged. Nothing said so,
and nothing could: the driver only sees the current parameters.

The admission webhook sees the old and the new object on every update. When the merged view
(backend defaults included, so a key falling back to a default does not count) loses a config.*
key, the update is allowed with an admission warning naming the keys, which kubectl apply prints,
and the webhook logs the same message once per apply (not for server dry runs such as kubectl
diff). Driver-known keys are unaffected; config.* is SPEC's pass-through category, used by kadm
only today. With the webhook disabled there is no warning.

README (kadm) says how to go back to the broker default; SPEC "Parameters" states the
non-revert rule.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
scripts/bump-release.sh with the go.mod toolchain (go1.27.1).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@solsson
solsson merged commit 717590f into main Oct 11, 2026
0 of 3 checks passed
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