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