Skip to content

Commit 6ee37c0

Browse files
committed
Add docs
1 parent 49ebcf5 commit 6ee37c0

File tree

1 file changed

+16
-0
lines changed

1 file changed

+16
-0
lines changed

docs/content/configuration/transportserver-resource.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,8 @@ The TransportServer resource defines load balancing configuration for TCP, UDP,
3131
listener:
3232
name: dns-tcp
3333
protocol: TCP
34+
tls:
35+
secret: cafe-secret
3436
upstreams:
3537
- name: dns-app
3638
service: dns-service
@@ -82,6 +84,7 @@ The TransportServer resource defines load balancing configuration for TCP, UDP,
8284
| ---| ---| ---| --- |
8385
|``listener`` | The listener on NGINX that will accept incoming connections/datagrams. | [listener](#listener) | Yes |
8486
|``host`` | The host (domain name) of the server. Must be a valid subdomain as defined in RFC 1123, such as ``my-app`` or ``hello.example.com``. Wildcard domains like ``*.example.com`` are not allowed. Required for TLS Passthrough load balancing. | ``string`` | No |
87+
|``tls`` | The TLS termination configuration. Not supported for TLS Passthrough load balancing. | [tls](#tls) | No |
8588
|``upstreams`` | A list of upstreams. | [[]upstream](#upstream) | Yes |
8689
|``upstreamParameters`` | The upstream parameters. | [upstreamParameters](#upstreamparameters) | No |
8790
|``action`` | The action to perform for a client connection/datagram. | [action](#action) | Yes |
@@ -110,6 +113,19 @@ listener:
110113
|``protocol`` | The protocol of the listener. | ``string`` | Yes |
111114
{{% /table %}}
112115

116+
### TLS
117+
118+
The tls field defines TLS configuration for a TransportServer. Please note the current implementation supports TLS termination on multiple ports, where each application owns a dedicated port - the Ingress Controller terminates TLS connections on each port, where each application uses its own cert/key, and routes connections to appropriate application (service) based on that incoming port (any TLS connection regardless of the SNI on a port will be routed to the application that corresponds to that port). An example configuration is shown below:
119+
```yaml
120+
secret: cafe-secret
121+
```
122+
123+
{{% table %}}
124+
|Field | Description | Type | Required |
125+
| ---| ---| ---| --- |
126+
|``secret`` | The name of a secret with a TLS certificate and key. The secret must belong to the same namespace as the TransportServer. The secret must be of the type ``kubernetes.io/tls`` and contain keys named ``tls.crt`` and ``tls.key`` that contain the certificate and private key as described [here](https://kubernetes.io/docs/concepts/services-networking/ingress/#tls). | ``string`` | No |
127+
{{% /table %}}
128+
113129
### Upstream
114130

115131
The upstream defines a destination for the TransportServer. For example:

0 commit comments

Comments
 (0)