Skip to content

Commit c42ea2f

Browse files
author
Ted Avery
committed
OSDOCS-14402:YAML parameter additions
1 parent 5dbf1b1 commit c42ea2f

File tree

3 files changed

+81
-13
lines changed

3 files changed

+81
-13
lines changed

microshift_configuring/microshift-using-config-yaml.adoc

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,3 +29,5 @@ include::modules/microshift-config-nodeport-limits.adoc[leveloffset=+2]
2929
== Additional resources
3030

3131
* xref:../../microshift-greenboot-checking-status.adoc#microshift-greenboot-checking-status[Checking Greenboot status]
32+
33+
* xref:../microshift_configuring/microshift-ingress-controller.adoc#microshift-ingress-controller[Using ingress control for a {microshift-short} cluster]

modules/microshift-config-parameters-table.adoc

Lines changed: 67 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ The following table explains {microshift-short} configuration YAML parameters an
6363

6464
|`tls.minVersion`
6565
|`VersionTLS12` or `VersionTLS13`
66-
|Specifies the minimum version of TLS to serve from the API serve. Default is value is `VersionTLS12`. TLS 1.3 ciphers are preset and not configurable.
66+
|Specifies the minimum version of TLS to serve from the API server. Default is value is `VersionTLS12`. TLS 1.3 ciphers are preset and not configurable.
6767

6868
|`debugging.logLevel`
6969
|`Normal`, `Debug`, `Trace`, or `TraceAll`
@@ -77,25 +77,46 @@ The following table explains {microshift-short} configuration YAML parameters an
7777
|`number`
7878
|By default, `etcd` uses as much memory as needed to handle the load on the system. However, in memory constrained systems, it might be preferred or necessary to limit the amount of memory `etcd` can to use at a given time.
7979

80+
|`ingress.certificate.Secret`
81+
|`string`
82+
|A string that is a reference to a secret that contains the default certificate that is served by the ingress controller. When Routes do not specify their own certificate, `certificateSecret` is used.
83+
84+
The secret must contain the following keys and data:
85+
86+
* `tls.crt`: certificate file contents
87+
* `tls.key`: key file contents
88+
89+
If you do not set one, a wildcard certificate is automatically generated and used. The certificate is valid for the ingress controller `domain` and `subdomains`, and the generated certificate's CA is automatically integrated with the cluster's truststore.
90+
91+
Any certificate in use is automatically integrated in the {microshift-short} OAth server.
92+
93+
|`ingress.clientTLS`
94+
|`spec.clientTLS.clientCertificatePolicy`, `spec.clientTLS.ClientCA`, `AllowedSubjectPatterns`
95+
|`clientTLS` authenticates client access to the cluster and services; as a result, mutual TLS authentication is enabled. If you do not set one, then client TLS is not enabled. `clientTLS` has the required subfields, `spec.clientTLS.clientCertificatePolicy` and `spec.clientTLS.ClientCA`.
96+
97+
The `ClientCertificatePolicy` subfield accepts one of the two values: `Required` or `Optional`. Note that the ingress controller only checks client certificates for edge-terminated and reencrypt TLS routes; it 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.
98+
99+
The `AllowedSubjectPatterns` is an optional value 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 PCRE syntax. This field must contain a valid expression or the MicroShift service will fail. 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.
100+
80101
|`ingress.defaultHTTPVersion`
81102
|`number`
82103
|Determines the default HTTP version to be used for ingress. Default value is `1`, which is the HTTP/1.1 protocol.
83104

84105
|`ingress.forwardedHeaderPolicy`
85106
|`Append`, `Replace`, `IfNone`, `Never`
86-
|Specifies when and how the ingress router sets the `Forwarded`, `X-Forwarded-For`, `X-Forwarded-Host`, `X-Forwarded-Port`, `X-Forwarded-Proto`, and `X-Forwarded-Proto-Version` HTTP headers.
107+
|Specifies when and how the ingress controller sets the `Forwarded`, `X-Forwarded-For`, `X-Forwarded-Host`, `X-Forwarded-Port`, `X-Forwarded-Proto`, and `X-Forwarded-Proto-Version` HTTP headers. The default value is `Append`.
87108

