Skip to content

Commit 702cfd2

Browse files
08voltshaneutt
andauthored
Add new BackendTLSPolicy configuration options to documentation (#3563)
* Add new BackendTLSPolicy configuration options to documentation: - Gateway backendTLS field - subjectAltNames field - options field The documentation includes descriptions of each new field along with their purpose, usage constraints and reference links. * Update site-src/api-types/backendtlspolicy.md --------- Co-authored-by: Shane Utt <[email protected]>
1 parent 1da7c37 commit 702cfd2

File tree

1 file changed

+34
-2
lines changed

1 file changed

+34
-2
lines changed

site-src/api-types/backendtlspolicy.md

Lines changed: 34 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,19 +36,21 @@ The specification of a [BackendTLSPolicy][backendtlspolicy] consists of:
3636
- [Validation][validation] - Defines the configuration for TLS, including hostname, CACertificateRefs, and
3737
WellKnownCACertificates.
3838
- [Hostname][hostname] - Defines the Server Name Indication (SNI) that the Gateway uses to connect to the backend.
39+
- [SubjectAltNames][subjectAltNames] - Specifies one or more Subject Alternative Names that the backend certificate must match. When specified, the certificate must have at least one matching SAN. This field enables separation between SNI (hostname) and certificate identity validation. A maximum of 5 SANs are allowed.
3940
- [CACertificateRefs][caCertificateRefs] - Defines one or more references to objects that contain PEM-encoded TLS certificates,
4041
which are used to establish a TLS handshake between the Gateway and backend Pod. Either CACertificateRefs or
4142
WellKnownCACertificates may be specified, but not both.
4243
- [WellKnownCACertificates][wellKnownCACertificates] - Specifies whether system CA certificates may be used in the TLS
4344
handshake between the Gateway and backend Pod. Either CACertificateRefs or WellKnownCACertificates may be specified, but not both.
45+
- [Options][options] - A map of key/value pairs enabling extended TLS configuration for implementations that choose to provide support. Check your implementation's documentation for details.
4446

4547
The following chart outlines the object definitions and relationship:
4648
```mermaid
4749
flowchart LR
4850
backendTLSPolicy[["<b>backendTLSPolicy</b> <hr><align=left>BackendTLSPolicySpec: spec<br>PolicyStatus: status</align>"]]
4951
spec[["<b>spec</b><hr>PolicyTargetReferenceWithSectionName: targetRefs <br> BackendTLSPolicyValidation: tls"]]
5052
status[["<b>status</b><hr>[ ]PolicyAncestorStatus: ancestors"]]
51-
validation[["<b>tls</b><hr>LocalObjectReference: caCertificateRefs<br>wellKnownCACertificatesType: wellKnownCACertificates/<br>PreciseHostname: hostname"]]
53+
validation[["<b>tls</b><hr>LocalObjectReference: caCertificateRefs<br>wellKnownCACertificatesType: wellKnownCACertificates<br>PreciseHostname: hostname<br>[]SubjectAltName: subjectAltNames"]]
5254
ancestorStatus[["<b>ancestors</b><hr>AncestorRef: parentReference<br>GatewayController: controllerName<br>[]Condition: conditions"]]
5355
targetRefs[[<b>targetRefs</b><hr>]]
5456
service["<b>service</>"]
@@ -111,6 +113,34 @@ Also note:
111113

112114
- Wildcard hostnames are not allowed.
113115

116+
#### Subject Alternative Names
117+
118+
??? example "Experimental Channel since v1.2.0"
119+
120+
This field was added to BackendTLSPolicy in `v1.2.0`
121+
The subjectAltNames field enables basic mutual TLS configuration between Gateways and backends, as well as the optional use of SPIFFE. When subjectAltNames is specified, the certificate served by the backend must have at least one Subject Alternative Name matching one of the specified values. This is particularly useful for SPIFFE implementations where URI-based SANs may not be valid SNIs.
122+
Subject Alternative Names may contain one of either a Hostname or URI field, and must contain a Type specifying whether Hostname or URI is chosen.
123+
124+
!!! info "Restrictions"
125+
126+
- IP addresses and wildcard hostnames are not allowed. (see the description for Hostname above for more details).
127+
- Hostname: DNS name format
128+
- URI: URI format (e.g., SPIFFE ID)
129+
130+
#### TLS Options
131+
132+
??? example "Experimental Channel since v1.2.0"
133+
134+
This field was added to BackendTLSPolicy in `v1.2.0`
135+
The options field allows specification of implementation-specific TLS configurations. This can include:
136+
137+
- Vendor-specific mutual TLS automation configuration
138+
- Minimum supported TLS version restrictions
139+
- Supported cipher suite configurations
140+
141+
Check your implementation documentation for details.
142+
143+
###
114144
#### Certificates
115145

116146
The BackendTLSPolicyValidation must contain a certificate reference of some kind, and contains two ways to configure the
@@ -145,4 +175,6 @@ uses `PolicyAncestorStatus` to allow you to know which parentReference set that
145175
[wellKnownCACertificates]: ../reference/spec.md#gateway.networking.k8s.io/v1alpha3.BackendTLSPolicyValidation.WellKnownCACertificates
146176
[hostname]: ../reference/spec.md#gateway.networking.k8s.io/v1.PreciseHostname
147177
[rfc-3986]: https://tools.ietf.org/html/rfc3986
148-
[targetRefs]: ../reference/spec.md#gateway.networking.k8s.io/v1alpha2.PolicyTargetReference
178+
[targetRefs]: ../references/spec/#gateway.networking.k8s.io/v1alpha2.PolicyTargetReference
179+
[subjectAltNames]: ../references/spec/#gateway.networking.k8s.io/v1alpha3.BackendTLSPolicyValidation
180+
[options]: ../references/spec/#gateway.networking.k8s.io/v1alpha3.GatewayTLSConfig

0 commit comments

Comments
 (0)