all: construct new System values with an event bus pre-populated

Although, at the moment, we do not yet require an event bus to be present, as
we start to add more pieces we will want to ensure it is always available.  Add
a new constructor and replace existing uses of new(tsd.System) throughout.
Update generated files for import changes.

Updates #15160

Change-Id: Ie5460985571ade87b8eac8b416948c7f49f0f64b
Signed-off-by: M. J. Fromberger <fromberger@tailscale.com>
This commit is contained in:
M. J. Fromberger
2025-03-19 09:47:06 -07:00
committed by M. J. Fromberger
parent 6b8bbb4c37
commit ffb22ee353
21 changed files with 29 additions and 28 deletions

View File

@@ -62,7 +62,6 @@ import (
"tailscale.com/types/logger"
"tailscale.com/types/logid"
"tailscale.com/util/clientmetric"
"tailscale.com/util/eventbus"
"tailscale.com/util/multierr"
"tailscale.com/util/osshare"
"tailscale.com/version"
@@ -375,11 +374,9 @@ var debugMux *http.ServeMux
func run() (err error) {
var logf logger.Logf = log.Printf
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())
sys := tsd.NewSystemWithEventBus()
// Parse config, if specified, to fail early if it's invalid.
var conf *conffile.Config
@@ -718,6 +715,7 @@ var tstunNew = tstun.New
func tryEngine(logf logger.Logf, sys *tsd.System, name string) (onlyNetstack bool, err error) {
conf := wgengine.Config{
EventBus: sys.Bus.Get(),
ListenPort: args.port,
NetMon: sys.NetMon.Get(),
HealthTracker: sys.HealthTracker(),