Operator TLS
Configure TLS once at the platform level and auto-inject it into every deployment
The Dynamo operator can inject TLS configuration into every
DynamoGraphDeployment (DGD) pod automatically, so you don’t have to set the
DYN_TCP_TLS_* and NATS_TLS_* environment variables on each component. TLS
is configured once at the platform level via InfrastructureConfiguration, and
the operator propagates the corresponding env vars to all DGD pods it manages.
For the full list of TLS/mTLS environment variables and CLI flags, and for the per-component configuration method, see the TLS reference.
Operator-level TLS configuration
Set the values in the operator Helm chart. When installing the operator as
part of the platform chart, prefix them with dynamo-operator.:
Or pass them via --set during helm install/helm upgrade (platform chart
shown; drop the dynamo-operator. prefix if installing the subchart directly):
Per-component env vars in podTemplate take precedence over operator-level
values when both are set.
When any natsTLS* value is set, natsAddr must use the
tls:// scheme — the runtime fails closed at startup otherwise. If you are
using the bundled NATS subchart, also enable TLS on the server side (see
Enabling TLS on the NATS server).
Operator-level mTLS configuration
mTLS certificate paths can also be configured at the operator level:
The certificates themselves are typically delivered by a certificate management system (such as cert-manager) and mounted into the pods at the paths referenced above. The operator injects the paths (via env vars), not the volumes — the cert files must exist at those paths in every DGD pod.
A common setup is to issue a Certificate with cert-manager, store it in a
Kubernetes Secret, and mount that Secret as a volume in the pod template:
This example shows a single component (Frontend); every component that
receives the TLS env vars needs the same volume mounts. If you are using the
operator’s auto-injection, apply these mounts in each component’s
podTemplate.
For NATS TLS to work, the NATS server itself must also be configured to listen on TLS. The operator injects the client-side env vars, but enabling TLS on the NATS server subchart is a separate step — see Enabling TLS on the NATS server in the TLS reference.