88-
* `Append` specifies that the ingress router appends existing headers. `Append` is the default value.
109+
* `Append` specifies that the ingress controller appends existing headers.
89110
90-
* `Replace` specifies that the ingress router sets the headers and replaces any existing `Forwarded` or `X-Forwarded-*` headers.
111+
* `Replace` specifies that the ingress controller sets the headers and replaces any existing `Forwarded` or `X-Forwarded-*` headers.
91112
92-
* `IfNone` specifies that the ingress router sets headers if they are not already set.
113+
* `IfNone` specifies that the ingress controller sets headers if they are not already set.
93114
94-
* `Never` specifies that ingress router never sets the headers, preserving any existing headers.
115+
* `Never` specifies that ingress controller never sets the headers, preserving any existing headers.
95116
96117
|`ingress.httpCompression`
97118
|`object`
98-
|`httpCompression` defines a policy for HTTP traffic compression. There is no HTTP compression by default.
119+
|Defines a policy for HTTP traffic compression. There is no HTTP compression by default.
99120

100121
|`ingress.httpCompression.mimeTypes`
101122
|`array` or null
@@ -129,7 +150,7 @@ Not all MIME types benefit from compression, but `HAProxy` uses resources to try
129150

130151
|`ingress.logEmptyRequests`
131152
|`Log` or `Ignore`
132-
|Default value is `Log`. Specifies how connections on which empty requests are received are logged. These connections typically come from the health probes of a load balancer service health or a web browser's speculative connections, such as a `preconnect`. Logging typical requests might be undesirable, but requests can also be caused by network errors or port scans, in which case logging can be useful for diagnosing errors and detecting intrusion attempts.
153+
|The default value is `Log`. Specifies how connections on which empty requests are received are logged. These connections typically come from the health probes of a load balancer service health or a web browser's speculative connections, such as a `preconnect`. Logging typical requests might be undesirable, but requests can also be caused by network errors or port scans, in which case logging can be useful for diagnosing errors and detecting intrusion attempts.
133154

134155
|`ingress.ports.http`
135156
|`80`
@@ -139,14 +160,49 @@ Not all MIME types benefit from compression, but `HAProxy` uses resources to try
139160
|`443`
140161
|Default port shown. Configurable. Valid value is a single, unique port in the `1-65535` range. The values of the `ports.http` and `ports.https` fields cannot be the same.
141162

142-
|`ingress.routeAdmissionPolicy.namespaceOwnership`
163+
|`ingress.routeAdmissionPolicy`
143164
|`Strict` or `InterNamespaceAllowed`
144-
|Describes how hostname claims across namespaces are handled. By default, allows routes to claim different paths of the same hostname across namespaces. Specifying `Strict` prevents routes in different namespaces from claiming the same hostname. If the value is deleted in a customized {microshift-short} `config.yaml`, the `InterNamespaceAllowed` value is automatically set.
165+
|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. Specifying `Strict` prevents routes in different namespaces from claiming the same hostname. If the value is deleted in a customized {microshift-short} `config.yaml`, the `InterNamespaceAllowed` value is automatically set.
166+
167+
|`ingress.routeAdmissionPolicy.namespaceOwnership`
168+
|`WildcardsAllowed`, `WildcardsDisallowed`
169+
|Describes how hostname claims across namespaces should be handled. The default value is `Strict`.
170+
171+
* `Strict`: does not allow routes to claim the same hostname across namespaces.
172+
* `InterNamespaceAllowed`: allows routes to claim different paths of the same hostname across namespaces.
173+
174+
|`ingress.routeAdmissionPolicy.wildcardPolicy`
175+
|`WildcardsAllowed`, `WildcardsDisallowed`
176+
|Describes how routes with wildcard policies are handled by the ingress controller.
177+
178+
* `WildcardsAllowed`: Indicates routes with any wildcard policy are admitted by the ingress controller.
179+
180+
* `WildcardsDisallowed`: Indicates only routes with a wildcard policy of `None` are admitted by the Ingress Controller. Updating `wildcardPolicy` from `WildcardsAllowed` to `WildcardsDisallowed` causes admitted routes with a wildcard policy of `Subdomain` to stop working. These routes must be recreated to a wildcard policy of `None` to be readmitted by the Ingress Controller. `WildcardsDisallowed` is the default setting.
145181
146182
|`ingress.status`
147183
|`Managed` or `Removed`
148184
|Router status. Default is `Managed`.
149185

