-
Descriptionheadplane-agent fails after each reboot requiring new pre-auth keys headplane | 2025-10-30T20:35:44.578Z [agent] INFO: Headplane agent started Headplane Version0.6.1 Headscale Version0.27.0 |
Beta Was this translation helpful? Give feedback.
Replies: 4 comments 5 replies
-
|
This doesn't sound like a bug, it sounds like the pre-auth key you supplied is not reusable. |
Beta Was this translation helpful? Give feedback.
-
|
I'm seeing the same issue but with Here is how create the key, so I'm sure that the key has the mentioned settings and is also always the same. Here is my headplane config: https://github.com/rhoriguchi/nixos-setup/blob/50e380f979912e8bd1a713c7626b766eced40e6d/configuration/devices/headless/nelliel/headscale/headplane.nix#L13-L49 Headplane version: 931a7f8 Log output |
Beta Was this translation helpful? Give feedback.
-
|
This problem only appears when the preauth key is tagged and the agent then belongs to the new "tagged-devices" service account. If I switch over to creating a personal preauth token for my account it works fine. It seems like the agent can't reconnect if it is tagged. |
Beta Was this translation helpful? Give feedback.
-
|
Hey everybody, I'm well aware of this issue and I've been looking into it extensively. I think there's a few different problems here to deal with and I'm making progress on it for 0.7.0:
This changes will make the agent require Headscale 0.28+ since the agent uses tag-only pre-auth keys. I'm going to mark this as the answer for now and will keep everyone in the loop for 0.7.0 progress 🙂 |
Beta Was this translation helpful? Give feedback.
Hey everybody, I'm well aware of this issue and I've been looking into it extensively. I think there's a few different problems here to deal with and I'm making progress on it for 0.7.0:
Auth keys should only be needed once. Tailscale's own docs say that
tsnetservices only need the auth key on first startup to join the tailnet and once they have persistent state the key is ignored entirely. My solution in 0.7.0 is to have Headplane automatically generate a non-ephemeral, non-reusable, tag-only key with a 5-minute expiry so the agent can complete the initial handshake and move on. No more manual key management required.State persistence is properly handled. The
tailscaled.statefile …