1
0
mirror of https://github.com/juanfont/headscale.git synced 2026-02-23 13:50:36 +01:00
juanfont.headscale/hscontrol
Kristoffer Dalby 82f2faaa32 node: implement disable key expiry via CLI and API
Wire up the disable_expiry proto field through gRPC, state, database
and CLI layers to allow clearing a node expiry.

- Update NodeSetExpiry to accept *time.Time (nil disables expiry)
- Fix SetNodeExpiry to persist via db.NodeSetExpiry directly instead
  of persistNodeToDB which omits the expiry field
- Add mutual exclusion validation for expiry vs disable_expiry in gRPC
- Add --disable flag to headscale nodes expire CLI command
- Fix missing return after ErrorOutput in both expire and disable paths
- Add unit test TestDisableNodeExpiry in db/node_test.go
- Add integration test TestDisableNodeExpiry in general_test.go

Fixes #2681

Co-authored-by: Marco Santos <me@marcopsantos.com>
2026-02-19 07:23:27 +00:00
..
assets editorconfig: add basic editor config 2025-12-16 10:12:36 +01:00
capver capver: regenerate from docker tags 2026-02-07 08:23:51 +01:00
db node: implement disable key expiry via CLI and API 2026-02-19 07:23:27 +00:00
derp all: fix golangci-lint issues (#3064) 2026-02-06 21:45:32 +01:00
dns all: fix golangci-lint issues (#3064) 2026-02-06 21:45:32 +01:00
mapper all: upgrade to Go 1.26rc2 and modernize codebase 2026-02-08 12:35:23 +01:00
policy all: fix staticcheck SA4006 in types_test.go 2026-02-19 08:21:23 +01:00
routes all: upgrade to Go 1.26rc2 and modernize codebase 2026-02-08 12:35:23 +01:00
state node: implement disable key expiry via CLI and API 2026-02-19 07:23:27 +00:00
templates Link to headscale.net for docs 2026-01-16 14:54:04 +01:00
types all: apply golangci-lint 2.9.0 fixes 2026-02-19 08:21:23 +01:00
util all: apply golangci-lint 2.9.0 fixes 2026-02-19 08:21:23 +01:00
app.go all: fix golangci-lint issues (#3064) 2026-02-06 21:45:32 +01:00
auth_tags_test.go state: fix expiry handling during node tag conversion 2026-02-04 15:44:55 +01:00
auth_test.go node: implement disable key expiry via CLI and API 2026-02-19 07:23:27 +00:00
auth.go node: implement disable key expiry via CLI and API 2026-02-19 07:23:27 +00:00
debug.go all: fix golangci-lint issues (#3064) 2026-02-06 21:45:32 +01:00
grpcv1_test.go all: fix golangci-lint issues (#3064) 2026-02-06 21:45:32 +01:00
grpcv1.go node: implement disable key expiry via CLI and API 2026-02-19 07:23:27 +00:00
handlers.go all: upgrade to Go 1.26rc2 and modernize codebase 2026-02-08 12:35:23 +01:00
metrics.go all: fix golangci-lint issues (#3064) 2026-02-06 21:45:32 +01:00
noise.go all: upgrade to Go 1.26rc2 and modernize codebase 2026-02-08 12:35:23 +01:00
oidc_template_test.go make tags first class node owner (#2885) 2025-12-02 12:01:25 +01:00
oidc_test.go oidc: make email verification configurable 2025-12-18 11:42:32 +00:00
oidc.go all: fix golangci-lint issues (#3064) 2026-02-06 21:45:32 +01:00
platform_config.go all: fix golangci-lint issues (#3064) 2026-02-06 21:45:32 +01:00
poll.go all: fix golangci-lint issues (#3064) 2026-02-06 21:45:32 +01:00
tailsql.go all: fix golangci-lint issues (#3064) 2026-02-06 21:45:32 +01:00
templates_consistency_test.go Link to headscale.net for docs 2026-01-16 14:54:04 +01:00