Skip to content

Conversation

@wgabor0427
Copy link
Contributor

@wgabor0427 wgabor0427 commented Dec 10, 2025

Version(s):
4.20+

Issue:
https://issues.redhat.com/browse/OSDOCS-17246

Link to docs preview:

QE review:

  • QE has approved this change.

Additional information:

@openshift-ci openshift-ci bot added the size/XL Denotes a PR that changes 500-999 lines, ignoring generated files. label Dec 10, 2025
// * security/zero_trust_workload_identity_manageer/zero-trust-manager-spire-federation.adoc

:_mod-docs-content-type: PROCEDURE
[id="zero-trust-manager-automatic-management{context}"]
Copy link
Collaborator

Choose a reason for hiding this comment

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

🤖 [error] OpenShiftAsciiDoc.IdHasContextVariable: ID is missing the '_{context}' variable at the end of the ID.

// * security/zero_trust_workload_identity_manageer/zero-trust-manager-spire-federation.adoc

:_mod-docs-content-type: CONCEPT
[id="zero-trust-manager-config-example{context}"]
Copy link
Collaborator

Choose a reason for hiding this comment

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

🤖 [error] OpenShiftAsciiDoc.IdHasContextVariable: ID is missing the '_{context}' variable at the end of the ID.

// * security/zero_trust_workload_identity_manageer/zero-trust-manager-spire-federation.adoc

:_mod-docs-content-type: CONCEPT
[id="zero-trust-manager-configure-endpoints{context}"]
Copy link
Collaborator

Choose a reason for hiding this comment

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

🤖 [error] OpenShiftAsciiDoc.IdHasContextVariable: ID is missing the '_{context}' variable at the end of the ID.

// * security/zero_trust_workload_identity_manageer/zero-trust-manager-spire-federation.adoc

:_mod-docs-content-type: CONCEPT
[id="zero-trust-manager-federation-field-reference{context}"]
Copy link
Collaborator

Choose a reason for hiding this comment

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

🤖 [error] OpenShiftAsciiDoc.IdHasContextVariable: ID is missing the '_{context}' variable at the end of the ID.

|Description

|`federation.bundleEndpoint.profile`
|enum
Copy link
Collaborator

Choose a reason for hiding this comment

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

🤖 [error] RedHat.TermsErrors: Use 'data enumeration' rather than 'enum'. For more information, see RedHat.TermsErrors.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

enum is correct in this instance

// * security/zero_trust_workload_identity_manageer/zero-trust-manager-spire-federation.adoc

:_mod-docs-content-type: PROCEDURE
[id="zero-trust-manager-manual-management{context}"]
Copy link
Collaborator

Choose a reason for hiding this comment

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

🤖 [error] OpenShiftAsciiDoc.IdHasContextVariable: ID is missing the '_{context}' variable at the end of the ID.

$ oc --kubeconfig=/path/to/cluster3/kubeconfig apply -f -
----

The following is example output from running the command:
Copy link
Collaborator

Choose a reason for hiding this comment

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

🤖 [error] AsciiDocDITA.TaskStep: Content other than a single list cannot be mapped to DITA tasks.

Copy link

@anirudhAgniRedhat anirudhAgniRedhat left a comment

Choose a reason for hiding this comment

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

In this document , the way to setup the federation is explained via script. the script mentioned in the document is not customer facing and might not be shared with the customers.
Can we please update it and only explain the way to configure federation via spire server CR only

spec:
# ... other configuration ...
federation:
#########################################################################

Choose a reason for hiding this comment

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

remove these comments

Comment on lines 34 to 51
[source,terminal]
----
$ ./setup-3-cluster-federation-serving_cert.sh \
-k1 /path/to/cluster1/kubeconfig \
-k2 /path/to/cluster2/kubeconfig \
-k3 /path/to/cluster3/kubeconfig \
-c1 cluster1-name \
-c2 cluster2-name \
-c3 cluster3-name
----
+
The following is an example of a configured script.
+
[source,terminal]
----
$ ./setup-3-cluster-federation-serving_cert.sh \
-k1 /home/rausingh/Documents/aws_cluster/08DecCluster1/auth/kubeconfig \
-k2 /home/rausingh/Documents/aws_cluster/08DecCluster2/auth/kubeconfig \

Choose a reason for hiding this comment

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

please do not refer the script to configure the federation.

@@ -0,0 +1,190 @@
// Module included in the following assemblies:

Choose a reason for hiding this comment

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

This file also refers to the script. Can we please remove this??


* You have network connectivity between the clusters you intend to federate.

