headscale/hscontrol/state
Shourya Gautam 4e1834adaf
db: use PolicyManager for RequestTags migration
Refactor the RequestTags migration (202601121700-migrate-hostinfo-request-tags)
to use PolicyManager.NodeCanHaveTag() instead of reimplementing tag validation.

Changes:
- NewHeadscaleDatabase now accepts *types.Config to allow migrations
  access to policy configuration
- Add loadPolicyBytes helper to load policy from file or DB based on config
- Add standalone GetPolicy(tx *gorm.DB) for use during migrations
- Replace custom tag validation logic with PolicyManager

Benefits:
- Full HuJSON parsing support (not just JSON)
- Proper group expansion via PolicyManager
- Support for nested tags and autogroups
- Works with both file and database policy modes
- Single source of truth for tag validation


Co-Authored-By: Shourya Gautam <shouryamgautam@gmail.com>
2026-01-21 15:10:29 +01:00
..
debug.go db: use PolicyManager for RequestTags migration 2026-01-21 15:10:29 +01:00
debug_test.go hscontrol/state: make NodeStore batch configuration tunable (#2886) 2025-11-28 16:38:29 +01:00
endpoint_test.go hscontrol/state: make NodeStore batch configuration tunable (#2886) 2025-11-28 16:38:29 +01:00
ephemeral_test.go hscontrol/state: make NodeStore batch configuration tunable (#2886) 2025-11-28 16:38:29 +01:00
maprequest.go stability and race conditions in auth and node store (#2781) 2025-10-16 12:17:43 +02:00
maprequest_test.go make tags first class node owner (#2885) 2025-12-02 12:01:25 +01:00
node_store.go cli: ensure tagged-devices is included in profile list (#2991) 2026-01-09 16:31:23 +01:00
node_store_test.go policy: more accurate node change 2025-12-16 10:12:36 +01:00
state.go db: use PolicyManager for RequestTags migration 2026-01-21 15:10:29 +01:00
tags.go tags: process tags on registration, simplify policy (#2931) 2025-12-08 18:51:07 +01:00
test_helpers.go hscontrol/state: make NodeStore batch configuration tunable (#2886) 2025-11-28 16:38:29 +01:00