Skip to content

CNTRLPLANE-2121: doc running pre-flight checker on every configuration change#1999

Open
p0lyn0mial wants to merge 1 commit into
openshift:masterfrom
p0lyn0mial:kms-preflight-checker-update
Open

CNTRLPLANE-2121: doc running pre-flight checker on every configuration change#1999
p0lyn0mial wants to merge 1 commit into
openshift:masterfrom
p0lyn0mial:kms-preflight-checker-update

Conversation

@p0lyn0mial
Copy link
Copy Markdown
Contributor

No description provided.

@p0lyn0mial p0lyn0mial changed the title doc running pre-flight checker on every configuration change CNTRLPLANE-2121: doc running pre-flight checker on every configuration change May 5, 2026
@openshift-ci openshift-ci Bot requested review from patrickdillon and spadgett May 5, 2026 12:28
@openshift-ci-robot
Copy link
Copy Markdown

openshift-ci-robot commented May 5, 2026

@p0lyn0mial: This pull request references CNTRLPLANE-2121 which is a valid jira issue.

Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the story to target the "5.0.0" version, but no target version was set.

Details

In response to this:

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

@openshift-ci-robot openshift-ci-robot added the jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. label May 5, 2026
@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci Bot commented May 5, 2026

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please assign pavolloffay for approval. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

#### Pre-flight Checker (Tech Preview v2)

The pre-flight checker validates KMS configuration before an encryption key is created. It consists of two parts: a preflight binary that tests the KMS provider end-to-end via the plugin, and a controller that coordinates the check with the key-controller.
The pre-flight checker validates KMS configuration before any configuration change is applied. The API allows admins to specify a KMS plugin image reference, and the API may add new fields over time in a backward-compatible way (e.g., a new field that maps to a new plugin flag). A new flag is expected to be supported for a range of image versions (say 1.X+), but we do not control which image version the admin provides: they might set a new field while referencing an older image (e.g., 1.X-2) that does not support the corresponding flag. Rather than maintaining a compatibility matrix between API field sets and image versions, we run the pre-flight checker unconditionally — the cost of an extra pod is acceptable compared to the risk of deploying an incompatible configuration.
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1000 to the benefits of this mechanism

**Recovery from incorrect configuration:**
- Migration-triggering fields: prevented by pre-flight checks (misconfiguration is caught before key generation).
- Non-migration fields (e.g., image): admin provides corrected configuration via APIServer resource. A new revision is created; older providers retain their original configuration as fallback.
- Non-migration fields (e.g., image): prevented by pre-flight checks (misconfiguration is caught before the update is applied).
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It would still make sense keeping this statement;

older providers retain their original configuration as fallback.

Because in-place updates are only active for the last active key. Preflight checker only works with the last active key.

If the content of the Secret of one of the old read keys is updated, preflight won't validate it. Controllers will still degrade and it is up to the cluster admin to fix it.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

updated PTAL.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If the content of the Secret of one of the old read keys is updated, preflight won't validate it.

yes, we will not support updating old providers, we only support currently configured provider.

@p0lyn0mial p0lyn0mial force-pushed the kms-preflight-checker-update branch from e609f28 to b2601f6 Compare May 7, 2026 11:17
@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci Bot commented May 7, 2026

@p0lyn0mial: all tests passed!

Full PR test history. Your PR dashboard.

Details

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here.

@ardaguclu
Copy link
Copy Markdown
Member

/lgtm

@openshift-ci openshift-ci Bot added the lgtm Indicates that a PR is ready to be merged. label May 7, 2026
@p0lyn0mial
Copy link
Copy Markdown
Contributor Author

/assign @benluddy

for approval.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. lgtm Indicates that a PR is ready to be merged.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants