Skip to content

feat(eks): add OidcProviderNative using L1 and deprecate OpenIdConnectProvider custom resource#36589

Merged
mergify[bot] merged 6 commits intomainfrom
oidc
Jan 27, 2026
Merged

feat(eks): add OidcProviderNative using L1 and deprecate OpenIdConnectProvider custom resource#36589
mergify[bot] merged 6 commits intomainfrom
oidc

Conversation

@aemada-aws
Copy link
Copy Markdown
Contributor

@aemada-aws aemada-aws commented Jan 6, 2026

Issue # (if applicable)

Reason for this change

EKS V2 use a custom resource for OpenIdConnectProvider. There is already an L1 for OpenIdConnectProvider, which should be used instead of the custom resource. The L1 construct is needed for migrating from v1 to v2 as custom resources are not importable and recreating the OIDC provider results in a conflict.

Description of changes

  • Deprecate OpenIdConnectProvider in eks-v2-alpha
  • Add migration instructions
  • Add OidcProviderNative
  • Add integ tests
  • Add unit tests
  • Add feature flag to use OidcProviderNative inside EKS cluster construct.
  • Add removal policy support for OpenIdConnectProvider so users can use it in order to migrate.
  • Add token support for OidcProviderNative in aws-iam to prevent trying to validate token values. This was breaking when using it with EKS and should have been there anyway from the beginning.

BREAKING CHANGE: The openIdConnectProviderArn and openIdConnectProviderIssuer properties have been added as required members of the IOidcProvider interface.

This was the least disruptive change required to allow existing EKS constructs to support the OidcProviderNative construct.

This change is non-breaking for consumers of the interface, but breaking for implementors. If you implement iam.IOidcProvider, you must now add these two properties, typically as aliases to the existing oidcProviderArn and oidcProviderIssuer properties.

Describe any new or updated permissions being added

None

Description of how you validated changes

Integ tests deployed

Checklist


By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license

@github-actions github-actions bot added the p2 label Jan 6, 2026
@aws-cdk-automation aws-cdk-automation requested a review from a team January 6, 2026 11:55
@mergify mergify bot added the contribution/core This is a PR that came from AWS. label Jan 6, 2026
Copy link
Copy Markdown
Collaborator

@aws-cdk-automation aws-cdk-automation left a comment

Choose a reason for hiding this comment

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

(This review is outdated)

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Jan 6, 2026

⚠️ Experimental Feature: This security report is currently in experimental phase. Results may include false positives and the rules are being actively refined.
Please try merge from main to avoid findings unrelated to the PR.


TestsPassed ✅SkippedFailed
Security Guardian Results240 ran240 passed
TestResult
No test annotations available

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Jan 6, 2026

⚠️ Experimental Feature: This security report is currently in experimental phase. Results may include false positives and the rules are being actively refined.
Please try merge from main to avoid findings unrelated to the PR.


TestsPassed ✅SkippedFailed
Security Guardian Results with resolved templates240 ran240 passed
TestResult
No test annotations available

@aws-cdk-automation aws-cdk-automation added the pr/needs-further-review PR requires additional review from our team specialists due to the scope or complexity of changes. label Jan 6, 2026
@aws-cdk-automation aws-cdk-automation dismissed their stale review January 7, 2026 10:16

✅ Updated pull request passes all PRLinter validations. Dismissing previous PRLinter review.

@aemada-aws aemada-aws marked this pull request as ready for review January 8, 2026 13:29
@aemada-aws aemada-aws changed the title feat(eks): add OpenIdConnectProviderNative and deprecate OpenIdConnectProvider feat(eks): add OpenIdConnectProviderNative using L1 and deprecate OpenIdConnectProvider Jan 8, 2026
@aemada-aws aemada-aws changed the title feat(eks): add OpenIdConnectProviderNative using L1 and deprecate OpenIdConnectProvider feat(eks): add OpenIdConnectProviderNative using L1 and deprecate OpenIdConnectProvider custom resource Jan 8, 2026
/**
* The thumbprints configured for this provider.
*/
public get openIdConnectProviderthumbprints(): string {
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

This thumbprints property is not exposed in the interface IOpenIdConnectProvider which would lead to interface inconsistency.

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.

I switched from duplicating the props in the interface to match the EKS interface to instead adding oidcProviderNative as a different attribute that matches the new interface while leaving the old one.

I don't think molding the new interface to fit the old one is a good idea as it will create confusion as to why we have duplicate props with different namings and a maintenance burden when moving to cdk v3 as the duplicate props are not deprecated and it doesn't make sense to add something now that is instantly deprecated just to fit the interface.

@aemada-aws aemada-aws marked this pull request as draft January 14, 2026 09:53
@aemada-aws aemada-aws had a problem deploying to deployment-integ-test January 14, 2026 14:53 — with GitHub Actions Failure
@aemada-aws aemada-aws changed the title feat(eks): add OidcProviderNative using L1 and deprecate OpenIdConnectProvider custom resource feat(eks-v2-alpha): add OidcProviderNative using L1 and deprecate OpenIdConnectProvider custom resource Jan 15, 2026
@aemada-aws aemada-aws temporarily deployed to deployment-integ-test January 15, 2026 13:43 — with GitHub Actions Inactive
@aws-cdk-automation aws-cdk-automation removed the pr/needs-maintainer-review This PR needs a review from a Core Team Member label Jan 15, 2026
@aemada-aws aemada-aws marked this pull request as ready for review January 15, 2026 16:50
@aemada-aws aemada-aws requested a review from kumsmrit January 15, 2026 16:55
@aws-cdk-automation aws-cdk-automation added the pr/needs-maintainer-review This PR needs a review from a Core Team Member label Jan 15, 2026
@mergify
Copy link
Copy Markdown
Contributor

mergify bot commented Jan 27, 2026

Thank you for contributing! Your pull request will be updated from main and then merged automatically (do not update manually, and be sure to allow changes to be pushed to your fork).

@mergify
Copy link
Copy Markdown
Contributor

mergify bot commented Jan 27, 2026

Merge Queue Status

✅ The pull request has been merged at 622be9b

This pull request spent 8 hours 30 minutes 4 seconds in the queue, including 7 hours 32 minutes 26 seconds running CI.
The checks were run in-place.

Required conditions to merge

@aws-cdk-automation
Copy link
Copy Markdown
Collaborator

➡️ PR build request submitted to test-main-pipeline ⬅️

A maintainer must now check the pipeline and add the pr-linter/cli-integ-tested label once the pipeline succeeds.

@github-actions
Copy link
Copy Markdown
Contributor

Comments on closed issues and PRs are hard for our team to see.
If you need help, please open a new issue that references this one.

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

Labels

contribution/core This is a PR that came from AWS. p2 pr/needs-further-review PR requires additional review from our team specialists due to the scope or complexity of changes. pr/needs-integration-tests-deployment Requires the PR to deploy the integration test snapshots.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants