Files
wild-directory/headscale/notes.md
Paul Payne 4d983819c9 feat(supabase): add services and statefulset for database management
feat(synapse): update ingress to use traefik ingress class and bump version

feat(syncthing-discovery): introduce syncthing discovery service with deployment and ingress

feat(syncthing-relay): add syncthing relay server with deployment and ingress configuration

fix(taiga): update liveness and readiness probes to use tcpSocket for health checks

fix(taiga): change PVC access mode to ReadWriteMany for media and static storage

feat(traefik): add icon and ignore rules for traefik service

docs(ushahidi): add notes for Redis configuration and Laravel startup probe adjustments

feat(ushahidi): implement dedicated Redis deployment for Ushahidi

fix(vllm): update deployment strategy and readiness/liveness probes for improved stability

fix(writefreely): pin writefreely image version to v0.15.1 for consistency

docs(zulip): add notes for TLS-terminating reverse proxy configuration and expected behavior
2026-07-02 21:34:27 +00:00

1011 B

Headscale — Notes

v0.29+ CLI: inconsistent user identifier types

Different commands in headscale v0.29 accept different user identifiers:

Command Accepts
preauthkeys create --user <id> numeric ID only
auth register --user <username> username string
users destroy --identifier <id> numeric ID only (not positional)

Always list users first to get the ID:

headscale users list

headscale preauthkeys create --user 1                          # numeric ID
headscale auth register --auth-id <id> --user payne            # username OK
headscale users destroy --identifier 1                         # numeric ID

Node registration via browser

When a Tailscale client connects via browser (not pre-auth key), headscale shows a command like:

headscale auth register --auth-id hskey-authreq-XXXX --user USERNAME

Run it via:

kubectl exec -n headscale deploy/headscale -- \
  headscale auth register --auth-id <id> --user <username>