chore: add a dns.OSConfigurator implementation that uses the CoderVPN protocol (#15342)

Closes #14733.
This commit is contained in:
Ethan
2024-11-05 19:23:16 +11:00
committed by GitHub
parent 076399b3bd
commit 871cc05e99
3 changed files with 136 additions and 0 deletions
+5
View File
@@ -22,6 +22,7 @@ import (
"tailscale.com/envknob"
"tailscale.com/ipn/ipnstate"
"tailscale.com/net/connstats"
"tailscale.com/net/dns"
"tailscale.com/net/netmon"
"tailscale.com/net/netns"
"tailscale.com/net/tsdial"
@@ -106,6 +107,9 @@ type Options struct {
ClientType proto.TelemetryEvent_ClientType
// TelemetrySink is optional.
TelemetrySink TelemetrySink
// DNSConfigurator is optional, and is passed to the underlying wireguard
// engine.
DNSConfigurator dns.OSConfigurator
}
// TelemetrySink allows tailnet.Conn to send network telemetry to the Coder
@@ -178,6 +182,7 @@ func NewConn(options *Options) (conn *Conn, err error) {
Dialer: dialer,
ListenPort: options.ListenPort,
SetSubsystem: sys.Set,
DNS: options.DNSConfigurator,
})
if err != nil {
return nil, xerrors.Errorf("create wgengine: %w", err)