fix(manage): vpn revoke refuses ambiguous names, can delete stale nodes, verifies result #259

Merged
jfraeys merged 1 commit from jfraeys/fix/vpn-revoke-ambiguity into main 2026-10-16 22:27:55 -04:00
Owner
  • A name matching several nodes (tailnet today has two web, ids 1 live and 63 stale) is refused with the ids; it used to take the first match.
  • --delete removes a stale record (headscale nodes delete --identifier ID --force) and re-lists to confirm it is gone.
  • A failing headscale command prints its output (it was sent to /dev/null).
  • New test with a stubbed Headscale, wired into lint.

Not verified against live Headscale: the read was blocked, so why nodes delete --identifier 21 --force did nothing is still unknown; the new output will show it.

🤖 Generated with Claude Code

https://claude.ai/code/session_01Ge5tovcwdEUBtPwUktsZZZ

- A name matching several nodes (tailnet today has two `web`, ids 1 live and 63 stale) is refused with the ids; it used to take the first match. - `--delete` removes a stale record (`headscale nodes delete --identifier ID --force`) and re-lists to confirm it is gone. - A failing headscale command prints its output (it was sent to /dev/null). - New test with a stubbed Headscale, wired into lint. Not verified against live Headscale: the read was blocked, so why `nodes delete --identifier 21 --force` did nothing is still unknown; the new output will show it. 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_01Ge5tovcwdEUBtPwUktsZZZ
fix(manage): vpn revoke refuses ambiguous names, can delete stale nodes, verifies the result
All checks were successful
Lint / lint (pull_request) Successful in 3m7s
Secret scan / scan (pull_request) Successful in 18s
f41a444397
A name shared by two nodes (live web + a stale web) resolved to the first match and could
expire the live node. --delete removes stale records and checks they are gone; a failing
headscale command now shows its output instead of discarding it.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Ge5tovcwdEUBtPwUktsZZZ
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
jfraeys/infra!259
No description provided.