From 813eb2d733ff882165cc5a744adb1ab6eeb615c5 Mon Sep 17 00:00:00 2001 From: Florian Preinstorfer Date: Fri, 17 Apr 2026 16:46:30 +0200 Subject: [PATCH] Update docs for new HA tracking Also shorten the description in config-example.yaml a bit. --- config-example.yaml | 5 ----- docs/ref/routes.md | 15 ++++++--------- 2 files changed, 6 insertions(+), 14 deletions(-) diff --git a/config-example.yaml b/config-example.yaml index 0cf9d1b9..fb238ef6 100644 --- a/config-example.yaml +++ b/config-example.yaml @@ -167,10 +167,6 @@ node: # HA subnet router health probing. # - # A subnet router can hold its control-plane session open yet be unable to - # forward traffic ("zombie connected"). The normal disconnect-based failover - # never fires because the Noise session is still alive. - # # When HA routes exist (2+ nodes advertising the same prefix), headscale # pings each HA node every probe_interval via the Noise channel. If a node # fails to respond within probe_timeout it is marked unhealthy and the @@ -179,7 +175,6 @@ node: # # Worst-case detection time is probe_interval + probe_timeout (15s default). # No-op when no HA routes exist. Set probe_interval to 0 to disable. - # probe_timeout must be less than probe_interval. routes: ha: # How often to ping HA subnet routers. Set to 0 to disable probing. diff --git a/docs/ref/routes.md b/docs/ref/routes.md index af8a3778..18d5e1a4 100644 --- a/docs/ref/routes.md +++ b/docs/ref/routes.md @@ -287,16 +287,13 @@ information on auto approvers. ## High availability -Headscale has limited support for high availability routing. Multiple subnet routers with overlapping routes or multiple -exit nodes can be used to provide high availability for users. If one router node goes offline, another one can serve -the same routes to clients. Please see the official [Tailscale documentation on high -availability](https://tailscale.com/kb/1115/high-availability#subnet-router-high-availability) for details. +Headscale supports high availability routing. Multiple subnet routers with overlapping routes or multiple exit nodes can +be used to provide high availability for users. If one router node goes offline, another one can serve the same routes +to clients. Please see the official [Tailscale documentation on high +availability](https://tailscale.com/docs/how-to/set-up-high-availability#subnet-router-high-availability) for details. -!!! bug - - In certain situations it might take up to 16 minutes for Headscale to detect a node as offline. A failover node - might not be selected fast enough, if such a node is used as subnet router or exit node causing service - interruptions for clients. See [issue 2129](https://github.com/juanfont/headscale/issues/2129) for more information. +This feature is enabled by default when at least two nodes advertise the same prefix. See the configuration options +`node.routes.ha` in the [configuration file](./configuration.md) for details. ## Troubleshooting