Skip to content
This repository was archived by the owner on May 24, 2023. It is now read-only.

Document the GlobalConfig resource as a TransportServer pre-requisite #92

Merged
merged 1 commit into from
Apr 6, 2021

Conversation

soneillf5
Copy link
Contributor

Proposed changes

Add additional documentation for GlobalConfig as a TransportServer pre-requisite.

Checklist

Before creating a PR, run through this checklist and mark each as complete.

  • I have read the CONTRIBUTING doc
  • I have added tests that prove my fix is effective or that my feature works
  • I have checked that all unit tests pass after adding my changes
  • I have updated necessary documentation
  • I have rebased my branch onto master
  • I will ensure my PR is targeting the master branch and pulling from my branch from my own fork

@soneillf5 soneillf5 requested review from ciarams87 and vepatel April 2, 2021 11:18
@github-actions github-actions bot added the documentation Pull requests/issues for documentation label Apr 2, 2021
Copy link
Member

@ciarams87 ciarams87 left a comment

Choose a reason for hiding this comment

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

Looks great, but should we add a link to the TransportServers header to the base README as well in the Getting started section -> https://github.com/nginxinc/nginx-ingress-operator#getting-started? The normal flow of the docs is: "1. Deploy the operator. 2. Read these examples to deploy the IC" so it might be too late for this to be the first reference.

Copy link
Contributor

@pleshakov pleshakov left a comment

Choose a reason for hiding this comment

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

Hi @soneillf5

Looks good

I added a few clarifications and some small improvements.

Also, could you update the table here ? We can specify the requirement for the field existence in the doc of that field
image

For example, something like this: The Ingress Controller will fail to start if the GlobalConfiguration resource doesn't exist.

Consider a similar doc for the wildcard secret
image

In case of a doc update for a field, it is also necessary to update the go docs https://github.com/nginxinc/nginx-ingress-operator/blob/master/pkg/apis/k8s/v1alpha1/nginxingresscontroller_types.go and regenerate CRDs - for consistency.

README.md Outdated
@@ -23,6 +23,7 @@ Note: The NGINX Ingress Operator works only for NGINX Ingress Controller version
## Getting Started

1. Install the NGINX Ingress Operator. See [docs](./docs/installation.md).
<br> NOTE: To use TransportServers as part of your NGINX Ingress Controller configuration, a GlobalConfig resource must be created *before* starting the Operator - [see the notes](./examples/deployment-oss-min/README.md#TransportServers)
Copy link
Contributor

Choose a reason for hiding this comment

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

Since TransportServers for TLS passthrough do not require a GlobalConfiguration resource, better to explicitly state that those are for TCP/UDP.

Also, better to move this note below, because GlobalConfiguration belongs to NGINX Ingress Controller installation, not operator installation:

  1. Deploy a new NGINX Ingress Controller using the NginxIngressController Custom Resource:
Suggested change
<br> NOTE: To use TransportServers as part of your NGINX Ingress Controller configuration, a GlobalConfig resource must be created *before* starting the Operator - [see the notes](./examples/deployment-oss-min/README.md#TransportServers)
<br> NOTE: To use TransportServers as part of your NGINX Ingress Controller configuration for TCP/UDP load balancing, the GlobalConfiguration resource must be created *before* starting the Operator - [see the notes](./examples/deployment-oss-min/README.md#TransportServers)

@@ -5,6 +5,7 @@ In this example we deploy the NGINX Ingress Controller (edge) as a [Deployment](
## Prerequisites

Have the NGINX Ingress Operator deployed in your cluster. Follow [installation](../../README.md#installation) steps.
If you would like to use TransportServers, refer to [this section](README.md#TransportServers) for additional pre-requisites.
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
If you would like to use TransportServers, refer to [this section](README.md#TransportServers) for additional pre-requisites.
If you would like to use TransportServers for TCP/UDP load balancing, refer to [this section](README.md#TransportServers) for additional pre-requisites.

## TransportServers

TransportServers provide support for TCP/UDP but are in active development and provided as a preview feature.
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
TransportServers provide support for TCP/UDP but are in active development and provided as a preview feature.
TransportServers provide support for TLS Passthrough and TCP/UDP load balancing. They are in active development and provided as a preview feature.


TransportServers provide support for TCP/UDP but are in active development and provided as a preview feature.
A GlobalConfig resource is used to specify the TCP/UDP listeners and is required by TransportServers.
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
A GlobalConfig resource is used to specify the TCP/UDP listeners and is required by TransportServers.
The [GlobalConfiguration](https://docs.nginx.com/nginx-ingress-controller/configuration/global-configuration/configmap-resource/) resource specifies the TCP/UDP listeners and is required by TransportServers for TCP/UDP load balancing.

TransportServers provide support for TCP/UDP but are in active development and provided as a preview feature.
A GlobalConfig resource is used to specify the TCP/UDP listeners and is required by TransportServers.
To use TransportServers, you must create a GlobalConfig resource *after* creating the namespace and *before* starting the Operator.
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
To use TransportServers, you must create a GlobalConfig resource *after* creating the namespace and *before* starting the Operator.
To use TransportServers, you must create the GlobalConfiguration resource *after* creating the namespace and *before* starting the Operator.

```

Then update the NginxIngressController to use the global configuration by adding the following config to `nginx-ingress-controller.yaml`
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
Then update the NginxIngressController to use the global configuration by adding the following config to `nginx-ingress-controller.yaml`
Then update the NginxIngressController to use the GlobalConfiguration by adding the following config to `nginx-ingress-controller.yaml`

@soneillf5 soneillf5 force-pushed the docs-global-config-dependency branch from 6f9f97b to 76f67c7 Compare April 6, 2021 13:37
@soneillf5 soneillf5 merged commit e0689e2 into master Apr 6, 2021
@lucacome lucacome deleted the docs-global-config-dependency branch April 14, 2021 01:01
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
documentation Pull requests/issues for documentation
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants