headscale/hscontrol/types
Kristoffer Dalby 9d236571f4 state/nodestore: in memory representation of nodes
Initial work on a nodestore which stores all of the nodes
and their relations in memory with relationship for peers
precalculated.

It is a copy-on-write structure, replacing the "snapshot"
when a change to the structure occurs. It is optimised for reads,
and while batches are not fast, they are grouped together
to do less of the expensive peer calculation if there are many
changes rapidly.

Writes will block until commited, while reads are never
blocked.

Signed-off-by: Kristoffer Dalby <kristoffer@tailscale.com>
2025-09-09 09:40:00 +02:00
..
change state/nodestore: in memory representation of nodes 2025-09-09 09:40:00 +02:00
testdata Restore support for "Override local DNS" (#2438) 2025-04-17 17:16:59 +02:00
api_key.go Split code into modules 2023-05-26 12:24:50 +02:00
common.go mapper: produce map before poll (#2628) 2025-07-28 11:15:53 +02:00
common_test.go mapper: produce map before poll (#2628) 2025-07-28 11:15:53 +02:00
config.go derp: increase update frequency and harden on failures (#2741) 2025-08-22 10:40:38 +02:00
config_test.go integration: replace time.Sleep with assert.EventuallyWithT (#2680) 2025-07-10 23:38:55 +02:00
const.go improve testing of route failover logic 2024-04-15 12:31:53 +02:00
node.go state/nodestore: in memory representation of nodes 2025-09-09 09:40:00 +02:00
node_test.go integration: replace time.Sleep with assert.EventuallyWithT (#2680) 2025-07-10 23:38:55 +02:00
policy.go feat: implements apis for managing headscale policy (#1792) 2024-07-18 07:38:25 +02:00
preauth_key.go mapper: produce map before poll (#2628) 2025-07-28 11:15:53 +02:00
preauth_key_test.go integration: replace time.Sleep with assert.EventuallyWithT (#2680) 2025-07-10 23:38:55 +02:00
routes.go Redo route code (#2422) 2025-02-26 16:22:55 +01:00
types_clone.go all: use immutable node view in read path 2025-07-07 21:28:59 +01:00
types_view.go all: use immutable node view in read path 2025-07-07 21:28:59 +01:00
users.go OIDC: Query userinfo endpoint before verifying user 2025-08-11 17:51:16 +02:00
users_test.go users: harden, test, and add cleaner of identifier (#2593) 2025-05-14 16:45:14 +02:00
version.go integration: replace time.Sleep with assert.EventuallyWithT (#2680) 2025-07-10 23:38:55 +02:00