From 9b5c58650f91f9115c05d4543ba6e6bf139c0e58 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Emirhan=20Durmu=C5=9F?= Date: Wed, 11 Mar 2026 16:56:38 +0300 Subject: [PATCH] Fix NATS startup failure when server_name or jetstream domain start with a digit by using fog.name and quoting values --- src/services/nats-service.js | 4 +++- src/templates/nats/leaf.conf | 4 ++-- src/templates/nats/server-no-cluster.conf | 4 ++-- src/templates/nats/server.conf | 4 ++-- 4 files changed, 9 insertions(+), 7 deletions(-) diff --git a/src/services/nats-service.js b/src/services/nats-service.js index b36bab72..d1cd72a8 100644 --- a/src/services/nats-service.js +++ b/src/services/nats-service.js @@ -627,13 +627,15 @@ async function _renderAndPersistNatsConfig (fog, natsInstance, certName, mqttCer const leafAdvertiseHose = fog.host || fog.ipAddress || fog.ipAddressExternal const jsMaxMemory = _normalizeJetstreamSize(natsInstance.jsMemoryStoreSize, DEFAULT_JS_MEMORY_STORE_SIZE) const jsMaxFile = _normalizeJetstreamSize(natsInstance.jsStorageSize, DEFAULT_JS_STORAGE_SIZE) + const serverName = (fog && fog.name) || (fog && fog.uuid) || 'nats' const variables = { OPERATOR_JWT: operator ? operator.jwt : undefined, SYSTEM_ACCOUNT: systemAccount.publicKey, NATS_CLUSTER_ROUTES: JSON.stringify(clusterRoutes), NATS_LEAF_REMOTES: JSON.stringify(leafRemotes), CONTROLLER_NAME: (process.env.CONTROLLER_NAME || config.get('app.name')), - JETSTREAM_DOMAIN: jetstreamDomain, + SERVER_NAME: _escapeConfString(serverName), + JETSTREAM_DOMAIN: _escapeConfString(jetstreamDomain), JETSTREAM_KEY: _escapeConfString(jetstreamKey.jsk), JETSTREAM_PREV_KEY: _escapeConfString(jetstreamKey.prevKey || ''), NATS_SERVER_PORT: natsInstance.serverPort, diff --git a/src/templates/nats/leaf.conf b/src/templates/nats/leaf.conf index 889ce111..16e1de76 100644 --- a/src/templates/nats/leaf.conf +++ b/src/templates/nats/leaf.conf @@ -1,5 +1,5 @@ port: $NATS_SERVER_PORT -server_name: $SELFNAME +server_name: "$SERVER_NAME" pid_file: /home/runner/run/nats.pid http_port: $NATS_HTTP_PORT @@ -11,7 +11,7 @@ system_account = $SYSTEM_ACCOUNT jetstream: { store_dir: /home/runner/data - domain: $JETSTREAM_DOMAIN + domain: "$JETSTREAM_DOMAIN" max_memory_store: $NATS_JS_MAX_MEMORY_STORE max_file_store: $NATS_JS_MAX_FILE_STORE cipher: chachapoly diff --git a/src/templates/nats/server-no-cluster.conf b/src/templates/nats/server-no-cluster.conf index d223aa41..1b69ab64 100644 --- a/src/templates/nats/server-no-cluster.conf +++ b/src/templates/nats/server-no-cluster.conf @@ -1,5 +1,5 @@ port: $NATS_SERVER_PORT -server_name: $SELFNAME +server_name: "$SERVER_NAME" pid_file: /home/runner/run/nats.pid http_port: $NATS_HTTP_PORT @@ -11,7 +11,7 @@ system_account = $SYSTEM_ACCOUNT jetstream: { store_dir: /home/runner/data - domain: $JETSTREAM_DOMAIN + domain: "$JETSTREAM_DOMAIN" max_memory_store: $NATS_JS_MAX_MEMORY_STORE max_file_store: $NATS_JS_MAX_FILE_STORE cipher: chachapoly diff --git a/src/templates/nats/server.conf b/src/templates/nats/server.conf index 6e815090..1c4b3f3e 100644 --- a/src/templates/nats/server.conf +++ b/src/templates/nats/server.conf @@ -1,5 +1,5 @@ port: $NATS_SERVER_PORT -server_name: $SELFNAME +server_name: "$SERVER_NAME" pid_file: /home/runner/run/nats.pid http_port: $NATS_HTTP_PORT @@ -11,7 +11,7 @@ system_account = $SYSTEM_ACCOUNT jetstream: { store_dir: /home/runner/data - domain: $JETSTREAM_DOMAIN + domain: "$JETSTREAM_DOMAIN" max_memory_store: $NATS_JS_MAX_MEMORY_STORE max_file_store: $NATS_JS_MAX_FILE_STORE cipher: chachapoly