github.com/tilt-dev/tilt@v0.33.15-0.20240515162809-0a22ed45d8a0/internal/cli/wire_gen.go (about) 1 // Code generated by Wire. DO NOT EDIT. 2 3 //go:generate go run github.com/google/wire/cmd/wire 4 //go:build !wireinject 5 // +build !wireinject 6 7 package cli 8 9 import ( 10 "context" 11 "time" 12 13 "github.com/google/wire" 14 "github.com/jonboulle/clockwork" 15 "go.opentelemetry.io/otel/sdk/trace" 16 version2 "k8s.io/apimachinery/pkg/version" 17 "sigs.k8s.io/controller-runtime/pkg/client" 18 19 "github.com/tilt-dev/clusterid" 20 "github.com/tilt-dev/tilt/internal/analytics" 21 "github.com/tilt-dev/tilt/internal/build" 22 client2 "github.com/tilt-dev/tilt/internal/cli/client" 23 "github.com/tilt-dev/tilt/internal/cloud" 24 "github.com/tilt-dev/tilt/internal/cloud/cloudurl" 25 "github.com/tilt-dev/tilt/internal/containerupdate" 26 "github.com/tilt-dev/tilt/internal/controllers" 27 "github.com/tilt-dev/tilt/internal/controllers/core/cluster" 28 "github.com/tilt-dev/tilt/internal/controllers/core/cmd" 29 "github.com/tilt-dev/tilt/internal/controllers/core/cmdimage" 30 "github.com/tilt-dev/tilt/internal/controllers/core/configmap" 31 "github.com/tilt-dev/tilt/internal/controllers/core/dockercomposelogstream" 32 "github.com/tilt-dev/tilt/internal/controllers/core/dockercomposeservice" 33 "github.com/tilt-dev/tilt/internal/controllers/core/dockerimage" 34 "github.com/tilt-dev/tilt/internal/controllers/core/extension" 35 "github.com/tilt-dev/tilt/internal/controllers/core/extensionrepo" 36 "github.com/tilt-dev/tilt/internal/controllers/core/filewatch" 37 "github.com/tilt-dev/tilt/internal/controllers/core/filewatch/fsevent" 38 "github.com/tilt-dev/tilt/internal/controllers/core/imagemap" 39 "github.com/tilt-dev/tilt/internal/controllers/core/kubernetesapply" 40 "github.com/tilt-dev/tilt/internal/controllers/core/kubernetesdiscovery" 41 "github.com/tilt-dev/tilt/internal/controllers/core/liveupdate" 42 "github.com/tilt-dev/tilt/internal/controllers/core/podlogstream" 43 "github.com/tilt-dev/tilt/internal/controllers/core/portforward" 44 "github.com/tilt-dev/tilt/internal/controllers/core/session" 45 tiltfile2 "github.com/tilt-dev/tilt/internal/controllers/core/tiltfile" 46 "github.com/tilt-dev/tilt/internal/controllers/core/togglebutton" 47 "github.com/tilt-dev/tilt/internal/controllers/core/uibutton" 48 "github.com/tilt-dev/tilt/internal/controllers/core/uiresource" 49 "github.com/tilt-dev/tilt/internal/controllers/core/uisession" 50 "github.com/tilt-dev/tilt/internal/docker" 51 "github.com/tilt-dev/tilt/internal/dockercompose" 52 "github.com/tilt-dev/tilt/internal/dockerfile" 53 "github.com/tilt-dev/tilt/internal/engine" 54 analytics2 "github.com/tilt-dev/tilt/internal/engine/analytics" 55 "github.com/tilt-dev/tilt/internal/engine/buildcontrol" 56 "github.com/tilt-dev/tilt/internal/engine/configs" 57 "github.com/tilt-dev/tilt/internal/engine/dockerprune" 58 "github.com/tilt-dev/tilt/internal/engine/k8srollout" 59 "github.com/tilt-dev/tilt/internal/engine/k8swatch" 60 "github.com/tilt-dev/tilt/internal/engine/local" 61 session2 "github.com/tilt-dev/tilt/internal/engine/session" 62 "github.com/tilt-dev/tilt/internal/engine/telemetry" 63 uiresource2 "github.com/tilt-dev/tilt/internal/engine/uiresource" 64 uisession2 "github.com/tilt-dev/tilt/internal/engine/uisession" 65 "github.com/tilt-dev/tilt/internal/feature" 66 "github.com/tilt-dev/tilt/internal/git" 67 "github.com/tilt-dev/tilt/internal/hud" 68 "github.com/tilt-dev/tilt/internal/hud/prompt" 69 "github.com/tilt-dev/tilt/internal/hud/server" 70 "github.com/tilt-dev/tilt/internal/k8s" 71 "github.com/tilt-dev/tilt/internal/localexec" 72 "github.com/tilt-dev/tilt/internal/openurl" 73 "github.com/tilt-dev/tilt/internal/store" 74 "github.com/tilt-dev/tilt/internal/store/liveupdates" 75 "github.com/tilt-dev/tilt/internal/tiltfile" 76 "github.com/tilt-dev/tilt/internal/tiltfile/cisettings" 77 "github.com/tilt-dev/tilt/internal/tiltfile/config" 78 "github.com/tilt-dev/tilt/internal/tiltfile/k8scontext" 79 "github.com/tilt-dev/tilt/internal/tiltfile/tiltextension" 80 "github.com/tilt-dev/tilt/internal/tiltfile/version" 81 "github.com/tilt-dev/tilt/internal/token" 82 "github.com/tilt-dev/tilt/internal/tracer" 83 "github.com/tilt-dev/tilt/internal/xdg" 84 "github.com/tilt-dev/tilt/pkg/apis/core/v1alpha1" 85 "github.com/tilt-dev/tilt/pkg/logger" 86 "github.com/tilt-dev/tilt/pkg/model" 87 "github.com/tilt-dev/wmclient/pkg/dirs" 88 89 _ "embed" 90 ) 91 92 // Injectors from wire.go: 93 94 func wireTiltfileResult(ctx context.Context, analytics2 *analytics.TiltAnalytics, subcommand model.TiltSubcommand) (cmdTiltfileResultDeps, error) { 95 k8sKubeContextOverride := ProvideKubeContextOverride() 96 k8sNamespaceOverride := ProvideNamespaceOverride() 97 clientConfig := k8s.ProvideClientConfig(k8sKubeContextOverride, k8sNamespaceOverride) 98 apiConfigOrError := k8s.ProvideAPIConfig(clientConfig, k8sKubeContextOverride, k8sNamespaceOverride) 99 kubeContext := k8s.ProvideKubeContext(apiConfigOrError) 100 namespace := k8s.ProvideConfigNamespace(clientConfig) 101 product := k8s.ProvideClusterProduct(apiConfigOrError) 102 plugin := k8scontext.NewPlugin(kubeContext, namespace, product) 103 tiltBuild := provideTiltInfo() 104 versionPlugin := version.NewPlugin(tiltBuild) 105 configPlugin := config.NewPlugin(subcommand) 106 deferredClient := controllers.ProvideDeferredClient() 107 reducer := _wireReducerValue 108 storeLogActionsFlag := provideLogActions() 109 storeStore := store.NewStore(reducer, storeLogActionsFlag) 110 base := xdg.NewTiltDevBase() 111 reconciler, err := extensionrepo.NewReconciler(deferredClient, storeStore, base) 112 if err != nil { 113 return cmdTiltfileResultDeps{}, err 114 } 115 scheme := v1alpha1.NewScheme() 116 extensionReconciler := extension.NewReconciler(deferredClient, scheme, analytics2) 117 tiltextensionPlugin := tiltextension.NewPlugin(reconciler, extensionReconciler) 118 ciTimeoutFlag := provideCITimeoutFlag() 119 cisettingsPlugin := cisettings.NewPlugin(ciTimeoutFlag) 120 realClientCreator := _wireRealClientCreatorValue 121 restConfigOrError := k8s.ProvideRESTConfig(clientConfig) 122 clientsetOrError := k8s.ProvideClientset(restConfigOrError) 123 portForwardClient := k8s.ProvidePortForwardClient(restConfigOrError, clientsetOrError) 124 clusterName := k8s.ProvideClusterName(apiConfigOrError) 125 minikubeClient := k8s.ProvideMinikubeClient(kubeContext) 126 client := k8s.ProvideK8sClient(ctx, product, restConfigOrError, clientsetOrError, portForwardClient, kubeContext, clusterName, namespace, minikubeClient, apiConfigOrError, clientConfig) 127 clusterEnv := docker.ProvideClusterEnv(ctx, realClientCreator, kubeContext, product, client, minikubeClient) 128 localEnv := docker.ProvideLocalEnv(ctx, realClientCreator, kubeContext, product, clusterEnv) 129 dockerComposeClient := dockercompose.NewDockerComposeClient(localEnv) 130 webHost := provideWebHost() 131 webPort := provideWebPort() 132 env := localexec.DefaultEnv(webPort, webHost) 133 processExecer := localexec.NewProcessExecer(env) 134 defaults := _wireDefaultsValue 135 tiltfileLoader := tiltfile.ProvideTiltfileLoader(analytics2, plugin, versionPlugin, configPlugin, tiltextensionPlugin, cisettingsPlugin, dockerComposeClient, webHost, processExecer, defaults, product) 136 cliCmdTiltfileResultDeps := newTiltfileResultDeps(tiltfileLoader) 137 return cliCmdTiltfileResultDeps, nil 138 } 139 140 var ( 141 _wireReducerValue = engine.UpperReducer 142 _wireRealClientCreatorValue = docker.RealClientCreator{} 143 _wireDefaultsValue = feature.MainDefaults 144 ) 145 146 func wireDockerPrune(ctx context.Context, analytics2 *analytics.TiltAnalytics, subcommand model.TiltSubcommand) (dpDeps, error) { 147 realClientCreator := _wireRealClientCreatorValue 148 k8sKubeContextOverride := ProvideKubeContextOverride() 149 k8sNamespaceOverride := ProvideNamespaceOverride() 150 clientConfig := k8s.ProvideClientConfig(k8sKubeContextOverride, k8sNamespaceOverride) 151 apiConfigOrError := k8s.ProvideAPIConfig(clientConfig, k8sKubeContextOverride, k8sNamespaceOverride) 152 kubeContext := k8s.ProvideKubeContext(apiConfigOrError) 153 product := k8s.ProvideClusterProduct(apiConfigOrError) 154 restConfigOrError := k8s.ProvideRESTConfig(clientConfig) 155 clientsetOrError := k8s.ProvideClientset(restConfigOrError) 156 portForwardClient := k8s.ProvidePortForwardClient(restConfigOrError, clientsetOrError) 157 clusterName := k8s.ProvideClusterName(apiConfigOrError) 158 namespace := k8s.ProvideConfigNamespace(clientConfig) 159 minikubeClient := k8s.ProvideMinikubeClient(kubeContext) 160 client := k8s.ProvideK8sClient(ctx, product, restConfigOrError, clientsetOrError, portForwardClient, kubeContext, clusterName, namespace, minikubeClient, apiConfigOrError, clientConfig) 161 clusterEnv := docker.ProvideClusterEnv(ctx, realClientCreator, kubeContext, product, client, minikubeClient) 162 localEnv := docker.ProvideLocalEnv(ctx, realClientCreator, kubeContext, product, clusterEnv) 163 localClient := docker.ProvideLocalCli(ctx, localEnv) 164 clusterClient, err := docker.ProvideClusterCli(ctx, localEnv, clusterEnv, localClient) 165 if err != nil { 166 return dpDeps{}, err 167 } 168 compositeClient := docker.ProvideSwitchCli(clusterClient, localClient) 169 plugin := k8scontext.NewPlugin(kubeContext, namespace, product) 170 tiltBuild := provideTiltInfo() 171 versionPlugin := version.NewPlugin(tiltBuild) 172 configPlugin := config.NewPlugin(subcommand) 173 deferredClient := controllers.ProvideDeferredClient() 174 reducer := _wireReducerValue 175 storeLogActionsFlag := provideLogActions() 176 storeStore := store.NewStore(reducer, storeLogActionsFlag) 177 base := xdg.NewTiltDevBase() 178 reconciler, err := extensionrepo.NewReconciler(deferredClient, storeStore, base) 179 if err != nil { 180 return dpDeps{}, err 181 } 182 scheme := v1alpha1.NewScheme() 183 extensionReconciler := extension.NewReconciler(deferredClient, scheme, analytics2) 184 tiltextensionPlugin := tiltextension.NewPlugin(reconciler, extensionReconciler) 185 ciTimeoutFlag := provideCITimeoutFlag() 186 cisettingsPlugin := cisettings.NewPlugin(ciTimeoutFlag) 187 dockerComposeClient := dockercompose.NewDockerComposeClient(localEnv) 188 webHost := provideWebHost() 189 webPort := provideWebPort() 190 env := localexec.DefaultEnv(webPort, webHost) 191 processExecer := localexec.NewProcessExecer(env) 192 defaults := _wireDefaultsValue 193 tiltfileLoader := tiltfile.ProvideTiltfileLoader(analytics2, plugin, versionPlugin, configPlugin, tiltextensionPlugin, cisettingsPlugin, dockerComposeClient, webHost, processExecer, defaults, product) 194 cliDpDeps := newDPDeps(compositeClient, client, tiltfileLoader) 195 return cliDpDeps, nil 196 } 197 198 func wireCmdUp(ctx context.Context, analytics3 *analytics.TiltAnalytics, cmdTags analytics2.CmdTags, subcommand model.TiltSubcommand) (CmdUpDeps, error) { 199 reducer := _wireReducerValue 200 storeLogActionsFlag := provideLogActions() 201 storeStore := store.NewStore(reducer, storeLogActionsFlag) 202 tiltDevDir, err := dirs.UseTiltDevDir() 203 if err != nil { 204 return CmdUpDeps{}, err 205 } 206 configAccess := server.ProvideConfigAccess(tiltDevDir) 207 webPort := provideWebPort() 208 apiServerName := model.ProvideAPIServerName(webPort) 209 webHost := provideWebHost() 210 webListener, err := server.ProvideWebListener(webHost, webPort) 211 if err != nil { 212 return CmdUpDeps{}, err 213 } 214 tiltBuild := provideTiltInfo() 215 connProvider := server.ProvideDefaultConnProvider() 216 bearerToken, err := server.NewBearerToken() 217 if err != nil { 218 return CmdUpDeps{}, err 219 } 220 base := xdg.NewTiltDevBase() 221 generatableKeyCert, err := server.ProvideKeyCert(apiServerName, webHost, webPort, base) 222 if err != nil { 223 return CmdUpDeps{}, err 224 } 225 apiServerPort, err := server.ProvideAPIServerPort() 226 if err != nil { 227 return CmdUpDeps{}, err 228 } 229 apiserverConfig, err := server.ProvideTiltServerOptions(ctx, tiltBuild, connProvider, bearerToken, generatableKeyCert, apiServerPort) 230 if err != nil { 231 return CmdUpDeps{}, err 232 } 233 webMode, err := provideWebMode(tiltBuild) 234 if err != nil { 235 return CmdUpDeps{}, err 236 } 237 webVersion := provideWebVersion(tiltBuild) 238 assetsServer, err := provideAssetServer(webMode, webVersion) 239 if err != nil { 240 return CmdUpDeps{}, err 241 } 242 websocketList := server.NewWebsocketList() 243 deferredClient := controllers.ProvideDeferredClient() 244 headsUpServer, err := server.ProvideHeadsUpServer(ctx, storeStore, assetsServer, analytics3, websocketList, deferredClient) 245 if err != nil { 246 return CmdUpDeps{}, err 247 } 248 webURL, err := provideWebURL(webHost, webPort) 249 if err != nil { 250 return CmdUpDeps{}, err 251 } 252 headsUpServerController := server.ProvideHeadsUpServerController(configAccess, apiServerName, webListener, apiserverConfig, headsUpServer, assetsServer, webURL) 253 scheme := v1alpha1.NewScheme() 254 uncachedObjects := controllers.ProvideUncachedObjects() 255 tiltServerControllerManager, err := controllers.NewTiltServerControllerManager(apiserverConfig, scheme, deferredClient, uncachedObjects) 256 if err != nil { 257 return CmdUpDeps{}, err 258 } 259 watcherMaker := fsevent.ProvideWatcherMaker() 260 timerMaker := fsevent.ProvideTimerMaker() 261 clock := clockwork.NewRealClock() 262 controller := filewatch.NewController(deferredClient, storeStore, watcherMaker, timerMaker, scheme, clock) 263 env := localexec.DefaultEnv(webPort, webHost) 264 execer := cmd.ProvideExecer(env) 265 proberManager := cmd.ProvideProberManager() 266 cmdController := cmd.NewController(ctx, execer, proberManager, deferredClient, storeStore, clock, scheme) 267 k8sKubeContextOverride := ProvideKubeContextOverride() 268 k8sNamespaceOverride := ProvideNamespaceOverride() 269 clientConfig := k8s.ProvideClientConfig(k8sKubeContextOverride, k8sNamespaceOverride) 270 apiConfigOrError := k8s.ProvideAPIConfig(clientConfig, k8sKubeContextOverride, k8sNamespaceOverride) 271 product := k8s.ProvideClusterProduct(apiConfigOrError) 272 restConfigOrError := k8s.ProvideRESTConfig(clientConfig) 273 clientsetOrError := k8s.ProvideClientset(restConfigOrError) 274 portForwardClient := k8s.ProvidePortForwardClient(restConfigOrError, clientsetOrError) 275 kubeContext := k8s.ProvideKubeContext(apiConfigOrError) 276 clusterName := k8s.ProvideClusterName(apiConfigOrError) 277 namespace := k8s.ProvideConfigNamespace(clientConfig) 278 minikubeClient := k8s.ProvideMinikubeClient(kubeContext) 279 client := k8s.ProvideK8sClient(ctx, product, restConfigOrError, clientsetOrError, portForwardClient, kubeContext, clusterName, namespace, minikubeClient, apiConfigOrError, clientConfig) 280 podSource := podlogstream.NewPodSource(ctx, client, scheme, clock) 281 podlogstreamController := podlogstream.NewController(ctx, deferredClient, scheme, storeStore, client, podSource, clock) 282 connectionManager := cluster.NewConnectionManager() 283 containerRestartDetector := kubernetesdiscovery.NewContainerRestartDetector() 284 reconciler := kubernetesdiscovery.NewReconciler(deferredClient, scheme, connectionManager, containerRestartDetector, storeStore) 285 processExecer := localexec.NewProcessExecer(env) 286 kubernetesapplyReconciler := kubernetesapply.NewReconciler(deferredClient, client, scheme, storeStore, processExecer) 287 uisessionReconciler := uisession.NewReconciler(deferredClient, websocketList) 288 uiresourceReconciler := uiresource.NewReconciler(deferredClient, websocketList, storeStore) 289 uibuttonReconciler := uibutton.NewReconciler(deferredClient, websocketList, storeStore) 290 portforwardReconciler := portforward.NewReconciler(deferredClient, scheme, storeStore, connectionManager) 291 plugin := k8scontext.NewPlugin(kubeContext, namespace, product) 292 versionPlugin := version.NewPlugin(tiltBuild) 293 configPlugin := config.NewPlugin(subcommand) 294 extensionrepoReconciler, err := extensionrepo.NewReconciler(deferredClient, storeStore, base) 295 if err != nil { 296 return CmdUpDeps{}, err 297 } 298 extensionReconciler := extension.NewReconciler(deferredClient, scheme, analytics3) 299 tiltextensionPlugin := tiltextension.NewPlugin(extensionrepoReconciler, extensionReconciler) 300 ciTimeoutFlag := provideCITimeoutFlag() 301 cisettingsPlugin := cisettings.NewPlugin(ciTimeoutFlag) 302 realClientCreator := _wireRealClientCreatorValue 303 clusterEnv := docker.ProvideClusterEnv(ctx, realClientCreator, kubeContext, product, client, minikubeClient) 304 localEnv := docker.ProvideLocalEnv(ctx, realClientCreator, kubeContext, product, clusterEnv) 305 dockerComposeClient := dockercompose.NewDockerComposeClient(localEnv) 306 defaults := _wireDefaultsValue 307 tiltfileLoader := tiltfile.ProvideTiltfileLoader(analytics3, plugin, versionPlugin, configPlugin, tiltextensionPlugin, cisettingsPlugin, dockerComposeClient, webHost, processExecer, defaults, product) 308 localClient := docker.ProvideLocalCli(ctx, localEnv) 309 clusterClient, err := docker.ProvideClusterCli(ctx, localEnv, clusterEnv, localClient) 310 if err != nil { 311 return CmdUpDeps{}, err 312 } 313 compositeClient := docker.ProvideSwitchCli(clusterClient, localClient) 314 engineMode := _wireEngineModeValue 315 tiltfileReconciler := tiltfile2.NewReconciler(storeStore, tiltfileLoader, compositeClient, deferredClient, scheme, engineMode, k8sKubeContextOverride, k8sNamespaceOverride, ciTimeoutFlag) 316 togglebuttonReconciler := togglebutton.NewReconciler(deferredClient, scheme) 317 dockerUpdater := containerupdate.NewDockerUpdater(compositeClient) 318 execUpdater := containerupdate.NewExecUpdater(client) 319 liveupdatesUpdateModeFlag := provideUpdateModeFlag() 320 updateMode, err := liveupdates.ProvideUpdateMode(liveupdatesUpdateModeFlag, kubeContext, clusterEnv) 321 if err != nil { 322 return CmdUpDeps{}, err 323 } 324 liveupdateReconciler := liveupdate.NewReconciler(storeStore, dockerUpdater, execUpdater, updateMode, kubeContext, deferredClient, scheme) 325 configmapReconciler := configmap.NewReconciler(deferredClient, storeStore) 326 labels := _wireLabelsValue 327 dockerBuilder := build.NewDockerBuilder(compositeClient, labels) 328 buildClock := build.ProvideClock() 329 customBuilder := build.NewCustomBuilder(compositeClient, buildClock, cmdController) 330 kindLoader := build.NewKINDLoader() 331 imageBuilder := build.NewImageBuilder(dockerBuilder, customBuilder, kindLoader) 332 dockerimageReconciler := dockerimage.NewReconciler(deferredClient, storeStore, scheme, compositeClient, imageBuilder) 333 cmdimageReconciler := cmdimage.NewReconciler(deferredClient, storeStore, scheme, compositeClient, imageBuilder) 334 dockerClientFactory := _wireDockerClientFuncValue 335 kubernetesClientFactory := _wireKubernetesClientFuncValue 336 clusterReconciler := cluster.NewReconciler(ctx, deferredClient, storeStore, clock, connectionManager, localEnv, dockerClientFactory, kubernetesClientFactory, websocketList, base, apiServerName) 337 disableSubscriber := dockercomposeservice.NewDisableSubscriber(ctx, dockerComposeClient, clock) 338 dockercomposeserviceReconciler := dockercomposeservice.NewReconciler(deferredClient, dockerComposeClient, compositeClient, storeStore, scheme, disableSubscriber) 339 imagemapReconciler := imagemap.NewReconciler(deferredClient, storeStore) 340 dockercomposelogstreamReconciler := dockercomposelogstream.NewReconciler(deferredClient, storeStore, dockerComposeClient, compositeClient) 341 sessionReconciler := session.NewReconciler(deferredClient, storeStore, clock) 342 v := controllers.ProvideControllers(controller, cmdController, podlogstreamController, reconciler, kubernetesapplyReconciler, uisessionReconciler, uiresourceReconciler, uibuttonReconciler, portforwardReconciler, tiltfileReconciler, togglebuttonReconciler, extensionReconciler, extensionrepoReconciler, liveupdateReconciler, configmapReconciler, dockerimageReconciler, cmdimageReconciler, clusterReconciler, dockercomposeserviceReconciler, imagemapReconciler, dockercomposelogstreamReconciler, sessionReconciler) 343 controllerBuilder := controllers.NewControllerBuilder(tiltServerControllerManager, v) 344 v2 := provideClock() 345 renderer := hud.NewRenderer(v2) 346 openURL := _wireOpenURLValue 347 headsUpDisplay := hud.NewHud(renderer, webURL, analytics3, openURL) 348 stdout := hud.ProvideStdout() 349 incrementalPrinter := hud.NewIncrementalPrinter(stdout) 350 terminalStream := hud.NewTerminalStream(incrementalPrinter, storeStore) 351 openInput := _wireOpenInputValue 352 terminalPrompt := prompt.NewTerminalPrompt(analytics3, openInput, openURL, stdout, webHost, webURL) 353 serviceWatcher := k8swatch.NewServiceWatcher(connectionManager, namespace) 354 imageBuildAndDeployer := buildcontrol.NewImageBuildAndDeployer(dockerimageReconciler, cmdimageReconciler, imageBuilder, analytics3, buildClock, deferredClient, kubernetesapplyReconciler) 355 dockerComposeBuildAndDeployer := buildcontrol.NewDockerComposeBuildAndDeployer(dockerimageReconciler, cmdimageReconciler, imageBuilder, dockercomposeserviceReconciler, buildClock, deferredClient) 356 localTargetBuildAndDeployer := buildcontrol.NewLocalTargetBuildAndDeployer(buildClock, deferredClient, cmdController) 357 buildOrder := engine.DefaultBuildOrder(imageBuildAndDeployer, dockerComposeBuildAndDeployer, localTargetBuildAndDeployer, updateMode) 358 spanCollector := tracer.NewSpanCollector(ctx) 359 traceTracer := tracer.InitOpenTelemetry(spanCollector) 360 compositeBuildAndDeployer := engine.NewCompositeBuildAndDeployer(buildOrder, traceTracer) 361 buildController := engine.NewBuildController(compositeBuildAndDeployer) 362 configsController := configs.NewConfigsController(deferredClient) 363 triggerQueueSubscriber := configs.NewTriggerQueueSubscriber(deferredClient) 364 analyticsReporter := analytics2.ProvideAnalyticsReporter(analytics3, storeStore, client, product, defaults) 365 analyticsUpdater := analytics2.NewAnalyticsUpdater(analytics3, cmdTags, engineMode) 366 eventWatchManager := k8swatch.NewEventWatchManager(connectionManager, namespace) 367 httpClient := cloud.ProvideHttpClient() 368 cloudStatusManager := cloud.NewStatusManager(httpClient, clock) 369 dockerPruner := dockerprune.NewDockerPruner(compositeClient) 370 telemetryController := telemetry.NewController(buildClock, spanCollector) 371 serverController := local.NewServerController(deferredClient) 372 podMonitor := k8srollout.NewPodMonitor(clock) 373 sessionController := session2.NewController(sessionReconciler) 374 subscriber := uisession2.NewSubscriber(deferredClient) 375 uiresourceSubscriber := uiresource2.NewSubscriber(deferredClient) 376 v3 := engine.ProvideSubscribers(headsUpServerController, tiltServerControllerManager, controllerBuilder, headsUpDisplay, terminalStream, terminalPrompt, serviceWatcher, buildController, configsController, triggerQueueSubscriber, analyticsReporter, analyticsUpdater, eventWatchManager, cloudStatusManager, dockerPruner, telemetryController, serverController, podMonitor, sessionController, subscriber, uiresourceSubscriber) 377 upper, err := engine.NewUpper(ctx, storeStore, v3) 378 if err != nil { 379 return CmdUpDeps{}, err 380 } 381 tokenToken, err := token.GetOrCreateToken(tiltDevDir) 382 if err != nil { 383 return CmdUpDeps{}, err 384 } 385 address := cloudurl.ProvideAddress() 386 snapshotter := cloud.NewSnapshotter(storeStore, deferredClient) 387 cmdUpDeps := CmdUpDeps{ 388 Upper: upper, 389 TiltBuild: tiltBuild, 390 Token: tokenToken, 391 CloudAddress: address, 392 Prompt: terminalPrompt, 393 Snapshotter: snapshotter, 394 } 395 return cmdUpDeps, nil 396 } 397 398 var ( 399 _wireEngineModeValue = store.EngineModeUp 400 _wireLabelsValue = dockerfile.Labels{} 401 _wireDockerClientFuncValue = cluster.DockerClientFunc(cluster.DockerClientFromEnv) 402 _wireKubernetesClientFuncValue = cluster.KubernetesClientFunc(cluster.KubernetesClientFromEnv) 403 _wireOpenURLValue = openurl.OpenURL(openurl.BrowserOpen) 404 _wireOpenInputValue = prompt.OpenInput(prompt.TTYOpen) 405 ) 406 407 func wireCmdCI(ctx context.Context, analytics3 *analytics.TiltAnalytics, subcommand model.TiltSubcommand) (CmdCIDeps, error) { 408 reducer := _wireReducerValue 409 storeLogActionsFlag := provideLogActions() 410 storeStore := store.NewStore(reducer, storeLogActionsFlag) 411 tiltDevDir, err := dirs.UseTiltDevDir() 412 if err != nil { 413 return CmdCIDeps{}, err 414 } 415 configAccess := server.ProvideConfigAccess(tiltDevDir) 416 webPort := provideWebPort() 417 apiServerName := model.ProvideAPIServerName(webPort) 418 webHost := provideWebHost() 419 webListener, err := server.ProvideWebListener(webHost, webPort) 420 if err != nil { 421 return CmdCIDeps{}, err 422 } 423 tiltBuild := provideTiltInfo() 424 connProvider := server.ProvideDefaultConnProvider() 425 bearerToken, err := server.NewBearerToken() 426 if err != nil { 427 return CmdCIDeps{}, err 428 } 429 base := xdg.NewTiltDevBase() 430 generatableKeyCert, err := server.ProvideKeyCert(apiServerName, webHost, webPort, base) 431 if err != nil { 432 return CmdCIDeps{}, err 433 } 434 apiServerPort, err := server.ProvideAPIServerPort() 435 if err != nil { 436 return CmdCIDeps{}, err 437 } 438 apiserverConfig, err := server.ProvideTiltServerOptions(ctx, tiltBuild, connProvider, bearerToken, generatableKeyCert, apiServerPort) 439 if err != nil { 440 return CmdCIDeps{}, err 441 } 442 webMode, err := provideWebMode(tiltBuild) 443 if err != nil { 444 return CmdCIDeps{}, err 445 } 446 webVersion := provideWebVersion(tiltBuild) 447 assetsServer, err := provideAssetServer(webMode, webVersion) 448 if err != nil { 449 return CmdCIDeps{}, err 450 } 451 websocketList := server.NewWebsocketList() 452 deferredClient := controllers.ProvideDeferredClient() 453 headsUpServer, err := server.ProvideHeadsUpServer(ctx, storeStore, assetsServer, analytics3, websocketList, deferredClient) 454 if err != nil { 455 return CmdCIDeps{}, err 456 } 457 webURL, err := provideWebURL(webHost, webPort) 458 if err != nil { 459 return CmdCIDeps{}, err 460 } 461 headsUpServerController := server.ProvideHeadsUpServerController(configAccess, apiServerName, webListener, apiserverConfig, headsUpServer, assetsServer, webURL) 462 scheme := v1alpha1.NewScheme() 463 uncachedObjects := controllers.ProvideUncachedObjects() 464 tiltServerControllerManager, err := controllers.NewTiltServerControllerManager(apiserverConfig, scheme, deferredClient, uncachedObjects) 465 if err != nil { 466 return CmdCIDeps{}, err 467 } 468 watcherMaker := fsevent.ProvideWatcherMaker() 469 timerMaker := fsevent.ProvideTimerMaker() 470 clock := clockwork.NewRealClock() 471 controller := filewatch.NewController(deferredClient, storeStore, watcherMaker, timerMaker, scheme, clock) 472 env := localexec.DefaultEnv(webPort, webHost) 473 execer := cmd.ProvideExecer(env) 474 proberManager := cmd.ProvideProberManager() 475 cmdController := cmd.NewController(ctx, execer, proberManager, deferredClient, storeStore, clock, scheme) 476 k8sKubeContextOverride := ProvideKubeContextOverride() 477 k8sNamespaceOverride := ProvideNamespaceOverride() 478 clientConfig := k8s.ProvideClientConfig(k8sKubeContextOverride, k8sNamespaceOverride) 479 apiConfigOrError := k8s.ProvideAPIConfig(clientConfig, k8sKubeContextOverride, k8sNamespaceOverride) 480 product := k8s.ProvideClusterProduct(apiConfigOrError) 481 restConfigOrError := k8s.ProvideRESTConfig(clientConfig) 482 clientsetOrError := k8s.ProvideClientset(restConfigOrError) 483 portForwardClient := k8s.ProvidePortForwardClient(restConfigOrError, clientsetOrError) 484 kubeContext := k8s.ProvideKubeContext(apiConfigOrError) 485 clusterName := k8s.ProvideClusterName(apiConfigOrError) 486 namespace := k8s.ProvideConfigNamespace(clientConfig) 487 minikubeClient := k8s.ProvideMinikubeClient(kubeContext) 488 client := k8s.ProvideK8sClient(ctx, product, restConfigOrError, clientsetOrError, portForwardClient, kubeContext, clusterName, namespace, minikubeClient, apiConfigOrError, clientConfig) 489 podSource := podlogstream.NewPodSource(ctx, client, scheme, clock) 490 podlogstreamController := podlogstream.NewController(ctx, deferredClient, scheme, storeStore, client, podSource, clock) 491 connectionManager := cluster.NewConnectionManager() 492 containerRestartDetector := kubernetesdiscovery.NewContainerRestartDetector() 493 reconciler := kubernetesdiscovery.NewReconciler(deferredClient, scheme, connectionManager, containerRestartDetector, storeStore) 494 processExecer := localexec.NewProcessExecer(env) 495 kubernetesapplyReconciler := kubernetesapply.NewReconciler(deferredClient, client, scheme, storeStore, processExecer) 496 uisessionReconciler := uisession.NewReconciler(deferredClient, websocketList) 497 uiresourceReconciler := uiresource.NewReconciler(deferredClient, websocketList, storeStore) 498 uibuttonReconciler := uibutton.NewReconciler(deferredClient, websocketList, storeStore) 499 portforwardReconciler := portforward.NewReconciler(deferredClient, scheme, storeStore, connectionManager) 500 plugin := k8scontext.NewPlugin(kubeContext, namespace, product) 501 versionPlugin := version.NewPlugin(tiltBuild) 502 configPlugin := config.NewPlugin(subcommand) 503 extensionrepoReconciler, err := extensionrepo.NewReconciler(deferredClient, storeStore, base) 504 if err != nil { 505 return CmdCIDeps{}, err 506 } 507 extensionReconciler := extension.NewReconciler(deferredClient, scheme, analytics3) 508 tiltextensionPlugin := tiltextension.NewPlugin(extensionrepoReconciler, extensionReconciler) 509 ciTimeoutFlag := provideCITimeoutFlag() 510 cisettingsPlugin := cisettings.NewPlugin(ciTimeoutFlag) 511 realClientCreator := _wireRealClientCreatorValue 512 clusterEnv := docker.ProvideClusterEnv(ctx, realClientCreator, kubeContext, product, client, minikubeClient) 513 localEnv := docker.ProvideLocalEnv(ctx, realClientCreator, kubeContext, product, clusterEnv) 514 dockerComposeClient := dockercompose.NewDockerComposeClient(localEnv) 515 defaults := _wireDefaultsValue 516 tiltfileLoader := tiltfile.ProvideTiltfileLoader(analytics3, plugin, versionPlugin, configPlugin, tiltextensionPlugin, cisettingsPlugin, dockerComposeClient, webHost, processExecer, defaults, product) 517 localClient := docker.ProvideLocalCli(ctx, localEnv) 518 clusterClient, err := docker.ProvideClusterCli(ctx, localEnv, clusterEnv, localClient) 519 if err != nil { 520 return CmdCIDeps{}, err 521 } 522 compositeClient := docker.ProvideSwitchCli(clusterClient, localClient) 523 engineMode := _wireStoreEngineModeValue 524 tiltfileReconciler := tiltfile2.NewReconciler(storeStore, tiltfileLoader, compositeClient, deferredClient, scheme, engineMode, k8sKubeContextOverride, k8sNamespaceOverride, ciTimeoutFlag) 525 togglebuttonReconciler := togglebutton.NewReconciler(deferredClient, scheme) 526 dockerUpdater := containerupdate.NewDockerUpdater(compositeClient) 527 execUpdater := containerupdate.NewExecUpdater(client) 528 liveupdatesUpdateModeFlag := provideUpdateModeFlag() 529 updateMode, err := liveupdates.ProvideUpdateMode(liveupdatesUpdateModeFlag, kubeContext, clusterEnv) 530 if err != nil { 531 return CmdCIDeps{}, err 532 } 533 liveupdateReconciler := liveupdate.NewReconciler(storeStore, dockerUpdater, execUpdater, updateMode, kubeContext, deferredClient, scheme) 534 configmapReconciler := configmap.NewReconciler(deferredClient, storeStore) 535 labels := _wireLabelsValue 536 dockerBuilder := build.NewDockerBuilder(compositeClient, labels) 537 buildClock := build.ProvideClock() 538 customBuilder := build.NewCustomBuilder(compositeClient, buildClock, cmdController) 539 kindLoader := build.NewKINDLoader() 540 imageBuilder := build.NewImageBuilder(dockerBuilder, customBuilder, kindLoader) 541 dockerimageReconciler := dockerimage.NewReconciler(deferredClient, storeStore, scheme, compositeClient, imageBuilder) 542 cmdimageReconciler := cmdimage.NewReconciler(deferredClient, storeStore, scheme, compositeClient, imageBuilder) 543 dockerClientFactory := _wireDockerClientFuncValue 544 kubernetesClientFactory := _wireKubernetesClientFuncValue 545 clusterReconciler := cluster.NewReconciler(ctx, deferredClient, storeStore, clock, connectionManager, localEnv, dockerClientFactory, kubernetesClientFactory, websocketList, base, apiServerName) 546 disableSubscriber := dockercomposeservice.NewDisableSubscriber(ctx, dockerComposeClient, clock) 547 dockercomposeserviceReconciler := dockercomposeservice.NewReconciler(deferredClient, dockerComposeClient, compositeClient, storeStore, scheme, disableSubscriber) 548 imagemapReconciler := imagemap.NewReconciler(deferredClient, storeStore) 549 dockercomposelogstreamReconciler := dockercomposelogstream.NewReconciler(deferredClient, storeStore, dockerComposeClient, compositeClient) 550 sessionReconciler := session.NewReconciler(deferredClient, storeStore, clock) 551 v := controllers.ProvideControllers(controller, cmdController, podlogstreamController, reconciler, kubernetesapplyReconciler, uisessionReconciler, uiresourceReconciler, uibuttonReconciler, portforwardReconciler, tiltfileReconciler, togglebuttonReconciler, extensionReconciler, extensionrepoReconciler, liveupdateReconciler, configmapReconciler, dockerimageReconciler, cmdimageReconciler, clusterReconciler, dockercomposeserviceReconciler, imagemapReconciler, dockercomposelogstreamReconciler, sessionReconciler) 552 controllerBuilder := controllers.NewControllerBuilder(tiltServerControllerManager, v) 553 v2 := provideClock() 554 renderer := hud.NewRenderer(v2) 555 openURL := _wireOpenURLValue 556 headsUpDisplay := hud.NewHud(renderer, webURL, analytics3, openURL) 557 stdout := hud.ProvideStdout() 558 incrementalPrinter := hud.NewIncrementalPrinter(stdout) 559 terminalStream := hud.NewTerminalStream(incrementalPrinter, storeStore) 560 openInput := _wireOpenInputValue 561 terminalPrompt := prompt.NewTerminalPrompt(analytics3, openInput, openURL, stdout, webHost, webURL) 562 serviceWatcher := k8swatch.NewServiceWatcher(connectionManager, namespace) 563 imageBuildAndDeployer := buildcontrol.NewImageBuildAndDeployer(dockerimageReconciler, cmdimageReconciler, imageBuilder, analytics3, buildClock, deferredClient, kubernetesapplyReconciler) 564 dockerComposeBuildAndDeployer := buildcontrol.NewDockerComposeBuildAndDeployer(dockerimageReconciler, cmdimageReconciler, imageBuilder, dockercomposeserviceReconciler, buildClock, deferredClient) 565 localTargetBuildAndDeployer := buildcontrol.NewLocalTargetBuildAndDeployer(buildClock, deferredClient, cmdController) 566 buildOrder := engine.DefaultBuildOrder(imageBuildAndDeployer, dockerComposeBuildAndDeployer, localTargetBuildAndDeployer, updateMode) 567 spanCollector := tracer.NewSpanCollector(ctx) 568 traceTracer := tracer.InitOpenTelemetry(spanCollector) 569 compositeBuildAndDeployer := engine.NewCompositeBuildAndDeployer(buildOrder, traceTracer) 570 buildController := engine.NewBuildController(compositeBuildAndDeployer) 571 configsController := configs.NewConfigsController(deferredClient) 572 triggerQueueSubscriber := configs.NewTriggerQueueSubscriber(deferredClient) 573 analyticsReporter := analytics2.ProvideAnalyticsReporter(analytics3, storeStore, client, product, defaults) 574 cmdTags := _wireCmdTagsValue 575 analyticsUpdater := analytics2.NewAnalyticsUpdater(analytics3, cmdTags, engineMode) 576 eventWatchManager := k8swatch.NewEventWatchManager(connectionManager, namespace) 577 httpClient := cloud.ProvideHttpClient() 578 cloudStatusManager := cloud.NewStatusManager(httpClient, clock) 579 dockerPruner := dockerprune.NewDockerPruner(compositeClient) 580 telemetryController := telemetry.NewController(buildClock, spanCollector) 581 serverController := local.NewServerController(deferredClient) 582 podMonitor := k8srollout.NewPodMonitor(clock) 583 sessionController := session2.NewController(sessionReconciler) 584 subscriber := uisession2.NewSubscriber(deferredClient) 585 uiresourceSubscriber := uiresource2.NewSubscriber(deferredClient) 586 v3 := engine.ProvideSubscribers(headsUpServerController, tiltServerControllerManager, controllerBuilder, headsUpDisplay, terminalStream, terminalPrompt, serviceWatcher, buildController, configsController, triggerQueueSubscriber, analyticsReporter, analyticsUpdater, eventWatchManager, cloudStatusManager, dockerPruner, telemetryController, serverController, podMonitor, sessionController, subscriber, uiresourceSubscriber) 587 upper, err := engine.NewUpper(ctx, storeStore, v3) 588 if err != nil { 589 return CmdCIDeps{}, err 590 } 591 tokenToken, err := token.GetOrCreateToken(tiltDevDir) 592 if err != nil { 593 return CmdCIDeps{}, err 594 } 595 address := cloudurl.ProvideAddress() 596 snapshotter := cloud.NewSnapshotter(storeStore, deferredClient) 597 cmdCIDeps := CmdCIDeps{ 598 Upper: upper, 599 TiltBuild: tiltBuild, 600 Token: tokenToken, 601 CloudAddress: address, 602 Snapshotter: snapshotter, 603 } 604 return cmdCIDeps, nil 605 } 606 607 var ( 608 _wireStoreEngineModeValue = store.EngineModeCI 609 _wireCmdTagsValue = analytics2.CmdTags(map[string]string{}) 610 ) 611 612 func wireCmdUpdog(ctx context.Context, analytics3 *analytics.TiltAnalytics, cmdTags analytics2.CmdTags, subcommand model.TiltSubcommand, objects []client.Object) (CmdUpdogDeps, error) { 613 reducer := _wireReducerValue 614 storeLogActionsFlag := provideLogActions() 615 storeStore := store.NewStore(reducer, storeLogActionsFlag) 616 tiltDevDir, err := dirs.UseTiltDevDir() 617 if err != nil { 618 return CmdUpdogDeps{}, err 619 } 620 configAccess := server.ProvideConfigAccess(tiltDevDir) 621 webPort := provideWebPort() 622 apiServerName := model.ProvideAPIServerName(webPort) 623 webHost := provideWebHost() 624 webListener, err := server.ProvideWebListener(webHost, webPort) 625 if err != nil { 626 return CmdUpdogDeps{}, err 627 } 628 tiltBuild := provideTiltInfo() 629 connProvider := server.ProvideDefaultConnProvider() 630 bearerToken, err := server.NewBearerToken() 631 if err != nil { 632 return CmdUpdogDeps{}, err 633 } 634 base := xdg.NewTiltDevBase() 635 generatableKeyCert, err := server.ProvideKeyCert(apiServerName, webHost, webPort, base) 636 if err != nil { 637 return CmdUpdogDeps{}, err 638 } 639 apiServerPort, err := server.ProvideAPIServerPort() 640 if err != nil { 641 return CmdUpdogDeps{}, err 642 } 643 apiserverConfig, err := server.ProvideTiltServerOptions(ctx, tiltBuild, connProvider, bearerToken, generatableKeyCert, apiServerPort) 644 if err != nil { 645 return CmdUpdogDeps{}, err 646 } 647 webMode, err := provideWebMode(tiltBuild) 648 if err != nil { 649 return CmdUpdogDeps{}, err 650 } 651 webVersion := provideWebVersion(tiltBuild) 652 assetsServer, err := provideAssetServer(webMode, webVersion) 653 if err != nil { 654 return CmdUpdogDeps{}, err 655 } 656 websocketList := server.NewWebsocketList() 657 deferredClient := controllers.ProvideDeferredClient() 658 headsUpServer, err := server.ProvideHeadsUpServer(ctx, storeStore, assetsServer, analytics3, websocketList, deferredClient) 659 if err != nil { 660 return CmdUpdogDeps{}, err 661 } 662 webURL, err := provideWebURL(webHost, webPort) 663 if err != nil { 664 return CmdUpdogDeps{}, err 665 } 666 headsUpServerController := server.ProvideHeadsUpServerController(configAccess, apiServerName, webListener, apiserverConfig, headsUpServer, assetsServer, webURL) 667 scheme := v1alpha1.NewScheme() 668 uncachedObjects := controllers.ProvideUncachedObjects() 669 tiltServerControllerManager, err := controllers.NewTiltServerControllerManager(apiserverConfig, scheme, deferredClient, uncachedObjects) 670 if err != nil { 671 return CmdUpdogDeps{}, err 672 } 673 watcherMaker := fsevent.ProvideWatcherMaker() 674 timerMaker := fsevent.ProvideTimerMaker() 675 clock := clockwork.NewRealClock() 676 controller := filewatch.NewController(deferredClient, storeStore, watcherMaker, timerMaker, scheme, clock) 677 env := localexec.DefaultEnv(webPort, webHost) 678 execer := cmd.ProvideExecer(env) 679 proberManager := cmd.ProvideProberManager() 680 cmdController := cmd.NewController(ctx, execer, proberManager, deferredClient, storeStore, clock, scheme) 681 k8sKubeContextOverride := ProvideKubeContextOverride() 682 k8sNamespaceOverride := ProvideNamespaceOverride() 683 clientConfig := k8s.ProvideClientConfig(k8sKubeContextOverride, k8sNamespaceOverride) 684 apiConfigOrError := k8s.ProvideAPIConfig(clientConfig, k8sKubeContextOverride, k8sNamespaceOverride) 685 product := k8s.ProvideClusterProduct(apiConfigOrError) 686 restConfigOrError := k8s.ProvideRESTConfig(clientConfig) 687 clientsetOrError := k8s.ProvideClientset(restConfigOrError) 688 portForwardClient := k8s.ProvidePortForwardClient(restConfigOrError, clientsetOrError) 689 kubeContext := k8s.ProvideKubeContext(apiConfigOrError) 690 clusterName := k8s.ProvideClusterName(apiConfigOrError) 691 namespace := k8s.ProvideConfigNamespace(clientConfig) 692 minikubeClient := k8s.ProvideMinikubeClient(kubeContext) 693 k8sClient := k8s.ProvideK8sClient(ctx, product, restConfigOrError, clientsetOrError, portForwardClient, kubeContext, clusterName, namespace, minikubeClient, apiConfigOrError, clientConfig) 694 podSource := podlogstream.NewPodSource(ctx, k8sClient, scheme, clock) 695 podlogstreamController := podlogstream.NewController(ctx, deferredClient, scheme, storeStore, k8sClient, podSource, clock) 696 connectionManager := cluster.NewConnectionManager() 697 containerRestartDetector := kubernetesdiscovery.NewContainerRestartDetector() 698 reconciler := kubernetesdiscovery.NewReconciler(deferredClient, scheme, connectionManager, containerRestartDetector, storeStore) 699 processExecer := localexec.NewProcessExecer(env) 700 kubernetesapplyReconciler := kubernetesapply.NewReconciler(deferredClient, k8sClient, scheme, storeStore, processExecer) 701 uisessionReconciler := uisession.NewReconciler(deferredClient, websocketList) 702 uiresourceReconciler := uiresource.NewReconciler(deferredClient, websocketList, storeStore) 703 uibuttonReconciler := uibutton.NewReconciler(deferredClient, websocketList, storeStore) 704 portforwardReconciler := portforward.NewReconciler(deferredClient, scheme, storeStore, connectionManager) 705 plugin := k8scontext.NewPlugin(kubeContext, namespace, product) 706 versionPlugin := version.NewPlugin(tiltBuild) 707 configPlugin := config.NewPlugin(subcommand) 708 extensionrepoReconciler, err := extensionrepo.NewReconciler(deferredClient, storeStore, base) 709 if err != nil { 710 return CmdUpdogDeps{}, err 711 } 712 extensionReconciler := extension.NewReconciler(deferredClient, scheme, analytics3) 713 tiltextensionPlugin := tiltextension.NewPlugin(extensionrepoReconciler, extensionReconciler) 714 ciTimeoutFlag := provideCITimeoutFlag() 715 cisettingsPlugin := cisettings.NewPlugin(ciTimeoutFlag) 716 realClientCreator := _wireRealClientCreatorValue 717 clusterEnv := docker.ProvideClusterEnv(ctx, realClientCreator, kubeContext, product, k8sClient, minikubeClient) 718 localEnv := docker.ProvideLocalEnv(ctx, realClientCreator, kubeContext, product, clusterEnv) 719 dockerComposeClient := dockercompose.NewDockerComposeClient(localEnv) 720 defaults := _wireDefaultsValue 721 tiltfileLoader := tiltfile.ProvideTiltfileLoader(analytics3, plugin, versionPlugin, configPlugin, tiltextensionPlugin, cisettingsPlugin, dockerComposeClient, webHost, processExecer, defaults, product) 722 localClient := docker.ProvideLocalCli(ctx, localEnv) 723 clusterClient, err := docker.ProvideClusterCli(ctx, localEnv, clusterEnv, localClient) 724 if err != nil { 725 return CmdUpdogDeps{}, err 726 } 727 compositeClient := docker.ProvideSwitchCli(clusterClient, localClient) 728 engineMode := _wireEngineModeValue2 729 tiltfileReconciler := tiltfile2.NewReconciler(storeStore, tiltfileLoader, compositeClient, deferredClient, scheme, engineMode, k8sKubeContextOverride, k8sNamespaceOverride, ciTimeoutFlag) 730 togglebuttonReconciler := togglebutton.NewReconciler(deferredClient, scheme) 731 dockerUpdater := containerupdate.NewDockerUpdater(compositeClient) 732 execUpdater := containerupdate.NewExecUpdater(k8sClient) 733 liveupdatesUpdateModeFlag := provideUpdateModeFlag() 734 updateMode, err := liveupdates.ProvideUpdateMode(liveupdatesUpdateModeFlag, kubeContext, clusterEnv) 735 if err != nil { 736 return CmdUpdogDeps{}, err 737 } 738 liveupdateReconciler := liveupdate.NewReconciler(storeStore, dockerUpdater, execUpdater, updateMode, kubeContext, deferredClient, scheme) 739 configmapReconciler := configmap.NewReconciler(deferredClient, storeStore) 740 labels := _wireLabelsValue 741 dockerBuilder := build.NewDockerBuilder(compositeClient, labels) 742 buildClock := build.ProvideClock() 743 customBuilder := build.NewCustomBuilder(compositeClient, buildClock, cmdController) 744 kindLoader := build.NewKINDLoader() 745 imageBuilder := build.NewImageBuilder(dockerBuilder, customBuilder, kindLoader) 746 dockerimageReconciler := dockerimage.NewReconciler(deferredClient, storeStore, scheme, compositeClient, imageBuilder) 747 cmdimageReconciler := cmdimage.NewReconciler(deferredClient, storeStore, scheme, compositeClient, imageBuilder) 748 dockerClientFactory := _wireDockerClientFuncValue 749 kubernetesClientFactory := _wireKubernetesClientFuncValue 750 clusterReconciler := cluster.NewReconciler(ctx, deferredClient, storeStore, clock, connectionManager, localEnv, dockerClientFactory, kubernetesClientFactory, websocketList, base, apiServerName) 751 disableSubscriber := dockercomposeservice.NewDisableSubscriber(ctx, dockerComposeClient, clock) 752 dockercomposeserviceReconciler := dockercomposeservice.NewReconciler(deferredClient, dockerComposeClient, compositeClient, storeStore, scheme, disableSubscriber) 753 imagemapReconciler := imagemap.NewReconciler(deferredClient, storeStore) 754 dockercomposelogstreamReconciler := dockercomposelogstream.NewReconciler(deferredClient, storeStore, dockerComposeClient, compositeClient) 755 sessionReconciler := session.NewReconciler(deferredClient, storeStore, clock) 756 v := controllers.ProvideControllers(controller, cmdController, podlogstreamController, reconciler, kubernetesapplyReconciler, uisessionReconciler, uiresourceReconciler, uibuttonReconciler, portforwardReconciler, tiltfileReconciler, togglebuttonReconciler, extensionReconciler, extensionrepoReconciler, liveupdateReconciler, configmapReconciler, dockerimageReconciler, cmdimageReconciler, clusterReconciler, dockercomposeserviceReconciler, imagemapReconciler, dockercomposelogstreamReconciler, sessionReconciler) 757 controllerBuilder := controllers.NewControllerBuilder(tiltServerControllerManager, v) 758 stdout := hud.ProvideStdout() 759 incrementalPrinter := hud.NewIncrementalPrinter(stdout) 760 terminalStream := hud.NewTerminalStream(incrementalPrinter, storeStore) 761 cliUpdogSubscriber := provideUpdogSubscriber(objects, deferredClient) 762 v2 := provideUpdogCmdSubscribers(headsUpServerController, tiltServerControllerManager, controllerBuilder, terminalStream, cliUpdogSubscriber) 763 upper, err := engine.NewUpper(ctx, storeStore, v2) 764 if err != nil { 765 return CmdUpdogDeps{}, err 766 } 767 tokenToken, err := token.GetOrCreateToken(tiltDevDir) 768 if err != nil { 769 return CmdUpdogDeps{}, err 770 } 771 address := cloudurl.ProvideAddress() 772 cmdUpdogDeps := CmdUpdogDeps{ 773 Upper: upper, 774 TiltBuild: tiltBuild, 775 Token: tokenToken, 776 CloudAddress: address, 777 Store: storeStore, 778 } 779 return cmdUpdogDeps, nil 780 } 781 782 var ( 783 _wireEngineModeValue2 = store.EngineModeCI 784 ) 785 786 func wireKubeContext(ctx context.Context) (k8s.KubeContext, error) { 787 k8sKubeContextOverride := ProvideKubeContextOverride() 788 k8sNamespaceOverride := ProvideNamespaceOverride() 789 clientConfig := k8s.ProvideClientConfig(k8sKubeContextOverride, k8sNamespaceOverride) 790 apiConfigOrError := k8s.ProvideAPIConfig(clientConfig, k8sKubeContextOverride, k8sNamespaceOverride) 791 kubeContext := k8s.ProvideKubeContext(apiConfigOrError) 792 return kubeContext, nil 793 } 794 795 func wireEnv(ctx context.Context) (clusterid.Product, error) { 796 k8sKubeContextOverride := ProvideKubeContextOverride() 797 k8sNamespaceOverride := ProvideNamespaceOverride() 798 clientConfig := k8s.ProvideClientConfig(k8sKubeContextOverride, k8sNamespaceOverride) 799 apiConfigOrError := k8s.ProvideAPIConfig(clientConfig, k8sKubeContextOverride, k8sNamespaceOverride) 800 product := k8s.ProvideClusterProduct(apiConfigOrError) 801 return product, nil 802 } 803 804 func wireNamespace(ctx context.Context) (k8s.Namespace, error) { 805 k8sKubeContextOverride := ProvideKubeContextOverride() 806 k8sNamespaceOverride := ProvideNamespaceOverride() 807 clientConfig := k8s.ProvideClientConfig(k8sKubeContextOverride, k8sNamespaceOverride) 808 namespace := k8s.ProvideConfigNamespace(clientConfig) 809 return namespace, nil 810 } 811 812 func wireClusterName(ctx context.Context) (k8s.ClusterName, error) { 813 k8sKubeContextOverride := ProvideKubeContextOverride() 814 k8sNamespaceOverride := ProvideNamespaceOverride() 815 clientConfig := k8s.ProvideClientConfig(k8sKubeContextOverride, k8sNamespaceOverride) 816 apiConfigOrError := k8s.ProvideAPIConfig(clientConfig, k8sKubeContextOverride, k8sNamespaceOverride) 817 clusterName := k8s.ProvideClusterName(apiConfigOrError) 818 return clusterName, nil 819 } 820 821 func wireK8sClient(ctx context.Context) (k8s.Client, error) { 822 k8sKubeContextOverride := ProvideKubeContextOverride() 823 k8sNamespaceOverride := ProvideNamespaceOverride() 824 clientConfig := k8s.ProvideClientConfig(k8sKubeContextOverride, k8sNamespaceOverride) 825 apiConfigOrError := k8s.ProvideAPIConfig(clientConfig, k8sKubeContextOverride, k8sNamespaceOverride) 826 product := k8s.ProvideClusterProduct(apiConfigOrError) 827 restConfigOrError := k8s.ProvideRESTConfig(clientConfig) 828 clientsetOrError := k8s.ProvideClientset(restConfigOrError) 829 portForwardClient := k8s.ProvidePortForwardClient(restConfigOrError, clientsetOrError) 830 kubeContext := k8s.ProvideKubeContext(apiConfigOrError) 831 clusterName := k8s.ProvideClusterName(apiConfigOrError) 832 namespace := k8s.ProvideConfigNamespace(clientConfig) 833 minikubeClient := k8s.ProvideMinikubeClient(kubeContext) 834 k8sClient := k8s.ProvideK8sClient(ctx, product, restConfigOrError, clientsetOrError, portForwardClient, kubeContext, clusterName, namespace, minikubeClient, apiConfigOrError, clientConfig) 835 return k8sClient, nil 836 } 837 838 func wireK8sVersion(ctx context.Context) (*version2.Info, error) { 839 k8sKubeContextOverride := ProvideKubeContextOverride() 840 k8sNamespaceOverride := ProvideNamespaceOverride() 841 clientConfig := k8s.ProvideClientConfig(k8sKubeContextOverride, k8sNamespaceOverride) 842 restConfigOrError := k8s.ProvideRESTConfig(clientConfig) 843 clientsetOrError := k8s.ProvideClientset(restConfigOrError) 844 info, err := k8s.ProvideServerVersion(clientsetOrError) 845 if err != nil { 846 return nil, err 847 } 848 return info, nil 849 } 850 851 func wireDockerClusterClient(ctx context.Context) (docker.ClusterClient, error) { 852 realClientCreator := _wireRealClientCreatorValue 853 k8sKubeContextOverride := ProvideKubeContextOverride() 854 k8sNamespaceOverride := ProvideNamespaceOverride() 855 clientConfig := k8s.ProvideClientConfig(k8sKubeContextOverride, k8sNamespaceOverride) 856 apiConfigOrError := k8s.ProvideAPIConfig(clientConfig, k8sKubeContextOverride, k8sNamespaceOverride) 857 kubeContext := k8s.ProvideKubeContext(apiConfigOrError) 858 product := k8s.ProvideClusterProduct(apiConfigOrError) 859 restConfigOrError := k8s.ProvideRESTConfig(clientConfig) 860 clientsetOrError := k8s.ProvideClientset(restConfigOrError) 861 portForwardClient := k8s.ProvidePortForwardClient(restConfigOrError, clientsetOrError) 862 clusterName := k8s.ProvideClusterName(apiConfigOrError) 863 namespace := k8s.ProvideConfigNamespace(clientConfig) 864 minikubeClient := k8s.ProvideMinikubeClient(kubeContext) 865 k8sClient := k8s.ProvideK8sClient(ctx, product, restConfigOrError, clientsetOrError, portForwardClient, kubeContext, clusterName, namespace, minikubeClient, apiConfigOrError, clientConfig) 866 clusterEnv := docker.ProvideClusterEnv(ctx, realClientCreator, kubeContext, product, k8sClient, minikubeClient) 867 localEnv := docker.ProvideLocalEnv(ctx, realClientCreator, kubeContext, product, clusterEnv) 868 localClient := docker.ProvideLocalCli(ctx, localEnv) 869 clusterClient, err := docker.ProvideClusterCli(ctx, localEnv, clusterEnv, localClient) 870 if err != nil { 871 return nil, err 872 } 873 return clusterClient, nil 874 } 875 876 func wireDockerLocalClient(ctx context.Context) (docker.LocalClient, error) { 877 realClientCreator := _wireRealClientCreatorValue 878 k8sKubeContextOverride := ProvideKubeContextOverride() 879 k8sNamespaceOverride := ProvideNamespaceOverride() 880 clientConfig := k8s.ProvideClientConfig(k8sKubeContextOverride, k8sNamespaceOverride) 881 apiConfigOrError := k8s.ProvideAPIConfig(clientConfig, k8sKubeContextOverride, k8sNamespaceOverride) 882 kubeContext := k8s.ProvideKubeContext(apiConfigOrError) 883 product := k8s.ProvideClusterProduct(apiConfigOrError) 884 restConfigOrError := k8s.ProvideRESTConfig(clientConfig) 885 clientsetOrError := k8s.ProvideClientset(restConfigOrError) 886 portForwardClient := k8s.ProvidePortForwardClient(restConfigOrError, clientsetOrError) 887 clusterName := k8s.ProvideClusterName(apiConfigOrError) 888 namespace := k8s.ProvideConfigNamespace(clientConfig) 889 minikubeClient := k8s.ProvideMinikubeClient(kubeContext) 890 k8sClient := k8s.ProvideK8sClient(ctx, product, restConfigOrError, clientsetOrError, portForwardClient, kubeContext, clusterName, namespace, minikubeClient, apiConfigOrError, clientConfig) 891 clusterEnv := docker.ProvideClusterEnv(ctx, realClientCreator, kubeContext, product, k8sClient, minikubeClient) 892 localEnv := docker.ProvideLocalEnv(ctx, realClientCreator, kubeContext, product, clusterEnv) 893 localClient := docker.ProvideLocalCli(ctx, localEnv) 894 return localClient, nil 895 } 896 897 func wireDockerCompositeClient(ctx context.Context) (docker.CompositeClient, error) { 898 realClientCreator := _wireRealClientCreatorValue 899 k8sKubeContextOverride := ProvideKubeContextOverride() 900 k8sNamespaceOverride := ProvideNamespaceOverride() 901 clientConfig := k8s.ProvideClientConfig(k8sKubeContextOverride, k8sNamespaceOverride) 902 apiConfigOrError := k8s.ProvideAPIConfig(clientConfig, k8sKubeContextOverride, k8sNamespaceOverride) 903 kubeContext := k8s.ProvideKubeContext(apiConfigOrError) 904 product := k8s.ProvideClusterProduct(apiConfigOrError) 905 restConfigOrError := k8s.ProvideRESTConfig(clientConfig) 906 clientsetOrError := k8s.ProvideClientset(restConfigOrError) 907 portForwardClient := k8s.ProvidePortForwardClient(restConfigOrError, clientsetOrError) 908 clusterName := k8s.ProvideClusterName(apiConfigOrError) 909 namespace := k8s.ProvideConfigNamespace(clientConfig) 910 minikubeClient := k8s.ProvideMinikubeClient(kubeContext) 911 k8sClient := k8s.ProvideK8sClient(ctx, product, restConfigOrError, clientsetOrError, portForwardClient, kubeContext, clusterName, namespace, minikubeClient, apiConfigOrError, clientConfig) 912 clusterEnv := docker.ProvideClusterEnv(ctx, realClientCreator, kubeContext, product, k8sClient, minikubeClient) 913 localEnv := docker.ProvideLocalEnv(ctx, realClientCreator, kubeContext, product, clusterEnv) 914 localClient := docker.ProvideLocalCli(ctx, localEnv) 915 clusterClient, err := docker.ProvideClusterCli(ctx, localEnv, clusterEnv, localClient) 916 if err != nil { 917 return nil, err 918 } 919 compositeClient := docker.ProvideSwitchCli(clusterClient, localClient) 920 return compositeClient, nil 921 } 922 923 func wireDownDeps(ctx context.Context, tiltAnalytics *analytics.TiltAnalytics, subcommand model.TiltSubcommand) (DownDeps, error) { 924 k8sKubeContextOverride := ProvideKubeContextOverride() 925 k8sNamespaceOverride := ProvideNamespaceOverride() 926 clientConfig := k8s.ProvideClientConfig(k8sKubeContextOverride, k8sNamespaceOverride) 927 apiConfigOrError := k8s.ProvideAPIConfig(clientConfig, k8sKubeContextOverride, k8sNamespaceOverride) 928 kubeContext := k8s.ProvideKubeContext(apiConfigOrError) 929 namespace := k8s.ProvideConfigNamespace(clientConfig) 930 product := k8s.ProvideClusterProduct(apiConfigOrError) 931 plugin := k8scontext.NewPlugin(kubeContext, namespace, product) 932 tiltBuild := provideTiltInfo() 933 versionPlugin := version.NewPlugin(tiltBuild) 934 configPlugin := config.NewPlugin(subcommand) 935 deferredClient := controllers.ProvideDeferredClient() 936 reducer := _wireReducerValue 937 storeLogActionsFlag := provideLogActions() 938 storeStore := store.NewStore(reducer, storeLogActionsFlag) 939 base := xdg.NewTiltDevBase() 940 reconciler, err := extensionrepo.NewReconciler(deferredClient, storeStore, base) 941 if err != nil { 942 return DownDeps{}, err 943 } 944 scheme := v1alpha1.NewScheme() 945 extensionReconciler := extension.NewReconciler(deferredClient, scheme, tiltAnalytics) 946 tiltextensionPlugin := tiltextension.NewPlugin(reconciler, extensionReconciler) 947 ciTimeoutFlag := provideCITimeoutFlag() 948 cisettingsPlugin := cisettings.NewPlugin(ciTimeoutFlag) 949 realClientCreator := _wireRealClientCreatorValue 950 restConfigOrError := k8s.ProvideRESTConfig(clientConfig) 951 clientsetOrError := k8s.ProvideClientset(restConfigOrError) 952 portForwardClient := k8s.ProvidePortForwardClient(restConfigOrError, clientsetOrError) 953 clusterName := k8s.ProvideClusterName(apiConfigOrError) 954 minikubeClient := k8s.ProvideMinikubeClient(kubeContext) 955 k8sClient := k8s.ProvideK8sClient(ctx, product, restConfigOrError, clientsetOrError, portForwardClient, kubeContext, clusterName, namespace, minikubeClient, apiConfigOrError, clientConfig) 956 clusterEnv := docker.ProvideClusterEnv(ctx, realClientCreator, kubeContext, product, k8sClient, minikubeClient) 957 localEnv := docker.ProvideLocalEnv(ctx, realClientCreator, kubeContext, product, clusterEnv) 958 dockerComposeClient := dockercompose.NewDockerComposeClient(localEnv) 959 webHost := provideWebHost() 960 webPort := provideWebPort() 961 env := localexec.DefaultEnv(webPort, webHost) 962 processExecer := localexec.NewProcessExecer(env) 963 defaults := _wireDefaultsValue 964 tiltfileLoader := tiltfile.ProvideTiltfileLoader(tiltAnalytics, plugin, versionPlugin, configPlugin, tiltextensionPlugin, cisettingsPlugin, dockerComposeClient, webHost, processExecer, defaults, product) 965 downDeps := ProvideDownDeps(tiltfileLoader, dockerComposeClient, k8sClient, processExecer) 966 return downDeps, nil 967 } 968 969 func wireLogsDeps(ctx context.Context, tiltAnalytics *analytics.TiltAnalytics, subcommand model.TiltSubcommand) (LogsDeps, error) { 970 webHost := provideWebHost() 971 webPort := provideWebPort() 972 webURL, err := provideWebURL(webHost, webPort) 973 if err != nil { 974 return LogsDeps{}, err 975 } 976 stdout := hud.ProvideStdout() 977 incrementalPrinter := hud.NewIncrementalPrinter(stdout) 978 logsDeps := ProvideLogsDeps(webURL, incrementalPrinter) 979 return logsDeps, nil 980 } 981 982 func wireDumpImageDeployRefDeps(ctx context.Context) (DumpImageDeployRefDeps, error) { 983 realClientCreator := _wireRealClientCreatorValue 984 k8sKubeContextOverride := ProvideKubeContextOverride() 985 k8sNamespaceOverride := ProvideNamespaceOverride() 986 clientConfig := k8s.ProvideClientConfig(k8sKubeContextOverride, k8sNamespaceOverride) 987 apiConfigOrError := k8s.ProvideAPIConfig(clientConfig, k8sKubeContextOverride, k8sNamespaceOverride) 988 kubeContext := k8s.ProvideKubeContext(apiConfigOrError) 989 product := k8s.ProvideClusterProduct(apiConfigOrError) 990 restConfigOrError := k8s.ProvideRESTConfig(clientConfig) 991 clientsetOrError := k8s.ProvideClientset(restConfigOrError) 992 portForwardClient := k8s.ProvidePortForwardClient(restConfigOrError, clientsetOrError) 993 clusterName := k8s.ProvideClusterName(apiConfigOrError) 994 namespace := k8s.ProvideConfigNamespace(clientConfig) 995 minikubeClient := k8s.ProvideMinikubeClient(kubeContext) 996 k8sClient := k8s.ProvideK8sClient(ctx, product, restConfigOrError, clientsetOrError, portForwardClient, kubeContext, clusterName, namespace, minikubeClient, apiConfigOrError, clientConfig) 997 clusterEnv := docker.ProvideClusterEnv(ctx, realClientCreator, kubeContext, product, k8sClient, minikubeClient) 998 localEnv := docker.ProvideLocalEnv(ctx, realClientCreator, kubeContext, product, clusterEnv) 999 localClient := docker.ProvideLocalCli(ctx, localEnv) 1000 clusterClient, err := docker.ProvideClusterCli(ctx, localEnv, clusterEnv, localClient) 1001 if err != nil { 1002 return DumpImageDeployRefDeps{}, err 1003 } 1004 compositeClient := docker.ProvideSwitchCli(clusterClient, localClient) 1005 labels := _wireLabelsValue 1006 dockerBuilder := build.NewDockerBuilder(compositeClient, labels) 1007 dumpImageDeployRefDeps := DumpImageDeployRefDeps{ 1008 DockerBuilder: dockerBuilder, 1009 DockerClient: compositeClient, 1010 } 1011 return dumpImageDeployRefDeps, nil 1012 } 1013 1014 func wireAnalytics(l logger.Logger, cmdName model.TiltSubcommand) (*analytics.TiltAnalytics, error) { 1015 tiltBuild := provideTiltInfo() 1016 gitRemote := git.ProvideGitRemote() 1017 tiltAnalytics, err := newAnalytics(l, cmdName, tiltBuild, gitRemote) 1018 if err != nil { 1019 return nil, err 1020 } 1021 return tiltAnalytics, nil 1022 } 1023 1024 func wireClientGetter(ctx context.Context) (*client2.Getter, error) { 1025 tiltDevDir, err := dirs.UseTiltDevDir() 1026 if err != nil { 1027 return nil, err 1028 } 1029 webPort := provideWebPort() 1030 apiServerName := model.ProvideAPIServerName(webPort) 1031 configAccess := server.ProvideConfigAccess(tiltDevDir) 1032 tiltClientConfig, err := client2.ProvideClientConfig(apiServerName, configAccess) 1033 if err != nil { 1034 return nil, err 1035 } 1036 getter := client2.NewGetter(tiltDevDir, tiltClientConfig) 1037 return getter, nil 1038 } 1039 1040 func wireLsp(ctx context.Context, l logger.Logger, subcommand model.TiltSubcommand) (cmdLspDeps, error) { 1041 deferredClient := controllers.ProvideDeferredClient() 1042 reducer := _wireReducerValue 1043 storeLogActionsFlag := provideLogActions() 1044 storeStore := store.NewStore(reducer, storeLogActionsFlag) 1045 base := xdg.NewTiltDevBase() 1046 reconciler, err := extensionrepo.NewReconciler(deferredClient, storeStore, base) 1047 if err != nil { 1048 return cmdLspDeps{}, err 1049 } 1050 scheme := v1alpha1.NewScheme() 1051 tiltBuild := provideTiltInfo() 1052 gitRemote := git.ProvideGitRemote() 1053 tiltAnalytics, err := newAnalytics(l, subcommand, tiltBuild, gitRemote) 1054 if err != nil { 1055 return cmdLspDeps{}, err 1056 } 1057 extensionReconciler := extension.NewReconciler(deferredClient, scheme, tiltAnalytics) 1058 cliCmdLspDeps := newLspDeps(reconciler, extensionReconciler, tiltAnalytics) 1059 return cliCmdLspDeps, nil 1060 } 1061 1062 // wire.go: 1063 1064 var K8sWireSet = wire.NewSet(k8s.ProvideClusterProduct, k8s.ProvideClusterName, k8s.ProvideKubeContext, k8s.ProvideAPIConfig, k8s.ProvideClientConfig, k8s.ProvideClientset, k8s.ProvideRESTConfig, k8s.ProvidePortForwardClient, k8s.ProvideConfigNamespace, k8s.ProvideServerVersion, k8s.ProvideK8sClient, ProvideKubeContextOverride, 1065 ProvideNamespaceOverride) 1066 1067 var BaseWireSet = wire.NewSet( 1068 K8sWireSet, tiltfile.WireSet, git.ProvideGitRemote, localexec.DefaultEnv, localexec.NewProcessExecer, wire.Bind(new(localexec.Execer), new(*localexec.ProcessExecer)), docker.SwitchWireSet, dockercompose.NewDockerComposeClient, clockwork.NewRealClock, engine.DeployerWireSet, engine.NewBuildController, local.NewServerController, kubernetesdiscovery.NewContainerRestartDetector, k8swatch.NewServiceWatcher, k8swatch.NewEventWatchManager, uisession2.NewSubscriber, uiresource2.NewSubscriber, configs.NewConfigsController, configs.NewTriggerQueueSubscriber, telemetry.NewController, cloud.WireSet, cloudurl.ProvideAddress, k8srollout.NewPodMonitor, telemetry.NewStartTracker, session2.NewController, build.ProvideClock, provideClock, hud.WireSet, prompt.WireSet, wire.Value(openurl.OpenURL(openurl.BrowserOpen)), provideLogActions, store.NewStore, wire.Bind(new(store.RStore), new(*store.Store)), wire.Bind(new(store.Dispatcher), new(*store.Store)), dockerprune.NewDockerPruner, provideTiltInfo, engine.NewUpper, analytics2.NewAnalyticsUpdater, analytics2.ProvideAnalyticsReporter, provideUpdateModeFlag, fsevent.ProvideWatcherMaker, fsevent.ProvideTimerMaker, controllers.WireSet, provideCITimeoutFlag, 1069 provideWebVersion, 1070 provideWebMode, 1071 provideWebURL, 1072 provideWebPort, 1073 provideWebHost, server.WireSet, server.ProvideDefaultConnProvider, provideAssetServer, tracer.NewSpanCollector, wire.Bind(new(trace.SpanExporter), new(*tracer.SpanCollector)), wire.Bind(new(tracer.SpanSource), new(*tracer.SpanCollector)), dirs.UseTiltDevDir, xdg.NewTiltDevBase, token.GetOrCreateToken, build.NewKINDLoader, wire.Value(feature.MainDefaults), 1074 ) 1075 1076 var CLIClientWireSet = wire.NewSet( 1077 BaseWireSet, client2.WireSet, 1078 ) 1079 1080 var UpWireSet = wire.NewSet( 1081 BaseWireSet, engine.ProvideSubscribers, 1082 ) 1083 1084 type CmdUpDeps struct { 1085 Upper engine.Upper 1086 TiltBuild model.TiltBuild 1087 Token token.Token 1088 CloudAddress cloudurl.Address 1089 Prompt *prompt.TerminalPrompt 1090 Snapshotter *cloud.Snapshotter 1091 } 1092 1093 type CmdCIDeps struct { 1094 Upper engine.Upper 1095 TiltBuild model.TiltBuild 1096 Token token.Token 1097 CloudAddress cloudurl.Address 1098 Snapshotter *cloud.Snapshotter 1099 } 1100 1101 type CmdUpdogDeps struct { 1102 Upper engine.Upper 1103 TiltBuild model.TiltBuild 1104 Token token.Token 1105 CloudAddress cloudurl.Address 1106 Store *store.Store 1107 } 1108 1109 type DownDeps struct { 1110 tfl tiltfile.TiltfileLoader 1111 dcClient dockercompose.DockerComposeClient 1112 kClient k8s.Client 1113 execer localexec.Execer 1114 } 1115 1116 func ProvideDownDeps( 1117 tfl tiltfile.TiltfileLoader, 1118 dcClient dockercompose.DockerComposeClient, 1119 kClient k8s.Client, 1120 execer localexec.Execer) DownDeps { 1121 return DownDeps{ 1122 tfl: tfl, 1123 dcClient: dcClient, 1124 kClient: kClient, 1125 execer: execer, 1126 } 1127 } 1128 1129 type LogsDeps struct { 1130 url model.WebURL 1131 printer *hud.IncrementalPrinter 1132 } 1133 1134 func ProvideLogsDeps(u model.WebURL, p *hud.IncrementalPrinter) LogsDeps { 1135 return LogsDeps{ 1136 url: u, 1137 printer: p, 1138 } 1139 } 1140 1141 func provideClock() func() time.Time { 1142 return time.Now 1143 } 1144 1145 type DumpImageDeployRefDeps struct { 1146 DockerBuilder *build.DockerBuilder 1147 DockerClient docker.Client 1148 } 1149 1150 func provideCITimeoutFlag() model.CITimeoutFlag { 1151 return model.CITimeoutFlag(ciTimeout) 1152 }