#!/bin/sh
set -eu
# Load OPERATOR_JWT from mounted env file if present and not already set
if [ -z "${OPERATOR_JWT:-}" ] && [ -f /etc/nats/operator.env ]; then
# shellcheck disable=SC1091
. /etc/nats/operator.env
fi
# Validate required variables
: "${OPERATOR_JWT:?OPERATOR_JWT is required. Mount /etc/nats/operator.env or pass -e OPERATOR_JWT=<jwt>}"
: "${SYS_ACCOUNT_KEY:?SYS_ACCOUNT_KEY is required. Get with: nsc describe account --name SYS -R | grep 'Account ID'}"
# Render config using busybox sed (no extra packages needed).
# Single-quote the pattern so \$ is literal; interpolate values via double-quote concatenation.
# JWT/NKey values are base64url + dots — safe as sed replacement (no | or & chars).
sed \
-e 's|\$OPERATOR_JWT|'"${OPERATOR_JWT}"'|g' \
-e 's|\$SYS_ACCOUNT_KEY|'"${SYS_ACCOUNT_KEY}"'|g' \
/etc/nats/nats-server.conf.template > /tmp/nats-server.conf
echo "[entrypoint] Config rendered. Starting nats-server..."
exec nats-server -c /tmp/nats-server.conf