Skip to content

Conversation

@shaun-nx
Copy link
Contributor

Proposed changes

This change adds a new page to the NGF Install section on how to install the NGF on OpenShift using the RedHat Operator Hub.

This guide also includes Operator specific configurations as well as troubleshooting.

Closes nginx/nginx-gateway-fabric#3911

Checklist

Before sharing this pull request, I completed the following checklist:

Footnotes

  1. Potentially sensitive information includes personally identify information (PII), authentication credentials, and live URLs. Refer to the style guide for guidance about placeholder content.

sarthyparty and others added 11 commits September 3, 2025 10:16
Update compatability doc with Port for ParentRef
Update gateway addresses compatibility document.
…omment (#1126)

Add a small comment on IP families to gateway addresses compatibility document.
Added mention about unsupported fields for RouteRules and Gateways
Closes nginx/nginx-gateway-fabric#3784
feat: Update advanced routing guide for regex path
…cs (#1284)

* Add details on BuildOS and InferencePoolCount to Product Telemetry docs
* Add InferencePoolCount
* Move InferencePool resource into "Count of Resources" section
@shaun-nx shaun-nx requested a review from a team as a code owner October 20, 2025 09:20
@github-actions github-actions bot added documentation Improvements or additions to documentation product/ngf Issues related to NGINX Gateway Fabric labels Oct 20, 2025
@github-actions
Copy link

Deploy Preview will be available once build job completes!

Name Link
😎 Deploy Preview https://frontdoor-test-docs.nginx.com/previews/docs/1332/

@shaun-nx shaun-nx requested a review from a team October 20, 2025 15:03
@shaun-nx shaun-nx changed the base branch from ngf-release-2.2 to main October 21, 2025 16:12
@shaun-nx
Copy link
Contributor Author

Changing the base branch to main as we need to wait until we have fully published the Operator to Openshift before making this doc available

Copy link
Contributor

@salonichf5 salonichf5 left a comment

Choose a reason for hiding this comment

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

mentioned a couple of nits but overall looks good. I think this branch needs a rebase with main

great job 🥳

@tataruty
Copy link
Contributor

Changing the base branch to main as we need to wait until we have fully published the Operator to Openshift before making this doc available

Did you change base branch too? or only the aim of merge? I see many commits difference

Copy link
Member

@ADubhlaoich ADubhlaoich left a comment

Choose a reason for hiding this comment

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

Broadly speaking, the new page needs to be restructured.

It doesn't adhere to our contemporary page standards:

  • It's missing the documentation metadata
  • The requirements section is not named correctly
  • It uses the NGF three letter acronym: we do not use TLAs in public-facing documentation
  • It uses bash as a formatting language, when shell has been the norm for months
  • It doesn't use Hugo for list enumeration

Many of the structural issues could have been avoided by using Hugo archetypes, for which we maintain documentation which is part of the Contributing guidelines as the first item in the PR checklist.

Effectively no commits on this branch adhere to the Git conventions as the second item in the PR checklist, though this does not need to be fixed in retrospect as long as the eventual merge message is correct.

@shaun-nx
Copy link
Contributor Author

shaun-nx commented Oct 24, 2025

I made changes to the PR to reflect these points of feedback:

  1. It uses the NGF three letter acronym: we do not use TLAs in public-facing documentation
  2. It uses bash as a formatting language, when shell has been the norm for months

I'm confused by these points

Effectively no commits on this branch adhere to the Git conventions as the second item in the PR checklist

The second items says My branch adheres to the Git conventions. This relates to just the branch, and not the individual commit messages from what I understand. This was never called out as a problem before.

It's missing the documentation metadata

There is a Title and Description in this document. Is there other metadata missing? The most reset set of commits adds nd-content-type, nd-product and nd-docs. Were you referring to these?

The requirements section is not named correctly

This document doesn't have a requirements section at all, so it's not clear what you mean by this. Should we have a requirements section?

It doesn't use Hugo for list enumeration

Again, not sure what this means. The Hugo Content page says **The ordered notation automatically enumerates lists when built by Hugo** but it's still not clear what that relates to.
I did run make docs locally but I'm not sure if that really affected anything regarding this point.

As a point of feedback for the feedback,
If the use shell instead of bash is really important then it feels like that should be enforced by a pre-commit check, especially if it's something that we are willing to block a PR on.

Copy link
Contributor

@mjang mjang left a comment

Choose a reason for hiding this comment

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

This is pretty good. I'm guessing that go.mod and go.sum are not part of your proposed change.

shaun-nx and others added 3 commits October 24, 2025 16:49
@shaun-nx shaun-nx requested review from ciarams87 and mjang October 29, 2025 08:24

### Create the NginxGatewayFabric custom resource

Create a minimal `NginxGatewayFabric` custom resource for OpenShift. Include this code in a file named `nginx-gateway-fabric.yaml`.
Copy link
Contributor

Choose a reason for hiding this comment

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

When we install the operator using the OperatorHub, this can be done in the UI

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Would it help to say "This can be done in the UI, optionally you can choose to apply the resource directly to the cluster"

Do you have an example of what that looks like in the UI? I didn't apply this in the UI when testing with OKD at the time.

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 have an example, I'd need access to a cluster, but it would likely be the standard way someone would install an operand (i.e. the NGF control plane in this case).

The flow is:

Click the Create NginxGatewayFabric in the NGINX Gateway Fabric Operator tab.
Toggle the Configure via YAML view to on.
Add the YAML as specified in this example.
Click "Create"

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Sounds good. I'll make that adjustment. Thanks @ciarams87 😃

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@ciarams87 this should be updated now

@shaun-nx shaun-nx requested a review from ciarams87 October 29, 2025 11:23
@JTorreG
Copy link
Contributor

JTorreG commented Oct 29, 2025

I have addressed everything except this in Slack.
leaving this one for @ADubhlaoich

The requirements section is not named correctly

This document doesn't have a requirements section at all, so it's not clear what you mean by this. Should we have a requirements section?

1. Navigate to the Red Hat Catalog: https://catalog.redhat.com/en
1. Search for "NGINX Gateway Fabric Operator" in the searchbar at the top
1. Select NGINX Gateway Fabric Operator
1. Select **Deploy & use**.
Copy link
Contributor

Choose a reason for hiding this comment

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

nit: either periods on all bullet items or none

Suggested change
1. Select **Deploy & use**.
1. Select **Deploy & use**


## Integrate with NGINX One Console (optional)

If you want to use NGINX One Console to monitor NGINX Gateway Fabric, create a secret for the dataplane key (replace VALUE with your key).
Copy link
Contributor

Choose a reason for hiding this comment

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

Might be good to link to our other documentation on setting up this secret / using N1c. Though this could also be fine too.

-n nginx-gateway-fabric
```

Reference this secret in `spec.nginx.nginxOneConsole.dataplaneKeySecretName`.
Copy link
Contributor

Choose a reason for hiding this comment

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

I feel like more information should be given here. If NGF is already deployed, they'll need to modify the deployment flags I think.

Copy link
Contributor

Choose a reason for hiding this comment

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

Actually are these on the NginxGatewayFabric talked about below?


## Configure NGINX Plus licensing (optional)

If you plan to use NGINX Plus, set `spec.nginx.plus: true`, add image pull credentials, and create a license secret if needed.
Copy link
Contributor

Choose a reason for hiding this comment

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

Same as above

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

Labels

documentation Improvements or additions to documentation product/ngf Issues related to NGINX Gateway Fabric

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Create OpenShift installation documentation

10 participants