headscale/hscontrol/servertest
Kristoffer Dalby 8ea4cd3faa types/node, policy/v2: drop taildrive caps from baseline emission
Taildrive (drive:share and drive:access) is policy-driven per
Tailscale's documented behaviour
(https://tailscale.com/docs/features/taildrive). The previous
always-on baseline emission diverged from SaaS for every node not
targeted by a drive nodeAttr -- a real semantic divergence that the
compat suite caught once the test moved to comparing TailNode output
against the captured netmaps.

types.Node.TailNode no longer stamps the drive pair. Operators
wanting taildrive add a nodeAttrs entry:

  "nodeAttrs": [
    { "target": ["*"], "attr": ["drive:share", "drive:access"] }
  ]

unmodelledTailnetStateCaps shrinks accordingly. The baseline-divergence
group is gone; every entry left in the list is genuinely unmodelled
(user-role caps, unimplemented features, tailnet metadata, internal
tuning).

servertest's TestNodeAttrsBaselineCapsAlwaysOn expects the smaller
baseline (admin + ssh + file-sharing). Integration TestGrantCapDrive
grants the drive caps explicitly via NodeAttrs to exercise the
policy-driven emission path.
2026-05-13 14:22:30 +02:00
..
assertions.go hscontrol/servertest: add policy, route, ephemeral, and content tests 2026-03-19 07:05:58 +01:00
client.go servertest: use memnet networking and add WithNodeExpiry option 2026-04-08 13:00:22 +01:00
connect_race_test.go state: switch consumers to NodeStore primary routes 2026-04-29 18:08:39 +01:00
consistency_test.go hscontrol/servertest: add policy, route, ephemeral, and content tests 2026-03-19 07:05:58 +01:00
content_test.go hscontrol/servertest: add policy, route, ephemeral, and content tests 2026-03-19 07:05:58 +01:00
ephemeral_test.go state: replace zcache with bounded LRU for auth cache 2026-04-10 14:09:57 +01:00
grants_test.go servertest: cover via-grant exit-node visibility end-to-end 2026-04-30 19:22:45 +01:00
ha_dynamic_test.go state: switch consumers to NodeStore primary routes 2026-04-29 18:08:39 +01:00
ha_health_test.go state: clear Unhealthy when node leaves HA candidate set 2026-04-29 18:08:39 +01:00
harness.go hscontrol/servertest: add policy, route, ephemeral, and content tests 2026-03-19 07:05:58 +01:00
issues_test.go Add unit test 2026-05-11 09:25:26 +01:00
lifecycle_test.go hscontrol/servertest: expand issue tests to 24 scenarios, surface 4 issues 2026-03-19 07:05:58 +01:00
nodeattrs_test.go types/node, policy/v2: drop taildrive caps from baseline emission 2026-05-13 14:22:30 +02:00
ping_test.go noise: reject non-HEAD on PingResponseHandler 2026-04-17 16:31:49 +01:00
policy_test.go servertest: add regression tests for via grant filter rules 2026-04-01 14:10:42 +01:00
poll_race_test.go hscontrol/servertest: add race, stress, and poll race tests 2026-03-19 07:05:58 +01:00
race_test.go hscontrol/servertest: add race, stress, and poll race tests 2026-03-19 07:05:58 +01:00
routes_test.go servertest, integration: cover HA both-offline recovery 2026-04-29 18:08:39 +01:00
server.go mapper, state: deliver nodeAttrs through MapResponse and harden nextdns DoH rewrite 2026-05-13 14:22:30 +02:00
stress_test.go hscontrol/servertest: add race, stress, and poll race tests 2026-03-19 07:05:58 +01:00
via_compat_test.go servertest: add via grant map compat tests 2026-04-17 16:31:49 +01:00
via_ha_compat_test.go servertest: add TestViaGrantHACompat for via+HA compat tests 2026-04-17 16:31:49 +01:00
weather_test.go hscontrol/servertest: add control plane lifecycle and consistency tests 2026-03-19 07:05:58 +01:00