186+
|`ingress.tlsSecurityProfile`
187+
|`object`
188+
|Specifies settings for TLS connections for ingress controllers. If you do not set one, the default value is based on the `apiservers.config.openshift.io/cluster` resource.
189+
190+
|`ingress.tlsSecurityProfile.type`
191+
|`Old`, `Intermediate`, `Modern`, 'Custom'
192+
|Specifies the profile type for the TLS Security. The default value is `Intermediate`.
193+
194+
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` may cause a new profile configuration to be applied to the ingress controller, resulting in a rollout.
195+
196+
|`ingress.tlsSecurityProfile.minTLSVersion`
197+
|`number`
198+
|Specifies the TLS version for ingress controllers.
199+
200+
The minimum TLS version is `1.1`, and the maximum TLS version is `1.3`.
201+
202+
* Ciphers and the minimum TLS version of the configured security profile are reflected in the `TLSProfile` status.
203+
204+
* The ingress controller converts the TLS `1.0` of an `Old` or `Custom` profile to `1.1`.
205+
150206
|`ingress.tuningOptions`
151207
|Objects
152208
|Specifies options for tuning the performance of ingress controller pods.
@@ -259,7 +315,7 @@ container_memory_working_set_bytes{container=`router`,namespace=`openshift-ingre
259315

260316
|`network.serviceNodePortRange`
261317
|`range`
262-
|The port range allowed for Kubernetes services of type `NodePort`. If not specified, the default range of 30000-32767 is used. Services without a `NodePort` specified are automatically allocated one from this range. This parameter can be updated after {microshift-short} starts.
318+
|The port range allowed for Kubernetes services of type `NodePort`. If you do not specify the range, the default range of 30000-32767 is used. Services without a `NodePort` specified are automatically allocated one from this range. This parameter can be updated after {microshift-short} starts.
263319

264320
|`node.hostnameOverride`
265321
|`string`

modules/microshift-default-settings.adoc

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,15 +42,15 @@ dns:
4242
etcd:
4343
memoryLimitMB: 0
4444
ingress:
45-
certificateSecret: router-certs-default
45+
certificateSecret: router-certs-custom
4646
clientTLS:
4747
allowedSubjectPatterns:
4848
clientCA:
4949
name: ""
5050
clientCertificatePolicy: ""
5151
defaultHTTPVersion: 1
5252
forwardedHeaderPolicy: ""
53-
httpCompression:
53+
httpCompression:
5454
mimeTypes:
5555
- ""
5656
httpEmptyRequestsPolicy: Respond
@@ -62,7 +62,17 @@ httpCompression:
6262
https: 443
6363
routeAdmissionPolicy:
6464
namespaceOwnership: InterNamespaceAllowed
65+
wildcardPolicy: WildcardPolicyAllowed
6566
status: Managed
67+
tlsSecurityProfile:
68+
type: Custom
69+
custom:
70+
ciphers:
71+
- ECDHE-ECDSA-CHACHA20-POLY1305
72+
- ECDHE-RSA-CHACHA20-POLY1305
73+
- ECDHE-RSA-AES128-GCM-SHA256
74+
- ECDHE-ECDSA-AES128-GCM-SHA256
75+
minTLSVersion: VersionTLS12
6676
tuningOptions:
6777
clientFinTimeout: ""
6878
clientTimeout: ""

0 commit comments

Comments
 (0)