.Procedures
Copy link
Collaborator

Choose a reason for hiding this comment

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

🤖 [error] AsciiDocDITA.TaskTitle: Unsupported titles cannot be mapped to DITA tasks.


* You have network connectivity between the clusters you intend to federate.

.Procedures
Copy link
Collaborator

Choose a reason for hiding this comment

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

🤖 [error] AsciiDocDITA.BlockTitle: Block titles can only be assigned to examples, figures, and tables in DITA.


. Edit your `SpireServer` custom resource to add the `federation` section.
+
.Example YAML
Copy link
Collaborator

Choose a reason for hiding this comment

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

🤖 [error] AsciiDocDITA.BlockTitle: Block titles can only be assigned to examples, figures, and tables in DITA.

@anirudhAgniRedhat
Copy link

/cc @rausingh-rh for review

@openshift-ci openshift-ci bot requested a review from rausingh-rh December 15, 2025 16:06
@openshift-ci
Copy link

openshift-ci bot commented Dec 15, 2025

@anirudhAgniRedhat: GitHub didn't allow me to request PR reviews from the following users: for, review.

Note that only openshift members and repo collaborators can review this PR, and authors cannot review their own PRs.

Details

In response to this:

/cc @rausingh-rh for review

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.

@anirudhAgniRedhat
Copy link

/cc @sayak-redhat for docs review as well

@openshift-ci openshift-ci bot requested a review from sayak-redhat December 15, 2025 16:08
@openshift-ci
Copy link

openshift-ci bot commented Dec 15, 2025

@anirudhAgniRedhat: GitHub didn't allow me to request PR reviews from the following users: for, docs, review, as, well.

Note that only openshift members and repo collaborators can review this PR, and authors cannot review their own PRs.

Details

In response to this:

/cc @sayak-redhat for docs review as well

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.


:_mod-docs-content-type: PROCEDURE
[id="zero-trust-manager-automatic-management_{context}"]
= Using SPIRE federation with Automatice Certificate Management (ACME)
Copy link

@rausingh-rh rausingh-rh Dec 16, 2025

Choose a reason for hiding this comment

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

Suggested change
= Using SPIRE federation with Automatice Certificate Management (ACME)
= Using SPIRE federation with Automatic Certificate Management Environment (ACME)

typo

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done

@openshift-ci openshift-ci bot added size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. and removed size/XL Denotes a PR that changes 500-999 lines, ignoring generated files. labels Dec 16, 2025

managedRoute: "true" # <7>
----
<1> Set a unique trust domain for each cluster (for example, `cluster1.example.com`, `cluster2.example.com`)
Copy link
Collaborator

Choose a reason for hiding this comment

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

🤖 [error] AsciiDocDITA.CalloutList: Callouts are not supported in DITA.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done

"spiffe_sequence": 1
}
----
<1> Paste the complete trust bundle JSON content you fetched using `curl` in step 5
Copy link
Collaborator

Choose a reason for hiding this comment

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

🤖 [error] AsciiDocDITA.CalloutList: Callouts are not supported in DITA.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done

"spiffe_sequence": 1
}
----
<1> The SPIFFE ID of the remote SPIRE server. Required for `https_spiffe` profile to validate the remote server's identity
Copy link
Collaborator

Choose a reason for hiding this comment

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

🤖 [error] AsciiDocDITA.CalloutList: Callouts are not supported in DITA.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done


* You have `cluster-admin` privileges on all participating clusters.

* You have installed the {cert-manager-operator}. For more information, see link:https://docs.redhat.com/en/documentation/openshift_container_platform/4.20/html/security_and_compliance/cert-manager-operator-for-red-hat-openshift[cert-manager Operator for Red Hat OpenShift].
Copy link
Collaborator

Choose a reason for hiding this comment

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

🤖 [error] OpenShiftAsciiDoc.SuggestAttribute: Use the AsciiDoc attribute '{cert-manager-operator}' rather than the plain text product term 'cert-manager Operator for Red Hat OpenShift', unless your use case is an exception.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done

Copy link
Member

@stevsmit stevsmit left a comment

Choose a reason for hiding this comment

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

I've left a lot of feedback on this PR, and really most of it can be resolved in a separate PR. I am not typically a fan of asking people to do remediation work after something's been merged, but you seem to have a lot on your plate across multiple PRs. Normally I would require this stuff to be fixed before merging, but given the nature of how we do reviews now, it seems like it's crunch time for you.

(Keep in mind that if you ever have XXL PRs that are staged and ready for review, you can still send them to merge review and add the do-not-merge label, just so when it's release day you can quickly get someone to merge them without having an actual review done).

What you need to do before merging:

  • Fix the mod_docs_content_type types where I've called them out. You have concept modules that are really reference modules, and reference modules that are really concept modules. I can honestly see how this can be confusing. So if you'll fix those, I'll merge this PR.

Post migration:

  1. Almost all callouts need formatted according to Andrea's team's guidelines here: https://docs.google.com/document/d/1j78SA8Y-ZRlVATbVe6D8bdYj7mQzzhOJtGt1xH_3qa0/edit?tab=t.0 .
  2. There are some minor nits like adding ". . . by running the following command:."
  3. There are a few instances where I think substep numbering would help
  4. Be sure to run the asciidoctor-dita-vale tool on subsequent PRs.

= Using SPIRE federation with Automatic Certificate Management (ACME)

[role="_abstract"]
Using SPIRE federation with ACME provides automatic certificate provisioning from Let's Encrypt. ACME also enables automatic certificate renewal before expiration, eliminating manual certificate management overhead.
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
Using SPIRE federation with ACME provides automatic certificate provisioning from Let's Encrypt. ACME also enables automatic certificate renewal before expiration, eliminating manual certificate management overhead.
Using SPIRE federation with Automatic Certificate Management (ACME) provides automatic certificate provisioning from Let's Encrypt. ACME also enables automatic certificate renewal before expiration, eliminating manual certificate management overhead.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done

tosAccepted: "true"
managedRoute: "true"
----

Copy link
Member

Choose a reason for hiding this comment

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

Should be like:

Suggested change
+
--
where:
`trustDomain::` Set a unique trust domain for each cluster (for example, `cluster1.example.com`, `cluster2.example.com`)
`<entry 2>`
`<entry 3>`
--

Technically some of these would start with "Specifies." See https://docs.google.com/document/d/1j78SA8Y-ZRlVATbVe6D8bdYj7mQzzhOJtGt1xH_3qa0/edit?tab=t.0#heading=h.vsfnqm21wp0r

Probably all need to end with periods.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I redid all of this in the new format * The <replaceable value> field .. format

trustDomain:: Set a unique trust domain for each cluster (for example, `cluster1.example.com`, `cluster2.example.com`)
profile:: Use `https_web` profile for ACME-based certificate management
directoryUrl:: Let's Encrypt production directory URL. For testing, use: `https://acme-staging-v02.api.letsencrypt.org/directory`
domainName:: The domain name where your federation endpoint will be accessible. This will be automatically set to `federation.<cluster-apps-domain>` if `managedRoute` is set to "true"
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
domainName:: The domain name where your federation endpoint will be accessible. This will be automatically set to `federation.<cluster-apps-domain>` if `managedRoute` is set to "true"
domainName:: The domain name where your federation endpoint will be accessible. This is automatically set to `federation.<cluster-apps-domain>` if `managedRoute` is set to "true".

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done

tosAccepted:: Accept Let's Encrypt Terms of Service
managedRoute:: Enable automatic route creation by the operator for the federation bundle endpoint

. Apply the configuration to each cluster:
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
. Apply the configuration to each cluster:
. Apply the configuration to each cluster by entering the following command:

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done

Copy link
Contributor Author

Choose a reason for hiding this comment

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

On all like this

$ oc apply -f spireserver.yaml
----

. Wait for the SPIRE Server to be ready on each cluster:
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
. Wait for the SPIRE Server to be ready on each cluster:
. Check the status of the SPIRE Server by entering the following command. Wait for the `Ready` status to be returned before proceeding to the next step.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done


[IMPORTANT]
====
Once enabled, federation cannot be disabled. The bundle endpoint profile is immutable once configured. Changing the profile or disabling federation requires reinstallation of the system. However, peer configurations (`federatesWith`) remain dynamic and can be added or removed at any time. Plan your profile selection carefully based on your long-term federation requirements.
Copy link
Member

Choose a reason for hiding this comment

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

We only use "once" when it's being used as "one time".

Suggested change
Once enabled, federation cannot be disabled. The bundle endpoint profile is immutable once configured. Changing the profile or disabling federation requires reinstallation of the system. However, peer configurations (`federatesWith`) remain dynamic and can be added or removed at any time. Plan your profile selection carefully based on your long-term federation requirements.
After enablement, federation cannot be disabled. The bundle endpoint profile is immutable once configured. Changing the profile or disabling federation requires reinstallation of the system. However, peer configurations (`federatesWith`) remain dynamic and can be added or removed at any time. Plan your profile selection carefully based on your long-term federation requirements.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done

refreshHint: 300
managedRoute: "true"
----

Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
+
--
where:
<entry>
--

Copy link
Contributor Author

Choose a reason for hiding this comment

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

New format


[source,terminal]
----
$ curl -k https://federation.apps.cluster2.example.com > cluster2-bundle.json
Copy link
Member

Choose a reason for hiding this comment

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

In general we try not to have code blocks in notes. We could just make it another line and move it out of the NOTE box.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Moved code outside of annotation


. Create `ClusterFederatedTrustDomain` resources for each remote trust domain.
+
On Cluster 1, create a resource to federate with Cluster 2:
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
On Cluster 1, create a resource to federate with Cluster 2:
.. On Cluster 1, create a resource to federate with Cluster 2:

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done

//
// * security/zero_trust_workload_identity_manager/zero-trust-manager-spire-federation.adoc

:_mod-docs-content-type: CONCEPT
Copy link
Member

Choose a reason for hiding this comment

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

Probably more of a REFERENCE module (even has REFERENCE in the title :D )

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Changed


* You have `cluster-admin` privileges on all participating clusters.

* You have installed the {cert-manager-operator}. For more information, see link:https://docs.redhat.com/en/documentation/openshift_container_platform/4.20/html/security_and_compliance/cert-manager-operator-for-red-hat-openshift[cert-manager Operator for Red Hat OpenShift].
Copy link
Collaborator

Choose a reason for hiding this comment

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

🤖 [error] OpenShiftAsciiDoc.SuggestAttribute: Use the AsciiDoc attribute '{cert-manager-operator}' rather than the plain text product term 'cert-manager Operator for Red Hat OpenShift', unless your use case is an exception.

@sayak-redhat
Copy link

lgtm

Copy link

@sayak-redhat sayak-redhat left a comment

Choose a reason for hiding this comment

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

lgtm

Comment on lines 183 to 185
metadata:
name: cluster
namespace: zero-trust-workload-identity-manager
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
metadata:
name: cluster
namespace: zero-trust-workload-identity-manager
metadata:
name: cluster

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done

Comment on lines 35 to 37
metadata:
name: cluster
namespace: zero-trust-workload-identity-manager
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
metadata:
name: cluster
namespace: zero-trust-workload-identity-manager
metadata:
name: cluster

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done

Comment on lines 20 to 22
metadata:
name: cluster
namespace: zero-trust-workload-identity-manager
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
metadata:
name: cluster
namespace: zero-trust-workload-identity-manager
metadata:
name: cluster

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done

Comment on lines 57 to 59
metadata:
name: cluster
namespace: zero-trust-workload-identity-manager
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
metadata:
name: cluster
namespace: zero-trust-workload-identity-manager
metadata:
name: cluster

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done

- trustDomain: partner.example.com
bundleEndpointUrl: https://federation.partner.example.com
bundleEndpointProfile: https_web
#Another external partner using Web PKI
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
#Another external partner using Web PKI
# Another external partner using Web PKI

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done

Comment on lines 232 to 234
metadata:
name: cluster
namespace: zero-trust-workload-identity-manager
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
metadata:
name: cluster
namespace: zero-trust-workload-identity-manager
metadata:
name: cluster

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done

Comment on lines 385 to 387
metadata:
name: cluster
namespace: zero-trust-workload-identity-manager
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
metadata:
name: cluster
namespace: zero-trust-workload-identity-manager
metadata:
name: cluster

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done

+
[source,terminal]
----
$ oc get spireserver cluster -n zero-trust-workload-identity-manager -w
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
$ oc get spireserver cluster -n zero-trust-workload-identity-manager -w
$ oc get spireserver cluster -w

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done

Comment on lines 58 to 64
. Wait for the SPIRE Server to be ready:
+
[source,terminal]
----
$ oc get spireserver cluster -n zero-trust-workload-identity-manager -w
----
+
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
. Wait for the SPIRE Server to be ready:
+
[source,terminal]
----
$ oc get spireserver cluster -n zero-trust-workload-identity-manager -w
----
+

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done

+
[source,terminal]
----
$ oc get spireserver cluster -n zero-trust-workload-identity-manager -w
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
$ oc get spireserver cluster -n zero-trust-workload-identity-manager -w
$ oc get spireserver cluster -w

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done


:_mod-docs-content-type: PROCEDURE
[id="zero-trust-manager-automatic-management_{context}"]
= Using SPIRE federation with Automatic Certificate Management
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
= Using SPIRE federation with Automatic Certificate Management
= Using SPIRE federation with Automatic Certificate Management Environment protocol

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done

= Using SPIRE federation with Automatic Certificate Management

[role="_abstract"]
Using SPIRE federation with Automatic Certificate Management (ACME) provides automatic certificate provisioning from Let's Encrypt. ACME also enables automatic certificate renewal before expiration, eliminating manual certificate management overhead.
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
Using SPIRE federation with Automatic Certificate Management (ACME) provides automatic certificate provisioning from Let's Encrypt. ACME also enables automatic certificate renewal before expiration, eliminating manual certificate management overhead.
Using SPIRE federation with Automatic Certificate Management Environment (ACME) protocol provides automatic certificate provisioning from Let's Encrypt. ACME also enables automatic certificate renewal before expiration, eliminating manual certificate management overhead.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done


* You have `cluster-admin` privileges on all participating clusters.

* You have installed the {cert-manager-operator}. For more information, see link:https://docs.redhat.com/en/documentation/openshift_container_platform/4.20/html/security_and_compliance/cert-manager-operator-for-red-hat-openshift[cert-manager Operator for Red Hat OpenShift].
Copy link
Collaborator

Choose a reason for hiding this comment

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

🤖 [error] OpenShiftAsciiDoc.SuggestAttribute: Use the AsciiDoc attribute '{cert-manager-operator}' rather than the plain text product term 'cert-manager Operator for Red Hat OpenShift', unless your use case is an exception.


* You have `cluster-admin` privileges on all participating clusters.

* You have installed the {cert-manager-operator}. For more information, see link:https://docs.redhat.com/en/documentation/openshift_container_platform/4.20/html/security_and_compliance/cert-manager-operator-for-red-hat-openshift[cert-manager Operator for Red Hat OpenShift].
Copy link
Collaborator

Choose a reason for hiding this comment

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

🤖 [error] OpenShiftAsciiDoc.SuggestAttribute: Use the AsciiDoc attribute '{cert-manager-operator}' rather than the plain text product term 'cert-manager Operator for Red Hat OpenShift', unless your use case is an exception.

$ curl -k https://federation.apps.cluster2.example.com > cluster2-bundle.json
----
+
The response contains the trust bundle in JSON Web Key Set (JWKS) format:
Copy link
Member

Choose a reason for hiding this comment

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

This line needs fixed:

Screenshot From 2025-12-18 13-41-05

Copy link
Collaborator

Choose a reason for hiding this comment

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

🤖 [error] AsciiDocDITA.ShortDescription: Assign [role="_abstract"] to a paragraph to use it as in DITA.


* You have `cluster-admin` privileges on all participating clusters.

* You have installed the {cert-manager-operator}. For more information, see link:https://docs.redhat.com/en/documentation/openshift_container_platform/4.20/html/security_and_compliance/cert-manager-operator-for-red-hat-openshift[cert-manager Operator for Red Hat OpenShift].
Copy link
Collaborator

Choose a reason for hiding this comment

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

🤖 [error] OpenShiftAsciiDoc.SuggestAttribute: Use the AsciiDoc attribute '{cert-manager-operator}' rather than the plain text product term 'cert-manager Operator for Red Hat OpenShift', unless your use case is an exception.

Copy link
Collaborator

Choose a reason for hiding this comment

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

🤖 [error] AsciiDocDITA.ShortDescription: Assign [role="_abstract"] to a paragraph to use it as in DITA.

Copy link
Collaborator

Choose a reason for hiding this comment

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

🤖 [error] AsciiDocDITA.ShortDescription: Assign [role="_abstract"] to a paragraph to use it as in DITA.

@openshift-ci
Copy link

openshift-ci bot commented Dec 18, 2025

@wgabor0427: 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.

@stevsmit
Copy link
Member

Merging under the conditions that there are still a few ADV errors that need resolved in a follow up PR.

@stevsmit stevsmit merged commit 43ec5f2 into openshift:main Dec 18, 2025
2 checks passed
@stevsmit
Copy link
Member

/cherry-pick enterprise-4.21

@stevsmit
Copy link
Member

/cherry-pick enterprise-4.20

@openshift-cherrypick-robot

@stevsmit: new pull request created: #104191

Details

In response to this:

/cherry-pick enterprise-4.21

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.

@openshift-cherrypick-robot

@stevsmit: new pull request created: #104192

Details

In response to this:

/cherry-pick enterprise-4.20

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.

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

Labels

branch/enterprise-4.20 branch/enterprise-4.21 merge-review-in-progress Signifies that the merge review team is reviewing this PR size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

9 participants