You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: frontend/docs/content/docs/self-hosting/configuration-options.mdx
+11-13Lines changed: 11 additions & 13 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -318,9 +318,8 @@ Variables marked with ⚠️ are conditionally required when specific features a
318
318
|`SERVER_MSGQUEUE_PUBSUB_NATS_URL`| Pub/sub NATS seed URL(s), comma-separated for a cluster ||
319
319
|`SERVER_MSGQUEUE_PUBSUB_NATS_USERNAME`| Pub/sub NATS username (sent as a connect option, so reconnects also authenticate) ||
320
320
|`SERVER_MSGQUEUE_PUBSUB_NATS_PASSWORD`| Pub/sub NATS password (see username) ||
321
-
|`SERVER_MSGQUEUE_PUBSUB_NATS_TLS_ENABLED`| Pub/sub NATS: when `true`, require verified TLS regardless of the URL scheme |`false`|
321
+
|`SERVER_MSGQUEUE_PUBSUB_NATS_TLS_ENABLED`| Pub/sub NATS: verified TLS with a TLS-first handshake (server must set `handshake_first`)|`false`|
322
322
|`SERVER_MSGQUEUE_PUBSUB_NATS_TLS_ROOT_CA_FILE`| Pub/sub NATS PEM CA bundle for a private CA; requires `SERVER_MSGQUEUE_PUBSUB_NATS_TLS_ENABLED=true`||
323
-
|`SERVER_MSGQUEUE_PUBSUB_NATS_TLS_HANDSHAKE_FIRST`| Pub/sub NATS: TLS handshake before the server's `INFO` (server must set `handshake_first`); requires TLS |`false`|
324
323
|`SERVER_MSGQUEUE_PUBSUB_NATS_SUBJECT_PREFIX`| Pub/sub NATS subject prefix, joined to topic names with `.`|`hatchet.pubsub`|
325
324
|`SERVER_SINGLE_QUEUE_LIMIT`| Single queue limit |`100`|
326
325
@@ -340,17 +339,16 @@ password separately. Credentials embedded in the URL are not reapplied when the
340
339
client reconnects to a cluster peer it learned about through gossip.
341
340
342
341
Set `SERVER_MSGQUEUE_PUBSUB_NATS_TLS_ENABLED=true` to require verified TLS
343
-
regardless of the URL scheme; without a CA file the server certificate is
344
-
verified against the system roots. If the server's certificate is signed by a
345
-
private CA, also point `SERVER_MSGQUEUE_PUBSUB_NATS_TLS_ROOT_CA_FILE` at a PEM
346
-
CA bundle, which also applies when the client reconnects to rediscovered
347
-
cluster peers. The CA file only takes effect with TLS enabled, so Hatchet
348
-
refuses to start if it is set while `SERVER_MSGQUEUE_PUBSUB_NATS_TLS_ENABLED`
349
-
is false. A `tls://` URL enables TLS with the system roots via the scheme
350
-
alone. If the server sets `handshake_first` in its tls block (the TLS
351
-
handshake happens before the server's `INFO` message), also set
352
-
`SERVER_MSGQUEUE_PUBSUB_NATS_TLS_HANDSHAKE_FIRST=true`; both sides must agree
353
-
on the mode or the connect fails.
342
+
with a TLS-first handshake: the handshake happens before the server's `INFO`
343
+
message, so the server must set `handshake_first` in its tls block, and a
344
+
client with this flag fails to connect to an INFO-first TLS or plaintext
345
+
server. Without a CA file the server certificate is verified against the
346
+
system roots. If the server's certificate is signed by a private CA, also
347
+
point `SERVER_MSGQUEUE_PUBSUB_NATS_TLS_ROOT_CA_FILE` at a PEM CA bundle, which
348
+
also applies when the client reconnects to rediscovered cluster peers. The CA
349
+
file only takes effect with TLS enabled, so Hatchet refuses to start if it is
350
+
set while `SERVER_MSGQUEUE_PUBSUB_NATS_TLS_ENABLED` is false. A `tls://` URL
351
+
does standard INFO-first TLS with the system roots via the scheme alone.
354
352
355
353
Unlike the other backends, which isolate installations at the connection level
356
354
(a RabbitMQ vhost, a Postgres database), NATS isolates by subject. Set
returnnil, nil, fmt.Errorf("nats pubsub tlsRootCAFile is set but tlsEnabled is false; a private CA bundle only takes effect with tlsEnabled: true (SERVER_MSGQUEUE_PUBSUB_NATS_TLS_ENABLED)")
134
124
}
135
125
136
-
ifopts.tlsHandshakeFirst&&!opts.tlsEnabled {
137
-
returnnil, nil, fmt.Errorf("nats pubsub tlsHandshakeFirst is set but tlsEnabled is false; a TLS-first handshake only takes effect with tlsEnabled: true (SERVER_MSGQUEUE_PUBSUB_NATS_TLS_ENABLED)")
0 commit comments