Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

API-1843: KMSEncryptionProvider Feature Gate #2071

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

swghosh
Copy link
Member

@swghosh swghosh commented Oct 19, 2024

Feature: KMS Encryption Provider for sensitive etcd Resources

A user-configurable interface to support encryption of data stored in etcd using a supported Key Management Service (KMS).

OpenShift would need to align closer with KMS evolution upstream with respect to the different Kubernetes Encryption Providers available today that can encrypt resources from APIServer EncryptionConfig, https://kubernetes.io/docs/tasks/administer-cluster/kms-provider/.

User Stories:

  • As an OpenShift administrator, I want to encrypt secrets in my cluster at rest using KMS keys so that I can comply with my organization's security requirements.
  • As an OpenShift administrator, I want to let the KMS provider to manage the lifecycle of the encryption keys.

xref: OCPSTRAT-108, API-1684

@openshift-ci openshift-ci bot added the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Oct 19, 2024
Copy link
Contributor

openshift-ci bot commented Oct 19, 2024

Skipping CI for Draft Pull Request.
If you want CI signal for your change, please convert it to an actual PR.
You can still manually trigger a test run with /test all

Copy link
Contributor

openshift-ci bot commented Oct 19, 2024

Hello @swghosh! Some important instructions when contributing to openshift/api:
API design plays an important part in the user experience of OpenShift and as such API PRs are subject to a high level of scrutiny to ensure they follow our best practices. If you haven't already done so, please review the OpenShift API Conventions and ensure that your proposed changes are compliant. Following these conventions will help expedite the api review process for your PR.

@swghosh
Copy link
Member Author

swghosh commented Oct 19, 2024

/test all

@openshift-ci openshift-ci bot added the size/XS Denotes a PR that changes 0-9 lines, ignoring generated files. label Oct 19, 2024
@openshift-ci openshift-ci bot added size/S Denotes a PR that changes 10-29 lines, ignoring generated files. and removed size/XS Denotes a PR that changes 0-9 lines, ignoring generated files. labels Oct 19, 2024
@swghosh
Copy link
Member Author

swghosh commented Oct 19, 2024

/test all

2 similar comments
@swghosh
Copy link
Member Author

swghosh commented Oct 19, 2024

/test all

@swghosh
Copy link
Member Author

swghosh commented Oct 21, 2024

/test all

@swghosh swghosh changed the title DNM: Test API-1843: KMSv2 Feature Gate Oct 22, 2024
@openshift-ci-robot openshift-ci-robot added the jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. label Oct 22, 2024
@openshift-ci-robot
Copy link

openshift-ci-robot commented Oct 22, 2024

@swghosh: This pull request references API-1843 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 task to target the "4.18.0" version, but no target version was set.

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.

@swghosh swghosh marked this pull request as ready for review October 22, 2024 08:19
@swghosh
Copy link
Member Author

swghosh commented Oct 22, 2024

/retest

@openshift-ci openshift-ci bot removed the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Oct 22, 2024
@JoelSpeed
Copy link
Contributor

Please add an appropriate PR description to explain the motivation behind this change. Neither the PR, nor the card linked really explain what we are doing here, or why

@openshift-ci-robot
Copy link

openshift-ci-robot commented Oct 22, 2024

@swghosh: This pull request references API-1843 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 task to target the "4.18.0" version, but no target version was set.

In response to this:

Feature: KMS Encryption Provider for sensitive etcd Resources

A user-configurable interface to support encryption of data stored in etcd using a supported Key Management Service (KMS).

OpenShift would need to align closer with KMS evolution upstream with respect to the different Kubernetes Encryption Providers available today that can encrypt resources from APIServer EncryptionConfig, https://kubernetes.io/docs/tasks/administer-cluster/kms-provider/.

User Stories:

  • As an OpenShift administrator, I want to encrypt secrets in my cluster at rest using KMS keys so that I can comply with my organization's security requirements.
  • As an OpenShift administrator, I want to let the KMS provider to manage the lifecycle of the encryption keys.

xref: OCPSTRAT-108, API-1684

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.

@swghosh
Copy link
Member Author

swghosh commented Oct 22, 2024

@JoelSpeed added description about the feature.
also, for context: #2035
Not sure though why some of the e2e(s) are still failing.

@swghosh
Copy link
Member Author

swghosh commented Oct 22, 2024

/retest

1 similar comment
@swghosh
Copy link
Member Author

swghosh commented Oct 23, 2024

/retest

@JoelSpeed
Copy link
Contributor

According to the upstream documentation, this feature is stable as of 1.29, which would be 4.16.

It is my understanding that if an upstream feature is declared stable, and we have not otherwise specified the gate status, then the feature is already enabled.

This PR appears to disable a feature that has previously been enabled.

/hold

@openshift-ci openshift-ci bot added the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Oct 23, 2024
@deads2k
Copy link
Contributor

deads2k commented Oct 23, 2024

/test ci/prow/verify

Copy link
Contributor

openshift-ci bot commented Oct 23, 2024

@deads2k: The specified target(s) for /test were not found.
The following commands are available to trigger required jobs:

  • /test build
  • /test e2e-aws-ovn
  • /test e2e-aws-ovn-hypershift
  • /test e2e-aws-ovn-techpreview
  • /test e2e-aws-serial
  • /test e2e-aws-serial-techpreview
  • /test e2e-upgrade
  • /test images
  • /test integration
  • /test minor-e2e-upgrade-minor
  • /test minor-images
  • /test unit
  • /test verify
  • /test verify-client-go
  • /test verify-crd-schema
  • /test verify-deps

