Problem
docs/how-to/deploy-aggregated-apiserver.md "Option B: standalone" passes the Coder admin session token as a literal --coder-session-token=... argument. The token then sits in plain text in the Deployment spec, and anyone who can read Deployments in coder-system can see it. This practice predates #126, which only fixed the command syntax.
Proposal
No code change is needed. Store the token in a Secret, expose it to the container as an environment variable with valueFrom.secretKeyRef, and reference it in the args with Kubernetes $(VAR) expansion, for example --coder-session-token=$(CODER_SESSION_TOKEN). Update the docs to show this, and verify on a real cluster that the server authenticates and the Deployment spec no longer contains the token.
Owner and trigger
Owner: maintainer desk. Start after #126 lands, because it edits the same block.
Generated with xum • Model: anthropic:claude-opus-5-5 • Thinking: xhigh
Problem
docs/how-to/deploy-aggregated-apiserver.md"Option B: standalone" passes the Coder admin session token as a literal--coder-session-token=...argument. The token then sits in plain text in the Deployment spec, and anyone who can read Deployments incoder-systemcan see it. This practice predates #126, which only fixed the command syntax.Proposal
No code change is needed. Store the token in a Secret, expose it to the container as an environment variable with
valueFrom.secretKeyRef, and reference it in the args with Kubernetes$(VAR)expansion, for example--coder-session-token=$(CODER_SESSION_TOKEN). Update the docs to show this, and verify on a real cluster that the server authenticates and the Deployment spec no longer contains the token.Owner and trigger
Owner: maintainer desk. Start after #126 lands, because it edits the same block.
Generated with
xum• Model:anthropic:claude-opus-5-5• Thinking:xhigh