Skip to content

SPIRE-150: Adds enhancement proposal for integrating OIDC route for Zero Trust Workload Identity Manager #1824

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

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

Conversation

anirudhAgniRedhat
Copy link
Contributor

This PR introduces a new enhancement proposal that extends the Zero Trust Workload Identity Manager with automatic OIDC route creation capabilities.

@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 Aug 8, 2025
@openshift-ci openshift-ci bot requested review from cybertron and jmguzik August 8, 2025 11:35
Copy link
Contributor

openshift-ci bot commented Aug 8, 2025

[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 hasbro17 for approval. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found 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

@anirudhAgniRedhat anirudhAgniRedhat force-pushed the oidc-route branch 3 times, most recently from 5a825af to 7cdf7cf Compare August 8, 2025 12:32
- As a **cluster administrator** managing SPIRE deployments,
I want OIDC routes to be created automatically without additional configuration,
So that I can focus on trust domain management rather than networking and certificate setup.
- As a **cluster administrator** managing SPIRE deployments, I want OIDC discovery routes to be created and managed automatically (including cleanup) when I deploy or delete a `SpireOIDCDiscoveryProvider` so that external services can access SPIFFE identity verification endpoints without requiring me to manually configure networking, certificates, or route lifecycle management.
Copy link
Contributor

Choose a reason for hiding this comment

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

This user story covers entire feature, can you break it down to different user stories? Please refer to https://github.com/openshift/enhancements/blob/master/guidelines/enhancement_template.md#user-stories

- As a **security engineer** responsible for cluster security,
I want OIDC discovery endpoints to be exposed with secure TLS termination by default,
So that external clients can safely discover SPIFFE identity information without compromising security.
- As a **security engineer** implementing zero-trust architecture, I want OIDC discovery endpoints to be exposed through secure TLS-terminated routes with automatic certificate management so that external clients can safely discover and validate SPIFFE workload identities while maintaining end-to-end encryption and security best practices.
Copy link
Contributor

Choose a reason for hiding this comment

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

What is the context of zero-trust architecture in this usecase?

So that external clients can safely discover SPIFFE identity information without compromising security.
- As a **security engineer** implementing zero-trust architecture, I want OIDC discovery endpoints to be exposed through secure TLS-terminated routes with automatic certificate management so that external clients can safely discover and validate SPIFFE workload identities while maintaining end-to-end encryption and security best practices.

- As a **DevOps engineer** deploying applications that verify workload identities, I want to easily discover the OIDC endpoint URL with a predictable pattern so that I can configure my external services to validate JWT tokens from workloads running in the OpenShift cluster without needing deep knowledge of OpenShift networking internals.
Copy link
Contributor

Choose a reason for hiding this comment

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

This is internal to the oidc discovery implementation, how does this enhancement intend to propose solution of discovery?

@anirudhAgniRedhat anirudhAgniRedhat changed the title WIP: Adds enhancement proposal for integrating OIDC route for Zero Trust Workload Identity Manager SPIRE-150: Adds enhancement proposal for integrating OIDC route for Zero Trust Workload Identity Manager Aug 12, 2025
@openshift-ci-robot openshift-ci-robot added the jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. label Aug 12, 2025
@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 Aug 12, 2025
@openshift-ci-robot
Copy link

openshift-ci-robot commented Aug 12, 2025

@anirudhAgniRedhat: This pull request references SPIRE-150 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 "4.20.0" version, but no target version was set.

In response to this:

This PR introduces a new enhancement proposal that extends the Zero Trust Workload Identity Manager with automatic OIDC route creation capabilities.

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.

Copy link
Contributor

openshift-ci bot commented Aug 14, 2025

@anirudhAgniRedhat: all tests passed!

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.

Copy link
Member

@lunarwhite lunarwhite left a comment

Choose a reason for hiding this comment

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

LGTM expect for one case:

Do we plan to add support for users to configure per-route TLS certificates in future? (Perhaps by utilizing Route's spec.tls.externalCertificate field)

IMHO that'd help improve the solution's flexibility. Currently the Entra ID users won't benefit from this enhancement if replacing cluster-wide ingress certs is not a feasible option for them. They need to explicitly disable this feature and create an Ingress/Route with custom TLS on their own in order to serve OIDC provider certificates issued from a publicly trusted CA.

@anirudhAgniRedhat
Copy link
Contributor Author

Do we plan to add support for users to configure per-route TLS certificates in future? (Perhaps by utilizing Route's spec.tls.externalCertificate field)
@lunarwhite this field should be open to edit

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.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants