Move env var flag passing to Dockerfile

Updates #15465

Signed-off-by: Kot <kot@kot.pink>
This commit is contained in:
Kot 2025-04-01 21:53:10 -05:00 committed by Brad Fitzpatrick
parent 85bcc2e3bd
commit c86afacf26
3 changed files with 5 additions and 11 deletions

View File

@ -38,4 +38,4 @@ ENV TAILSCALE_USE_WIP_CODE=1 \
EXPOSE 443 EXPOSE 443
# Run the application # Run the application
ENTRYPOINT ["/app/tsidp"] ENTRYPOINT ["/bin/sh", "-c", "/app/tsidp --hostname=${TS_HOSTNAME} --dir=${TS_STATE_DIR}"]

View File

@ -82,13 +82,14 @@ The `tsidp` server supports several command-line flags:
- `--port`: Port to listen on (default: 443) - `--port`: Port to listen on (default: 443)
- `--local-port`: Allow requests from localhost - `--local-port`: Allow requests from localhost
- `--use-local-tailscaled`: Use local tailscaled instead of tsnet - `--use-local-tailscaled`: Use local tailscaled instead of tsnet
- `--hostname`: tsnet hostname
- `--dir`: tsnet state directory - `--dir`: tsnet state directory
## Environment Variables ## Environment Variables
- `TS_AUTHKEY`: Your Tailscale authentication key (required) - `TS_AUTHKEY`: Your Tailscale authentication key (required)
- `TS_HOSTNAME`: Hostname for the `tsidp` server (default: "idp") - `TS_HOSTNAME`: Hostname for the `tsidp` server (default: "idp")
- `TS_STATE_DIR`: State directory (default: "/var/lib/tsidp" in Docker, otherwise tsnet default) - `TS_STATE_DIR`: State directory (default: "/var/lib/tsidp")
- `TAILSCALE_USE_WIP_CODE`: Enable work-in-progress code (default: "1") - `TAILSCALE_USE_WIP_CODE`: Enable work-in-progress code (default: "1")
## Support ## Support

View File

@ -65,17 +65,10 @@ var (
flagLocalPort = flag.Int("local-port", -1, "allow requests from localhost") flagLocalPort = flag.Int("local-port", -1, "allow requests from localhost")
flagUseLocalTailscaled = flag.Bool("use-local-tailscaled", false, "use local tailscaled instead of tsnet") flagUseLocalTailscaled = flag.Bool("use-local-tailscaled", false, "use local tailscaled instead of tsnet")
flagFunnel = flag.Bool("funnel", false, "use Tailscale Funnel to make tsidp available on the public internet") flagFunnel = flag.Bool("funnel", false, "use Tailscale Funnel to make tsidp available on the public internet")
flagHostname = flag.String("hostname", envOr("TS_HOSTNAME", "idp"), "tsnet hostname to use instead of idp") flagHostname = flag.String("hostname", "idp", "tsnet hostname to use instead of idp")
flagDir = flag.String("dir", envOr("TS_STATE_DIR", ""), "tsnet state directory; a default one will be created if not provided") flagDir = flag.String("dir", "", "tsnet state directory; a default one will be created if not provided")
) )
func envOr(key, defaultVal string) string {
if result, ok := os.LookupEnv(key); ok {
return result
}
return defaultVal
}
func main() { func main() {
flag.Parse() flag.Parse()
ctx := context.Background() ctx := context.Background()