Skip to content

[enterprise-4.20] OSDOCS-14942: corrections to ingress controller docs MicroShift #95091

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

Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions microshift_configuring/microshift-ingress-controller.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ include::modules/microshift-ingress-controller-conc.adoc[leveloffset=+1]

include::modules/microshift-ingress-controller-config.adoc[leveloffset=+1]

include::modules/microshift-ingress-controller-create-certificate-secret.adoc[leveloffset=+2]
include::modules/microshift-ingress-controller-create-cert-secret.adoc[leveloffset=+2]

include::modules/microshift-ingress-controller-tls-config.adoc[leveloffset=+2]

Expand All @@ -22,4 +22,4 @@ include::modules/microshift-ingress-controller-tls-config.adoc[leveloffset=+2]

* xref:../microshift_configuring/microshift-using-config-yaml.adoc#microshift-config-snippets_microshift-configuring[Using configuration snippets]

* link:https://docs.openshift.com/container-platform/4.17/networking/networking_operators/ingress-operator.html#nw-http2-haproxy_configuring-ingress[Enabling HTTP/2 Ingress connectivity] (OpenShift Container Platform documentation)
* link:https://docs.redhat.com/container-platform/latest/networking/networking_operators/ingress-operator.html#nw-http2-haproxy_configuring-ingress[Enabling HTTP/2 Ingress connectivity] (OpenShift Container Platform documentation)
30 changes: 21 additions & 9 deletions modules/microshift-config-parameters-table.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
The following table explains {microshift-short} configuration YAML parameters and valid values for each:

.{microshift-short} `config.yaml` parameters
[cols="1,2,3a","15%,10%,75%",options="header"]
[cols="1,2,3a","15%,10%,50%",options="header"]
|===
|Field|Type|Description

Expand Down Expand Up @@ -91,12 +91,24 @@ If you do not set one of these values, a wildcard certificate is automatically g
Any certificate in use is automatically integrated in the {microshift-short} OAuth server.

|`ingress.clientTLS`
|`spec.clientTLS.clientCertificatePolicy`, `spec.clientTLS.ClientCA`, `AllowedSubjectPatterns`
|`clientTLS` authenticates client access to the cluster and services; as a result, mutual TLS authentication is enabled. If you do not set a value, the client TLS is not enabled. The `clientTLS` parameter has the required subfields, `spec.clientTLS.clientCertificatePolicy` and `spec.clientTLS.ClientCA`.
|`AllowedSubjectPatterns`, `spec.clientTLS.ClientCA`, `spec.clientTLS.clientCertificatePolicy`
|Authenticates client access to the cluster and services. Mutual TLS authentication is enabled when using these settings. If you do not set values for the `spec.clientTLS.clientCertificatePolicy` and `spec.clientTLS.ClientCA` required subfields, client TLS is not enabled.
//are the values in the config.yaml defaults?
//if I don't want to use client TLS, do I leave all three subfields empty?

* The `ClientCertificatePolicy` subfield accepts the following two values: `Required` or `Optional`. Note that the ingress controller only checks client certificates for edge-terminated and reencrypt TLS routes; the ingress controller cannot check certificates for cleartext HTTP or passthrough TLS routes. The `ClientCA` subfield specifies a config map that is in the `openshift-ingress` namespace. The config map should contain a CA certificate bundle. A config map is required for this field.
|`ingress.clientTLS.AllowedSubjectPatterns`
|`list in PCRE syntax`
|Optional subfield which specifies a list of regular expressions that are matched against the distinguished name on a valid client certificate to filter requests. Use this parameter to cause the ingress controller to reject certificates based on the distinguished name. The Perl Compatible Regular Expressions (PCRE) syntax is required. If you configure this field, it must contain a valid expression or the {microshift-short} service fails. At least one pattern must match a client certificate's distinguished name; otherwise, the ingress controller rejects the certificate and denies the connection.
//can I use this field by itself? or only in combination with the other two? "If you do not set values for the `spec.clientTLS.clientCertificatePolicy` and `spec.clientTLS.ClientCA` required subfields, client TLS is not enabled."

