Skip to content

OSDOCS-14879: add enablement procedure #94480

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: main
Choose a base branch
from

Conversation

jldohmann
Copy link
Contributor

@jldohmann jldohmann commented Jun 9, 2025

@openshift-ci-robot
Copy link

openshift-ci-robot commented Jun 9, 2025

@jldohmann: This pull request references OSDOCS-14879 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 either version "4.20." or "openshift-4.20.", but it targets "openshift-4.19" instead.

In response to this:

Version(s): 4.19+

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

Link to docs preview:

QE review:

  • QE has approved this change.

Additional information:

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 Jun 9, 2025
@openshift-ci openshift-ci bot added the size/M Denotes a PR that changes 30-99 lines, ignoring generated files. label Jun 9, 2025
@ocpdocs-previewbot
Copy link

Copy link

openshift-ci bot commented Jun 9, 2025

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

@openshift-ci-robot
Copy link

openshift-ci-robot commented Jun 9, 2025

@jldohmann: This pull request references OSDOCS-14879 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 either version "4.20." or "openshift-4.20.", but it targets "openshift-4.19" instead.

In response to this:

Version(s): 4.19+

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

Link to docs preview: https://94480--ocpdocs-pr.netlify.app/openshift-enterprise/latest/networking/configuring_ingress_cluster_traffic/ingress-gateway-api.html#nw-ingress-gateway-api-enable_ingress-gateway-api

QE review:

  • QE has approved this change.

Additional information:

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.

@jldohmann
Copy link
Contributor Author

@rhamini3 could you PTAL at this docs PR for QE ack? thank you

@jldohmann jldohmann added the peer-review-needed Signifies that the peer review team needs to review this PR label Jun 10, 2025
@lahinson lahinson added peer-review-in-progress Signifies that the peer review team is reviewing this PR and removed peer-review-needed Signifies that the peer review team needs to review this PR labels Jun 10, 2025
Copy link
Contributor

@lahinson lahinson left a comment

Choose a reason for hiding this comment

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

Nice work! Just a few nits for your consideration.

[id="nw-ingress-gateway-api-enable_{context}"]
= Enabling Gateway API for the Ingress Operator

When you enable Gateway API, it installs the subscription, the Istio operator, the custom resource defintions (CRDs), and creates the Istio resources. The following procedure describes how to enable Gateway API.
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
When you enable Gateway API, it installs the subscription, the Istio operator, the custom resource defintions (CRDs), and creates the Istio resources. The following procedure describes how to enable Gateway API.
When you enable Gateway API, it installs the subscription, the Istio operator, the custom resource defintions (CRDs), and creates the Istio resources.

From the SSG: Avoid self-referential language, such as "This topic covers…​" or "Use this procedure to…​".

Copy link

Choose a reason for hiding this comment

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

typo in "definitions"

Suggested change
When you enable Gateway API, it installs the subscription, the Istio operator, the custom resource defintions (CRDs), and creates the Istio resources. The following procedure describes how to enable Gateway API.
When you enable Gateway API, it installs the subscription, the Istio operator, the custom resource definitions (CRDs), and creates the Istio resources. The following procedure describes how to enable Gateway API.

----
<1> The controller name must be `v1` for the Ingress Operator to manage it. Setting this field to anything else will be ignored by the Ingress Operator, because it is assumed to be a different implementation.

. Create a secret using the default certificate:
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
. Create a secret using the default certificate:
. Create a secret by using the default certificate:

ISG: https://www.ibm.com/docs/en/ibm-style?topic=word-usage#using

spec:
controllerName: openshift.io/gateway-controller/v1 <1>
----
<1> The controller name must be `v1` for the Ingress Operator to manage it. Setting this field to anything else will be ignored by the Ingress Operator, because it is assumed to be a different implementation.
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
<1> The controller name must be `v1` for the Ingress Operator to manage it. Setting this field to anything else will be ignored by the Ingress Operator, because it is assumed to be a different implementation.
<1> The controller name must be `v1` for the Ingress Operator to manage it. If you set this field to anything else, the Ingress Operator ignores it because it is assumed to be a different implementation.

Choose a reason for hiding this comment

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

also suggest to mention that it will not be accepted in its status section


.Procedure

. Create a `GatewayClass` object with the following manifest:
Copy link
Contributor

Choose a reason for hiding this comment

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

I might be overthinking here, but are you creating the object with a manifest, or are you creating a manifest file where you define the GatewayClass object?

$ oc -n openshift-ingress create secret tls gwapi-wildcard --cert=wildcard.crt --key=wildcard.key
----

. Create a `Gateway` object with the following manifest:
Copy link
Contributor

Choose a reason for hiding this comment

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

