Skip to content

Commit 47ebb73

Browse files
fix(deploy): use TLSRoute for mqtt mTLS (#24)
Default the chart mqttMtls Gateway API route to TLSRoute. This keeps client certificate chains passing through to nats-mtls. Configure the local shared Gateway mqtt-mtls listener for TLS passthrough. Do not carry a duplicate local values override; the chart default covers that. Update route docs and AGENTS.md commit guidance for deploy changes. Signed-off-by: Frank Spitulski <fspitulski@nvidia.com>
1 parent 9b921ee commit 47ebb73

5 files changed

Lines changed: 11 additions & 8 deletions

File tree

AGENTS.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ type(scope): short description
4343
Allowed types: `feat`, `fix`, `docs`, `style`, `refactor`, `perf`, `test`, `build`, `ci`, `chore`, `revert`.
4444

4545
All commits must include a DCO sign-off (`git commit -s`). Semantic-release on main generates tags and changelog from commit types.
46+
Keep commit message body lines under 100 characters; commitlint enforces this.
4647

4748
## License headers
4849

deploy/README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -306,7 +306,7 @@ global:
306306
sectionName: nats-leafnode
307307
mqttMtls:
308308
enabled: true
309-
kind: TCPRoute
309+
kind: TLSRoute
310310
gatewayName: shared-gateway
311311
gatewayNamespace: envoy-gateway-system
312312
sectionName: mqtt-mtls
@@ -728,14 +728,14 @@ References:
728728
729729
## Exposed Ports
730730
731-
External access via Envoy Gateway TCPRoutes:
731+
External access via Envoy Gateway TCPRoutes/TLSRoutes:
732732
733733
| Port | Protocol | Service | Description |
734734
|------|----------|---------|-------------|
735735
| 1883 | MQTT | nats | Standard MQTT 3.1.1 (TLS terminated at Envoy) |
736736
| 4222 | NATS | nats | NATS client connections |
737737
| 7422 | NATS | nats | Leaf node connections (cross-cluster federation) |
738-
| 8883 | MQTT | nats-mtls | mTLS MQTT 3.1.1 (TCP passthrough, TLS at NATS pod) |
738+
| 8883 | MQTT | nats-mtls | mTLS MQTT 3.1.1 (TLS passthrough to NATS pod) |
739739
740740
### Internal Services
741741

deploy/nats-event-bus/values.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -211,7 +211,7 @@ global:
211211
# hostnames: [] # Optional: only used when kind is TLSRoute
212212
mqttMtls:
213213
enabled: true
214-
kind: TCPRoute # TCPRoute or TLSRoute
214+
kind: TLSRoute # TLSRoute preserves the client certificate chain for mTLS
215215
gatewayName: shared-gateway
216216
gatewayNamespace: envoy-gateway-system
217217
sectionName: mqtt-mtls

local/infra/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,7 @@ Envoy Gateway provides modern, high-performance HTTP/HTTPS ingress and API gatew
116116

117117
**Usage:**
118118

119-
The shared Gateway (`shared-gateway`) is deployed in the `envoy-gateway-system` namespace and provides TCP listeners for NATS (ports 1883, 4222, 7422, 8883) and HTTP listener (port 80) for Keycloak.
119+
The shared Gateway (`shared-gateway`) is deployed in the `envoy-gateway-system` namespace and provides TCP listeners for NATS (ports 1883, 4222, 7422), a TLS passthrough listener for mTLS MQTT (port 8883), and an HTTP listener (port 80) for Keycloak.
120120

121121
Example HTTPRoute for Keycloak:
122122

local/infra/envoy-gateway/gateway.yaml

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,11 +35,14 @@ spec:
3535
namespaces:
3636
from: All
3737
- name: mqtt-mtls
38-
protocol: TCP
38+
protocol: TLS
3939
port: 8883
40+
tls:
41+
mode: Passthrough
4042
allowedRoutes:
4143
kinds:
42-
- kind: TCPRoute
44+
- group: gateway.networking.k8s.io
45+
kind: TLSRoute
4346
namespaces:
4447
from: All
4548
# Keycloak listener
@@ -66,4 +69,3 @@ spec:
6669
maxConnections: 32768
6770
maxPendingRequests: 32768
6871
maxRequestsPerConnection: 32768
69-

0 commit comments

Comments
 (0)