* The `AllowedSubjectPatterns` is an optional subfield that specifies a list of regular expressions, which are matched against the distinguished name on a valid client certificate to filter requests. The regular expressions must use the Perl Compatible Regular Expressions (PCRE) syntax. This field must contain a valid expression or the {microshift-short} service fails. At least one pattern must match a client certificate's distinguished name; otherwise, the ingress controller rejects the certificate and denies the connection. If you do not specify a value, the ingress controller does not reject certificates based on the distinguished name.
|`ingress.clientTLS.ClientCA`
|`string`
|Required subfield that specifies a config map in the `openshift-ingress` namespace. The config map must contain a CA certificate bundle.
//is `ca-config-map` meant to be an example value? is this default in the microshift config.yaml, or is the default value in the microshift config yaml empty?

|`ingress.clientTLS.ClientCertificatePolicy`
|`Required`, `Optional`
|Required subfield that creates a secure route using reencrypt TLS termination with a custom certificate. You must have a certificate/key pair in PEM-encoded files, where the certificate is valid for the route host. The ingress controller only checks client certificates for edge-terminated and reencrypt TLS routes. Certificates for plain text HTTP or passthrough TLS routes are not checked with this setting.

|`ingress.defaultHTTPVersion`
|`number`
Expand All @@ -120,7 +132,7 @@ Any certificate in use is automatically integrated in the {microshift-short} OAu

|`ingress.httpCompression.mimeTypes`
|`array` or null
|`mimeTypes` is a list of MIME types to compress. When the list is empty, the ingress controller does not apply any compression. To define a list, use the format of the Content-Type definition in RFC 1341 that specifies the type and subtype of data in the body of a message and the native encoding of the data. For example, `Content-Type := type \"/\" subtype *[\";\" parameter]`.
|A list of MIME types to compress. When the list is empty, the ingress controller does not apply any compression. To define a list, use the format of the Content-Type definition in RFC 1341 that specifies the type and subtype of data in the body of a message and the native encoding of the data. For example, `Content-Type := type \"/\" subtype *[\";\" parameter]`.

* The value of `Content-Type` can be one of the following types: application, audio, image, message, multipart, text, video, or a custom type preceded by `\"X-\"` and followed by a token. The token must be defined in one of the following ways:

Expand Down Expand Up @@ -162,7 +174,7 @@ Not all MIME types benefit from compression, but `HAProxy` uses resources to try

|`ingress.routeAdmissionPolicy`
|`namespaceOwnership` or `wildcardPolicy`
|Defines a policy for handling new route claims, such as allowing or denying claims across namespaces. By default, allows routes to claim different paths of the same hostname across namespaces.
|Defines a policy for handling new route claims, such as allowing or denying claims across namespaces. By default, allows routes to claim different paths of the same hostname across namespaces.

|`ingress.routeAdmissionPolicy.namespaceOwnership`
|`Strict` or `InterNamespaceAllowed`
Expand All @@ -189,7 +201,7 @@ Not all MIME types benefit from compression, but `HAProxy` uses resources to try
|Specifies settings for ingress controllers TLS connections. If you do not set one, the default value is based on the `apiservers.config.openshift.io/cluster` resource.

|`ingress.tlsSecurityProfile.type`
|`Old`, `Intermediate`, `Modern`, `Custom`
|`Old`, `Intermediate`, `Modern`, `Custom`
|Specifies the profile type for the TLS Security. The default value is `Intermediate`.

When using the `Old`, `Intermediate`, and `Modern` profile types, the effective profile configuration is subject to change between releases. For example, given a specification to use the `Intermediate` profile deployed on release `X.Y.Z`, an upgrade to release `X.Y.Z+1` might cause a new profile configuration to be applied to the ingress controller, resulting in a rollout.
Expand Down Expand Up @@ -230,7 +242,7 @@ The minimum TLS version is `1.1`, and the maximum TLS version is `1.3`.

|`ingress.tuningOptions.healthCheckInterval: ""`
|`string` with pattern: `^(0\|([0-9]+(\\.[0-9]+)?(ns\|us\|µs\|μs\|ms\|s\|m\|h))+)$`
|The default `healthCheckInterval` value is `5s`, which is 5 seconds. This parameter value defines how long the router waits between two consecutive health checks on the router's configured backends. Currently the minimum allowed value is `1s` and the maximum allowed value is `2147483647ms`, which is 24.85 days. The range might change in future releases.
|The default `healthCheckInterval` value is `5s`, which is 5 seconds. This parameter value defines how long the router waits between two consecutive health checks on the router's configured backends. The minimum allowed value is `1s` and the maximum allowed value is `2147483647ms`, which is 24.85 days.

* This value is applied globally as a default for all routes, but can be overridden per-route by the route annotation `router.openshift.io/haproxy.health.check.interval`.

Expand Down
Loading