Again, I might be overthinking here, but are you creating the object with a manifest, or are you creating a manifest file where you define the Gateway object?

from: All
----
<1> The name of the previously created `GatewayClass` object.
<2> The associated listeners for the `Gateway` object. These listeners are for HTTP and HTTPS, and let you configure ingress to your applications using Gateway API `HTTPRoute` resources.
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
<2> The associated listeners for the `Gateway` object. These listeners are for HTTP and HTTPS, and let you configure ingress to your applications using Gateway API `HTTPRoute` resources.
<2> The associated listeners for the `Gateway` object. These listeners are for HTTP and HTTPS, and you use them to configure ingress to your applications by using Gateway API `HTTPRoute` resources.

Minor revision to avoid anthropomorphic language.

tls:
mode: Terminate
certificateRefs:
- name: gwapi-wildcard <3>
Copy link
Contributor

Choose a reason for hiding this comment

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

I don't see an explanation for callout 3.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

🤦 lol ofc i'd forget to add it. thank you, i'll update this with the callout

@lahinson lahinson added peer-review-done Signifies that the peer review team has reviewed this PR and removed peer-review-in-progress Signifies that the peer review team is reviewing this PR labels Jun 10, 2025

:_mod-docs-content-type: PROCEDURE
[id="nw-ingress-gateway-api-enable_{context}"]
= Enabling Gateway API for the Ingress Operator
Copy link

Choose a reason for hiding this comment

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

Is this under a section for Gateway API? I think a better title might be "Getting Started with Gateway API". But I guess it depends on the surrounding content.

spec:
controllerName: openshift.io/gateway-controller/v1 <1>
----
<1> The controller name must be `v1` for the Ingress Operator to manage it. Setting this field to anything else will be ignored by the Ingress Operator, because it is assumed to be a different implementation.
Copy link

Choose a reason for hiding this comment

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

Suggested change
<1> The controller name must be `v1` for the Ingress Operator to manage it. Setting this field to anything else will be ignored by the Ingress Operator, because it is assumed to be a different implementation.
<1> The controller name must be exactly as shown for the Ingress Operator to manage it. Setting this field to anything means the GatewayClass and all of its associated Gateways, GRPCRoutes, and HTTPRoutes will be ignored by the Ingress Operator. The controllerName is tied to the implementation and `openshift.io/gateway-controller/v1` is the only controllerName that can be used with the OpenShift implementation.

Copy link

Choose a reason for hiding this comment

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

Actually, this little note should be highlighted as an "Important" note. We don't want anyone to miss this.


[id="gateway-api-benefits_{context}"]
== Benefits of the Gateway API
== Benefits of Gateway API
The Gateway API provides the following benefits:
Copy link

Choose a reason for hiding this comment

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

One more:

Suggested change
The Gateway API provides the following benefits:
Gateway API provides the following benefits:

The Gateway API provides the following benefits:

* Portability: While {product-title} uses HAProxy to improve Ingress performance, Gateway API does not rely on vendor-specific annotations to provide certain behavior. To get comparable performance as HAProxy, the `Gateway` objects need to be horizontally scaled or their associated nodes need to be vertically scaled.
* Separation of concerns: Gateway API uses a role-based approach to its resources, and more neatly fits into how a large organization structures its responsibilities and teams. Platform engineers might focus on `GatewayClass` resources, cluster admins might focus on configuring `Gateway` resources, and application developers might focus on routing their services with `HTTPRoute` resources.
* Extensibility: Additional functionality is developed as a standardized CRD.

[id="gateway-api-limitations_{context}"]
== Limitations of the Gateway API
== Limitations of Gateway API
The Gateway API has the following limitations:
Copy link

Choose a reason for hiding this comment

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

Suggested change
The Gateway API has the following limitations:
Gateway API has the following limitations:

@rhamini3
Copy link

one small suggestion, otherwise
/label qe-approved

@openshift-ci openshift-ci bot added the qe-approved Signifies that QE has signed off on this PR label Jun 10, 2025
@openshift-ci-robot
Copy link

openshift-ci-robot commented Jun 10, 2025

@jldohmann: This pull request references OSDOCS-14879 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 either version "4.20." or "openshift-4.20.", but it targets "openshift-4.19" instead.

In response to this:

Version(s): 4.19+

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

Link to docs preview: https://94480--ocpdocs-pr.netlify.app/openshift-enterprise/latest/networking/configuring_ingress_cluster_traffic/ingress-gateway-api.html#nw-ingress-gateway-api-enable_ingress-gateway-api

QE review:

  • QE has approved this change.

Additional information:

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
branch/enterprise-4.19 jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. peer-review-done Signifies that the peer review team has reviewed this PR qe-approved Signifies that QE has signed off on this PR size/M Denotes a PR that changes 30-99 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants