[PR #2892] Wireguard only peers #2924

Open
opened 2025-12-29 04:19:40 +01:00 by adam · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/juanfont/headscale/pull/2892
Author: @iridated
Created: 11/14/2025
Status: 🔄 Open

Base: mainHead: wireguard-only-peers


📝 Commits (10+)

  • 252201b Mullvad wireguard-only node proof of concept
  • aac25bf WireGuard-only peers: initial implementation
  • 179e323 Generate protobuf files
  • 842b71e List wireguard-only nodes in separate table
  • 29044f6 Maybe wg-only nodes report Online=true
  • ce47372 Add fake HostInfo to prevent Android app crash
  • 5634d55 Combine extra wg-only peer configuration into a single JSON parameter
  • 6590a87 Regenerate protobuf files
  • 92a1ea8 Store WireGuard-only peers in NodeStore
  • 20286fd Make types.WireGuardOnlyPeer more strongly typed

📊 Changes

33 files changed (+6028 additions, -249 deletions)

View changed files

📝 cmd/headscale/cli/nodes.go (+310 -16)
docs/ref/wireguard-only-peers.md (+139 -0)
📝 gen/go/headscale/v1/headscale.pb.go (+109 -87)
📝 gen/go/headscale/v1/headscale.pb.gw.go (+342 -50)
📝 gen/go/headscale/v1/headscale_grpc.pb.go (+179 -25)
📝 gen/go/headscale/v1/node.pb.go (+38 -14)
gen/go/headscale/v1/wireguard_connection.pb.go (+396 -0)
gen/go/headscale/v1/wireguard_only_peer.pb.go (+659 -0)
📝 gen/openapiv2/headscale/v1/headscale.swagger.json (+305 -0)
gen/openapiv2/headscale/v1/wireguard_connection.swagger.json (+44 -0)
gen/openapiv2/headscale/v1/wireguard_only_peer.swagger.json (+44 -0)
📝 hscontrol/db/db.go (+104 -0)
📝 hscontrol/db/schema.sql (+31 -0)
hscontrol/db/wireguard_connections.go (+87 -0)
hscontrol/db/wireguard_only_peer.go (+148 -0)
📝 hscontrol/grpcv1.go (+272 -15)
📝 hscontrol/mapper/batcher.go (+22 -0)
📝 hscontrol/mapper/builder.go (+36 -1)
📝 hscontrol/mapper/mapper.go (+34 -0)
📝 hscontrol/state/debug_test.go (+71 -3)

...and 13 more files

📄 Description

Implements #1545 as discussed in that feature

Checklist

  • have read the CONTRIBUTING.md file
  • raised a GitHub issue or discussed it on the projects chat beforehand
  • added unit tests
  • added integration tests
  • updated documentation if needed
  • updated CHANGELOG.md

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/juanfont/headscale/pull/2892 **Author:** [@iridated](https://github.com/iridated) **Created:** 11/14/2025 **Status:** 🔄 Open **Base:** `main` ← **Head:** `wireguard-only-peers` --- ### 📝 Commits (10+) - [`252201b`](https://github.com/juanfont/headscale/commit/252201b98defb760e696552af027fe7b965a6440) Mullvad wireguard-only node proof of concept - [`aac25bf`](https://github.com/juanfont/headscale/commit/aac25bf5c14797b741f7329b509b7f8a2c958bb8) WireGuard-only peers: initial implementation - [`179e323`](https://github.com/juanfont/headscale/commit/179e323ffb55301372ea43e4ffef47c2e3deeacb) Generate protobuf files - [`842b71e`](https://github.com/juanfont/headscale/commit/842b71e31ba62acf3b500aec91158a9450912b8c) List wireguard-only nodes in separate table - [`29044f6`](https://github.com/juanfont/headscale/commit/29044f68a8419142d345fa0d465ffe91328f9b86) Maybe wg-only nodes report Online=true - [`ce47372`](https://github.com/juanfont/headscale/commit/ce4737296a139332eba859f29eba580cf886fe8e) Add fake HostInfo to prevent Android app crash - [`5634d55`](https://github.com/juanfont/headscale/commit/5634d55fda1beb93630d913a56422827716c2ace) Combine extra wg-only peer configuration into a single JSON parameter - [`6590a87`](https://github.com/juanfont/headscale/commit/6590a87ac988a518ae62825b12ebd1f07e3dfd85) Regenerate protobuf files - [`92a1ea8`](https://github.com/juanfont/headscale/commit/92a1ea8a0ea7e686eb957dbc3d1fb98a73fa333b) Store WireGuard-only peers in NodeStore - [`20286fd`](https://github.com/juanfont/headscale/commit/20286fdddabffbbc243fdea82c4bc312aaba0ea2) Make types.WireGuardOnlyPeer more strongly typed ### 📊 Changes **33 files changed** (+6028 additions, -249 deletions) <details> <summary>View changed files</summary> 📝 `cmd/headscale/cli/nodes.go` (+310 -16) ➕ `docs/ref/wireguard-only-peers.md` (+139 -0) 📝 `gen/go/headscale/v1/headscale.pb.go` (+109 -87) 📝 `gen/go/headscale/v1/headscale.pb.gw.go` (+342 -50) 📝 `gen/go/headscale/v1/headscale_grpc.pb.go` (+179 -25) 📝 `gen/go/headscale/v1/node.pb.go` (+38 -14) ➕ `gen/go/headscale/v1/wireguard_connection.pb.go` (+396 -0) ➕ `gen/go/headscale/v1/wireguard_only_peer.pb.go` (+659 -0) 📝 `gen/openapiv2/headscale/v1/headscale.swagger.json` (+305 -0) ➕ `gen/openapiv2/headscale/v1/wireguard_connection.swagger.json` (+44 -0) ➕ `gen/openapiv2/headscale/v1/wireguard_only_peer.swagger.json` (+44 -0) 📝 `hscontrol/db/db.go` (+104 -0) 📝 `hscontrol/db/schema.sql` (+31 -0) ➕ `hscontrol/db/wireguard_connections.go` (+87 -0) ➕ `hscontrol/db/wireguard_only_peer.go` (+148 -0) 📝 `hscontrol/grpcv1.go` (+272 -15) 📝 `hscontrol/mapper/batcher.go` (+22 -0) 📝 `hscontrol/mapper/builder.go` (+36 -1) 📝 `hscontrol/mapper/mapper.go` (+34 -0) 📝 `hscontrol/state/debug_test.go` (+71 -3) _...and 13 more files_ </details> ### 📄 Description Implements #1545 as discussed in that feature **Checklist** - [x] have read the [CONTRIBUTING.md](./CONTRIBUTING.md) file - [x] raised a GitHub issue or discussed it on the projects chat beforehand - [x] added unit tests - [x] added integration tests - [x] updated documentation if needed - [ ] updated CHANGELOG.md --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
adam added the pull-request label 2025-12-29 04:19:40 +01:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/headscale#2924