The following commands are available to trigger optional jobs:

  • /test e2e-azure
  • /test e2e-gcp
  • /test okd-scos-images

Use /test all to run the following jobs that were automatically triggered:

  • pull-ci-openshift-api-master-build
  • pull-ci-openshift-api-master-e2e-aws-ovn
  • pull-ci-openshift-api-master-e2e-aws-ovn-hypershift
  • pull-ci-openshift-api-master-e2e-aws-ovn-techpreview
  • pull-ci-openshift-api-master-e2e-aws-serial
  • pull-ci-openshift-api-master-e2e-aws-serial-techpreview
  • pull-ci-openshift-api-master-e2e-azure
  • pull-ci-openshift-api-master-e2e-gcp
  • pull-ci-openshift-api-master-e2e-upgrade
  • pull-ci-openshift-api-master-images
  • pull-ci-openshift-api-master-integration
  • pull-ci-openshift-api-master-minor-e2e-upgrade-minor
  • pull-ci-openshift-api-master-minor-images
  • pull-ci-openshift-api-master-unit
  • pull-ci-openshift-api-master-verify
  • pull-ci-openshift-api-master-verify-client-go
  • pull-ci-openshift-api-master-verify-crd-schema
  • pull-ci-openshift-api-master-verify-deps

In response to this:

/test ci/prow/verify

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.

@swghosh
Copy link
Member Author

swghosh commented Oct 23, 2024

/test verify

@openshift-ci openshift-ci bot added size/M Denotes a PR that changes 30-99 lines, ignoring generated files. and removed size/S Denotes a PR that changes 10-29 lines, ignoring generated files. labels Nov 4, 2024
features/features.go Outdated Show resolved Hide resolved
@JoelSpeed
Copy link
Contributor

PR is good to go, but we should get the EP into a state where the first round of reviews are in before we merge the gate, if we don't have at least some consensus, merging this would add a gate that is unneeded

@swghosh
Copy link
Member Author

swghosh commented Nov 7, 2024

/test all

@dgrisonnet
Copy link
Member

/retest

@openshift-merge-robot openshift-merge-robot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Nov 21, 2024
* generated files from
`PROTO_OPTIONAL="true" make update`

Signed-off-by: Swarup Ghosh <[email protected]>
@openshift-merge-robot openshift-merge-robot removed the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Nov 21, 2024
@openshift-ci openshift-ci bot added size/S Denotes a PR that changes 10-29 lines, ignoring generated files. and removed size/M Denotes a PR that changes 30-99 lines, ignoring generated files. labels Nov 21, 2024
@tkashem
Copy link
Contributor

tkashem commented Nov 21, 2024

@tkashem, once you are happy enough with the EP that the implementation can start, please LGTM here and ping me on slack and I'll get the approval on

this looks good to me for tech-preview
/lgtm

@tkashem
Copy link
Contributor

tkashem commented Nov 21, 2024

/label acknowledge-critical-fixes-only

@swghosh
Copy link
Member Author

swghosh commented Nov 21, 2024

thanks @tkashem
/remove-hold
off to you @JoelSpeed

@openshift-ci openshift-ci bot added acknowledge-critical-fixes-only Indicates if the issuer of the label is OK with the policy. and removed do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. labels Nov 21, 2024
@openshift-ci openshift-ci bot added the lgtm Indicates that a PR is ready to be merged. label Nov 21, 2024
@JoelSpeed
Copy link
Contributor

/retest

Looks good, but I'd like to see if these test failures are related

@JoelSpeed
Copy link
Contributor

/lgtm

PR is inert, I don't believe the tests failures are related and relevant components (eg KAS) don't recognise the gate, so we've got past my concern about overlapping gates

Copy link
Contributor

openshift-ci bot commented Nov 21, 2024

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: JoelSpeed, swghosh, tkashem

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

The pull request process is described here

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

@openshift-ci openshift-ci bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Nov 21, 2024
@openshift-ci-robot
Copy link

/retest-required

Remaining retests: 0 against base HEAD c98acdb and 2 for PR HEAD 1bc23b5 in total

@JoelSpeed
Copy link
Contributor

/hold It sounds like this feature might need a little more time to bake, I'd like to hold this until the API is ready to go and the EP has at least had some review.

From discussion with @wallylewis we don't need to rush this into 4.18 so lets wait until after branch cut

@JoelSpeed
Copy link
Contributor

/hold

@openshift-ci openshift-ci bot added the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Nov 21, 2024
Copy link
Contributor

openshift-ci bot commented Nov 21, 2024

@swghosh: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name Commit Details Required Rerun command
ci/prow/okd-scos-e2e-aws-ovn 1bc23b5 link false /test okd-scos-e2e-aws-ovn
ci/prow/e2e-azure 1bc23b5 link false /test e2e-azure

Full PR test history. Your PR dashboard.

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
acknowledge-critical-fixes-only Indicates if the issuer of the label is OK with the policy. approved Indicates a PR has been approved by an approver from all required OWNERS files. do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. 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. size/S Denotes a PR that changes 10-29 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants