Skip to content

ptp wireguard#702

Open
sechmann wants to merge 6 commits intomainfrom
ptp_wireguard
Open

ptp wireguard#702
sechmann wants to merge 6 commits intomainfrom
ptp_wireguard

Conversation

@sechmann
Copy link
Copy Markdown
Contributor

  • feat(tunnel): add WireGuard, STUN, and tunnel client libraries
  • feat(tunnel): add GraphQL schema and regenerate client
  • feat(tunnel): add valkey proxy command with WireGuard tunnel

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Apr 11, 2026

📝 Changelog preview

Below is a preview of the Changelog that will be added to the next release. Only commit messages that follow the Conventional Commits specification will be included in the Changelog.

v5.24.0 - 2026-04-14

Full Changelog: v5.23.1...v5.24.0

🚀 Features

  • (tunnel) Add WireGuard, STUN, and tunnel client libraries (ed69fc8)
  • (tunnel) Add GraphQL schema and regenerate client (023566c)
  • (tunnel) Add valkey proxy command with WireGuard tunnel (db0d2c7)

🐛 Bug Fixes

⚙️ Miscellaneous Changes

  • (tunnel) STUN-first flow, remove UpdateSTUNEndpoint, name-based lookup (2aa6655)

sechmann and others added 6 commits April 14, 2026 13:32
Userspace WireGuard (gvisor netstack), STUN discovery with Cloudflare/Google
fallback, STUNBind UDP adapter, and GraphQL queries for tunnel lifecycle.

Includes tests for WireGuard hex key encoding, STUN server parsing, and
STUNBind endpoint handling.

Co-authored-by: Thomas Krampl <thomas.siegfried.krampl@nav.no>
Tunnel types, mutations, and queries added to schema.graphql.
genqlient config updated to include tunnel operations directory.
Client code regenerated with tunnel CreateTunnel, UpdateSTUNEndpoint,
DeleteTunnel, and GetTunnel operations.

Co-authored-by: Thomas Krampl <thomas.siegfried.krampl@nav.no>
New 'nais valkey proxy' subcommand that creates a point-to-point WireGuard
tunnel to a Valkey instance via the tunnel operator gateway. Establishes
userspace WireGuard with STUN hole-punching and exposes a local TCP listener.

Adds wireguard-go, pion/stun, and gvisor dependencies.

Co-authored-by: Thomas Krampl <thomas.siegfried.krampl@nav.no>
Co-authored-by: Thomas Krampl <thomas.siegfried.krampl@nav.no>
…sed lookup

- Discover STUN endpoint before creating tunnel; pass clientSTUNEndpoint
  in CreateTunnelInput instead of calling UpdateTunnelSTUNEndpoint after
- Remove UpdateTunnelSTUNEndpoint query/mutation entirely
- Change GetTunnel to look up by name instead of ID
- Change DeleteTunnel to use teamSlug/environmentName/tunnelName
- Remove InstanceName from Config and CreateTunnelInput
- Track tunnel by Name (TunnelInfo.TunnelName) instead of UUID
- Update proxy.go to use new DeleteTunnel signature
- Regenerate genqlient client from updated schema

Co-authored-by: Thomas Krampl <thomas.siegfried.krampl@nav.no>
Co-authored-by: Thomas Krampl <thomas.siegfried.krampl@nav.no>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant