mirror of
https://github.com/tailscale/tailscale.git
synced 2025-04-18 20:51:45 +00:00
tsd: wire up the event bus to tailscaled
Updates #15160 Signed-off-by: David Anderson <dave@tailscale.com>
This commit is contained in:
parent
098261bdf6
commit
ed1c5aeb2a
@ -82,6 +82,10 @@ tailscale.com/cmd/k8s-operator dependencies: (generated by github.com/tailscale/
|
|||||||
L github.com/aws/smithy-go/waiter from github.com/aws/aws-sdk-go-v2/service/ssm
|
L github.com/aws/smithy-go/waiter from github.com/aws/aws-sdk-go-v2/service/ssm
|
||||||
github.com/beorn7/perks/quantile from github.com/prometheus/client_golang/prometheus
|
github.com/beorn7/perks/quantile from github.com/prometheus/client_golang/prometheus
|
||||||
💣 github.com/cespare/xxhash/v2 from github.com/prometheus/client_golang/prometheus
|
💣 github.com/cespare/xxhash/v2 from github.com/prometheus/client_golang/prometheus
|
||||||
|
github.com/coder/websocket from tailscale.com/util/eventbus
|
||||||
|
github.com/coder/websocket/internal/errd from github.com/coder/websocket
|
||||||
|
github.com/coder/websocket/internal/util from github.com/coder/websocket
|
||||||
|
github.com/coder/websocket/internal/xsync from github.com/coder/websocket
|
||||||
L github.com/coreos/go-iptables/iptables from tailscale.com/util/linuxfw
|
L github.com/coreos/go-iptables/iptables from tailscale.com/util/linuxfw
|
||||||
💣 github.com/davecgh/go-spew/spew from k8s.io/apimachinery/pkg/util/dump
|
💣 github.com/davecgh/go-spew/spew from k8s.io/apimachinery/pkg/util/dump
|
||||||
W 💣 github.com/dblohm7/wingoes from github.com/dblohm7/wingoes/com+
|
W 💣 github.com/dblohm7/wingoes from github.com/dblohm7/wingoes/com+
|
||||||
@ -902,7 +906,8 @@ tailscale.com/cmd/k8s-operator dependencies: (generated by github.com/tailscale/
|
|||||||
tailscale.com/tstime from tailscale.com/cmd/k8s-operator+
|
tailscale.com/tstime from tailscale.com/cmd/k8s-operator+
|
||||||
tailscale.com/tstime/mono from tailscale.com/net/tstun+
|
tailscale.com/tstime/mono from tailscale.com/net/tstun+
|
||||||
tailscale.com/tstime/rate from tailscale.com/derp+
|
tailscale.com/tstime/rate from tailscale.com/derp+
|
||||||
tailscale.com/tsweb/varz from tailscale.com/util/usermetric
|
tailscale.com/tsweb from tailscale.com/util/eventbus
|
||||||
|
tailscale.com/tsweb/varz from tailscale.com/util/usermetric+
|
||||||
tailscale.com/types/appctype from tailscale.com/ipn/ipnlocal
|
tailscale.com/types/appctype from tailscale.com/ipn/ipnlocal
|
||||||
tailscale.com/types/bools from tailscale.com/tsnet
|
tailscale.com/types/bools from tailscale.com/tsnet
|
||||||
tailscale.com/types/dnstype from tailscale.com/ipn/ipnlocal+
|
tailscale.com/types/dnstype from tailscale.com/ipn/ipnlocal+
|
||||||
@ -931,6 +936,7 @@ tailscale.com/cmd/k8s-operator dependencies: (generated by github.com/tailscale/
|
|||||||
💣 tailscale.com/util/deephash from tailscale.com/ipn/ipnlocal+
|
💣 tailscale.com/util/deephash from tailscale.com/ipn/ipnlocal+
|
||||||
L 💣 tailscale.com/util/dirwalk from tailscale.com/metrics+
|
L 💣 tailscale.com/util/dirwalk from tailscale.com/metrics+
|
||||||
tailscale.com/util/dnsname from tailscale.com/appc+
|
tailscale.com/util/dnsname from tailscale.com/appc+
|
||||||
|
tailscale.com/util/eventbus from tailscale.com/tsd
|
||||||
tailscale.com/util/execqueue from tailscale.com/appc+
|
tailscale.com/util/execqueue from tailscale.com/appc+
|
||||||
tailscale.com/util/goroutines from tailscale.com/ipn/ipnlocal
|
tailscale.com/util/goroutines from tailscale.com/ipn/ipnlocal
|
||||||
tailscale.com/util/groupmember from tailscale.com/client/web+
|
tailscale.com/util/groupmember from tailscale.com/client/web+
|
||||||
@ -1148,7 +1154,7 @@ tailscale.com/cmd/k8s-operator dependencies: (generated by github.com/tailscale/
|
|||||||
hash/fnv from google.golang.org/protobuf/internal/detrand
|
hash/fnv from google.golang.org/protobuf/internal/detrand
|
||||||
hash/maphash from go4.org/mem
|
hash/maphash from go4.org/mem
|
||||||
html from html/template+
|
html from html/template+
|
||||||
html/template from github.com/gorilla/csrf
|
html/template from github.com/gorilla/csrf+
|
||||||
internal/abi from crypto/x509/internal/macos+
|
internal/abi from crypto/x509/internal/macos+
|
||||||
internal/asan from internal/runtime/maps+
|
internal/asan from internal/runtime/maps+
|
||||||
internal/bisect from internal/godebug
|
internal/bisect from internal/godebug
|
||||||
|
@ -81,6 +81,10 @@ tailscale.com/cmd/tailscaled dependencies: (generated by github.com/tailscale/de
|
|||||||
L github.com/aws/smithy-go/transport/http from github.com/aws/aws-sdk-go-v2/aws/middleware+
|
L github.com/aws/smithy-go/transport/http from github.com/aws/aws-sdk-go-v2/aws/middleware+
|
||||||
L github.com/aws/smithy-go/transport/http/internal/io from github.com/aws/smithy-go/transport/http
|
L github.com/aws/smithy-go/transport/http/internal/io from github.com/aws/smithy-go/transport/http
|
||||||
L github.com/aws/smithy-go/waiter from github.com/aws/aws-sdk-go-v2/service/ssm
|
L github.com/aws/smithy-go/waiter from github.com/aws/aws-sdk-go-v2/service/ssm
|
||||||
|
github.com/coder/websocket from tailscale.com/util/eventbus
|
||||||
|
github.com/coder/websocket/internal/errd from github.com/coder/websocket
|
||||||
|
github.com/coder/websocket/internal/util from github.com/coder/websocket
|
||||||
|
github.com/coder/websocket/internal/xsync from github.com/coder/websocket
|
||||||
L github.com/coreos/go-iptables/iptables from tailscale.com/util/linuxfw
|
L github.com/coreos/go-iptables/iptables from tailscale.com/util/linuxfw
|
||||||
LD 💣 github.com/creack/pty from tailscale.com/ssh/tailssh
|
LD 💣 github.com/creack/pty from tailscale.com/ssh/tailssh
|
||||||
W 💣 github.com/dblohm7/wingoes from github.com/dblohm7/wingoes/com+
|
W 💣 github.com/dblohm7/wingoes from github.com/dblohm7/wingoes/com+
|
||||||
@ -353,6 +357,7 @@ tailscale.com/cmd/tailscaled dependencies: (generated by github.com/tailscale/de
|
|||||||
tailscale.com/tstime from tailscale.com/control/controlclient+
|
tailscale.com/tstime from tailscale.com/control/controlclient+
|
||||||
tailscale.com/tstime/mono from tailscale.com/net/tstun+
|
tailscale.com/tstime/mono from tailscale.com/net/tstun+
|
||||||
tailscale.com/tstime/rate from tailscale.com/derp+
|
tailscale.com/tstime/rate from tailscale.com/derp+
|
||||||
|
tailscale.com/tsweb from tailscale.com/util/eventbus
|
||||||
tailscale.com/tsweb/varz from tailscale.com/cmd/tailscaled+
|
tailscale.com/tsweb/varz from tailscale.com/cmd/tailscaled+
|
||||||
tailscale.com/types/appctype from tailscale.com/ipn/ipnlocal
|
tailscale.com/types/appctype from tailscale.com/ipn/ipnlocal
|
||||||
tailscale.com/types/dnstype from tailscale.com/ipn/ipnlocal+
|
tailscale.com/types/dnstype from tailscale.com/ipn/ipnlocal+
|
||||||
@ -382,6 +387,7 @@ tailscale.com/cmd/tailscaled dependencies: (generated by github.com/tailscale/de
|
|||||||
💣 tailscale.com/util/deephash from tailscale.com/ipn/ipnlocal+
|
💣 tailscale.com/util/deephash from tailscale.com/ipn/ipnlocal+
|
||||||
L 💣 tailscale.com/util/dirwalk from tailscale.com/metrics+
|
L 💣 tailscale.com/util/dirwalk from tailscale.com/metrics+
|
||||||
tailscale.com/util/dnsname from tailscale.com/appc+
|
tailscale.com/util/dnsname from tailscale.com/appc+
|
||||||
|
tailscale.com/util/eventbus from tailscale.com/cmd/tailscaled+
|
||||||
tailscale.com/util/execqueue from tailscale.com/control/controlclient+
|
tailscale.com/util/execqueue from tailscale.com/control/controlclient+
|
||||||
tailscale.com/util/goroutines from tailscale.com/ipn/ipnlocal
|
tailscale.com/util/goroutines from tailscale.com/ipn/ipnlocal
|
||||||
tailscale.com/util/groupmember from tailscale.com/client/web+
|
tailscale.com/util/groupmember from tailscale.com/client/web+
|
||||||
@ -587,7 +593,7 @@ tailscale.com/cmd/tailscaled dependencies: (generated by github.com/tailscale/de
|
|||||||
hash/crc32 from compress/gzip+
|
hash/crc32 from compress/gzip+
|
||||||
hash/maphash from go4.org/mem
|
hash/maphash from go4.org/mem
|
||||||
html from html/template+
|
html from html/template+
|
||||||
html/template from github.com/gorilla/csrf
|
html/template from github.com/gorilla/csrf+
|
||||||
internal/abi from crypto/x509/internal/macos+
|
internal/abi from crypto/x509/internal/macos+
|
||||||
internal/asan from internal/runtime/maps+
|
internal/asan from internal/runtime/maps+
|
||||||
internal/bisect from internal/godebug
|
internal/bisect from internal/godebug
|
||||||
|
@ -62,6 +62,7 @@ import (
|
|||||||
"tailscale.com/types/logger"
|
"tailscale.com/types/logger"
|
||||||
"tailscale.com/types/logid"
|
"tailscale.com/types/logid"
|
||||||
"tailscale.com/util/clientmetric"
|
"tailscale.com/util/clientmetric"
|
||||||
|
"tailscale.com/util/eventbus"
|
||||||
"tailscale.com/util/multierr"
|
"tailscale.com/util/multierr"
|
||||||
"tailscale.com/util/osshare"
|
"tailscale.com/util/osshare"
|
||||||
"tailscale.com/version"
|
"tailscale.com/version"
|
||||||
@ -359,6 +360,10 @@ func run() (err error) {
|
|||||||
|
|
||||||
sys := new(tsd.System)
|
sys := new(tsd.System)
|
||||||
|
|
||||||
|
// Install an event bus as early as possible, so that it's
|
||||||
|
// available universally when setting up everything else.
|
||||||
|
sys.Set(eventbus.New())
|
||||||
|
|
||||||
// Parse config, if specified, to fail early if it's invalid.
|
// Parse config, if specified, to fail early if it's invalid.
|
||||||
var conf *conffile.Config
|
var conf *conffile.Config
|
||||||
if args.confFile != "" {
|
if args.confFile != "" {
|
||||||
|
@ -33,6 +33,7 @@ import (
|
|||||||
"tailscale.com/net/tstun"
|
"tailscale.com/net/tstun"
|
||||||
"tailscale.com/proxymap"
|
"tailscale.com/proxymap"
|
||||||
"tailscale.com/types/netmap"
|
"tailscale.com/types/netmap"
|
||||||
|
"tailscale.com/util/eventbus"
|
||||||
"tailscale.com/util/usermetric"
|
"tailscale.com/util/usermetric"
|
||||||
"tailscale.com/wgengine"
|
"tailscale.com/wgengine"
|
||||||
"tailscale.com/wgengine/magicsock"
|
"tailscale.com/wgengine/magicsock"
|
||||||
@ -41,6 +42,7 @@ import (
|
|||||||
|
|
||||||
// System contains all the subsystems of a Tailscale node (tailscaled, etc.)
|
// System contains all the subsystems of a Tailscale node (tailscaled, etc.)
|
||||||
type System struct {
|
type System struct {
|
||||||
|
Bus SubSystem[*eventbus.Bus]
|
||||||
Dialer SubSystem[*tsdial.Dialer]
|
Dialer SubSystem[*tsdial.Dialer]
|
||||||
DNSManager SubSystem[*dns.Manager] // can get its *resolver.Resolver from DNSManager.Resolver
|
DNSManager SubSystem[*dns.Manager] // can get its *resolver.Resolver from DNSManager.Resolver
|
||||||
Engine SubSystem[wgengine.Engine]
|
Engine SubSystem[wgengine.Engine]
|
||||||
@ -84,6 +86,8 @@ type NetstackImpl interface {
|
|||||||
// has already been set.
|
// has already been set.
|
||||||
func (s *System) Set(v any) {
|
func (s *System) Set(v any) {
|
||||||
switch v := v.(type) {
|
switch v := v.(type) {
|
||||||
|
case *eventbus.Bus:
|
||||||
|
s.Bus.Set(v)
|
||||||
case *netmon.Monitor:
|
case *netmon.Monitor:
|
||||||
s.NetMon.Set(v)
|
s.NetMon.Set(v)
|
||||||
case *dns.Manager:
|
case *dns.Manager:
|
||||||
|
@ -48,6 +48,7 @@ import (
|
|||||||
_ "tailscale.com/types/logger"
|
_ "tailscale.com/types/logger"
|
||||||
_ "tailscale.com/types/logid"
|
_ "tailscale.com/types/logid"
|
||||||
_ "tailscale.com/util/clientmetric"
|
_ "tailscale.com/util/clientmetric"
|
||||||
|
_ "tailscale.com/util/eventbus"
|
||||||
_ "tailscale.com/util/multierr"
|
_ "tailscale.com/util/multierr"
|
||||||
_ "tailscale.com/util/osshare"
|
_ "tailscale.com/util/osshare"
|
||||||
_ "tailscale.com/version"
|
_ "tailscale.com/version"
|
||||||
|
@ -48,6 +48,7 @@ import (
|
|||||||
_ "tailscale.com/types/logger"
|
_ "tailscale.com/types/logger"
|
||||||
_ "tailscale.com/types/logid"
|
_ "tailscale.com/types/logid"
|
||||||
_ "tailscale.com/util/clientmetric"
|
_ "tailscale.com/util/clientmetric"
|
||||||
|
_ "tailscale.com/util/eventbus"
|
||||||
_ "tailscale.com/util/multierr"
|
_ "tailscale.com/util/multierr"
|
||||||
_ "tailscale.com/util/osshare"
|
_ "tailscale.com/util/osshare"
|
||||||
_ "tailscale.com/version"
|
_ "tailscale.com/version"
|
||||||
|
@ -48,6 +48,7 @@ import (
|
|||||||
_ "tailscale.com/types/logger"
|
_ "tailscale.com/types/logger"
|
||||||
_ "tailscale.com/types/logid"
|
_ "tailscale.com/types/logid"
|
||||||
_ "tailscale.com/util/clientmetric"
|
_ "tailscale.com/util/clientmetric"
|
||||||
|
_ "tailscale.com/util/eventbus"
|
||||||
_ "tailscale.com/util/multierr"
|
_ "tailscale.com/util/multierr"
|
||||||
_ "tailscale.com/util/osshare"
|
_ "tailscale.com/util/osshare"
|
||||||
_ "tailscale.com/version"
|
_ "tailscale.com/version"
|
||||||
|
@ -48,6 +48,7 @@ import (
|
|||||||
_ "tailscale.com/types/logger"
|
_ "tailscale.com/types/logger"
|
||||||
_ "tailscale.com/types/logid"
|
_ "tailscale.com/types/logid"
|
||||||
_ "tailscale.com/util/clientmetric"
|
_ "tailscale.com/util/clientmetric"
|
||||||
|
_ "tailscale.com/util/eventbus"
|
||||||
_ "tailscale.com/util/multierr"
|
_ "tailscale.com/util/multierr"
|
||||||
_ "tailscale.com/util/osshare"
|
_ "tailscale.com/util/osshare"
|
||||||
_ "tailscale.com/version"
|
_ "tailscale.com/version"
|
||||||
|
@ -57,6 +57,7 @@ import (
|
|||||||
_ "tailscale.com/types/logger"
|
_ "tailscale.com/types/logger"
|
||||||
_ "tailscale.com/types/logid"
|
_ "tailscale.com/types/logid"
|
||||||
_ "tailscale.com/util/clientmetric"
|
_ "tailscale.com/util/clientmetric"
|
||||||
|
_ "tailscale.com/util/eventbus"
|
||||||
_ "tailscale.com/util/multierr"
|
_ "tailscale.com/util/multierr"
|
||||||
_ "tailscale.com/util/osdiag"
|
_ "tailscale.com/util/osdiag"
|
||||||
_ "tailscale.com/util/osshare"
|
_ "tailscale.com/util/osshare"
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
// Copyright (c) Tailscale Inc & AUTHORS
|
// Copyright (c) Tailscale Inc & AUTHORS
|
||||||
// SPDX-License-Identifier: BSD-3-Clause
|
// SPDX-License-Identifier: BSD-3-Clause
|
||||||
|
|
||||||
//go:build !js
|
//go:build !js && !wasm
|
||||||
|
|
||||||
package tsweb
|
package tsweb
|
||||||
|
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
// Copyright (c) Tailscale Inc & AUTHORS
|
// Copyright (c) Tailscale Inc & AUTHORS
|
||||||
// SPDX-License-Identifier: BSD-3-Clause
|
// SPDX-License-Identifier: BSD-3-Clause
|
||||||
|
|
||||||
|
//go:build js && wasm
|
||||||
|
|
||||||
package tsweb
|
package tsweb
|
||||||
|
|
||||||
func addProfilingHandlers(d *DebugHandler) {
|
func addProfilingHandlers(d *DebugHandler) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user