github.com/tilt-dev/tilt@v0.33.15-0.20240515162809-0a22ed45d8a0/internal/engine/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 engine
     8  
     9  import (
    10  	"context"
    11  
    12  	"github.com/google/wire"
    13  	"github.com/jonboulle/clockwork"
    14  	"go.opentelemetry.io/otel/sdk/trace"
    15  	"sigs.k8s.io/controller-runtime/pkg/client"
    16  
    17  	"github.com/tilt-dev/clusterid"
    18  	"github.com/tilt-dev/tilt/internal/analytics"
    19  	"github.com/tilt-dev/tilt/internal/build"
    20  	"github.com/tilt-dev/tilt/internal/container"
    21  	"github.com/tilt-dev/tilt/internal/controllers/core/cmd"
    22  	"github.com/tilt-dev/tilt/internal/controllers/core/cmdimage"
    23  	"github.com/tilt-dev/tilt/internal/controllers/core/dockercomposeservice"
    24  	"github.com/tilt-dev/tilt/internal/controllers/core/dockerimage"
    25  	"github.com/tilt-dev/tilt/internal/controllers/core/kubernetesapply"
    26  	"github.com/tilt-dev/tilt/internal/docker"
    27  	"github.com/tilt-dev/tilt/internal/dockercompose"
    28  	"github.com/tilt-dev/tilt/internal/dockerfile"
    29  	"github.com/tilt-dev/tilt/internal/engine/buildcontrol"
    30  	"github.com/tilt-dev/tilt/internal/k8s"
    31  	"github.com/tilt-dev/tilt/internal/localexec"
    32  	"github.com/tilt-dev/tilt/internal/store"
    33  	"github.com/tilt-dev/tilt/internal/store/liveupdates"
    34  	"github.com/tilt-dev/tilt/internal/tracer"
    35  	"github.com/tilt-dev/tilt/pkg/apis/core/v1alpha1"
    36  	"github.com/tilt-dev/wmclient/pkg/dirs"
    37  )
    38  
    39  // Injectors from wire.go:
    40  
    41  func provideFakeBuildAndDeployer(ctx context.Context, docker2 docker.Client, kClient k8s.Client, dir *dirs.TiltDevDir, env clusterid.Product, updateMode liveupdates.UpdateModeFlag, dcc dockercompose.DockerComposeClient, clock build.Clock, kp build.KINDLoader, analytics2 *analytics.TiltAnalytics, ctrlClient client.Client, st store.RStore, execer localexec.Execer) (buildcontrol.BuildAndDeployer, error) {
    42  	scheme := v1alpha1.NewScheme()
    43  	labels := _wireLabelsValue
    44  	dockerBuilder := build.NewDockerBuilder(docker2, labels)
    45  	localexecEnv := provideFakeEnv()
    46  	cmdExecer := cmd.ProvideExecer(localexecEnv)
    47  	proberManager := cmd.ProvideProberManager()
    48  	clockworkClock := clockwork.NewRealClock()
    49  	controller := cmd.NewController(ctx, cmdExecer, proberManager, ctrlClient, st, clockworkClock, scheme)
    50  	customBuilder := build.NewCustomBuilder(docker2, clock, controller)
    51  	imageBuilder := build.NewImageBuilder(dockerBuilder, customBuilder, kp)
    52  	reconciler := dockerimage.NewReconciler(ctrlClient, st, scheme, docker2, imageBuilder)
    53  	cmdimageReconciler := cmdimage.NewReconciler(ctrlClient, st, scheme, docker2, imageBuilder)
    54  	kubernetesapplyReconciler := kubernetesapply.NewReconciler(ctrlClient, kClient, scheme, st, execer)
    55  	imageBuildAndDeployer := buildcontrol.NewImageBuildAndDeployer(reconciler, cmdimageReconciler, imageBuilder, analytics2, clock, ctrlClient, kubernetesapplyReconciler)
    56  	disableSubscriber := dockercomposeservice.NewDisableSubscriber(ctx, dcc, clockworkClock)
    57  	dockercomposeserviceReconciler := dockercomposeservice.NewReconciler(ctrlClient, dcc, docker2, st, scheme, disableSubscriber)
    58  	dockerComposeBuildAndDeployer := buildcontrol.NewDockerComposeBuildAndDeployer(reconciler, cmdimageReconciler, imageBuilder, dockercomposeserviceReconciler, clock, ctrlClient)
    59  	localTargetBuildAndDeployer := buildcontrol.NewLocalTargetBuildAndDeployer(clock, ctrlClient, controller)
    60  	kubeContext := provideFakeKubeContext(env)
    61  	clusterEnv := provideFakeDockerClusterEnv(ctx, docker2, env, kubeContext, kClient)
    62  	liveupdatesUpdateMode, err := liveupdates.ProvideUpdateMode(updateMode, kubeContext, clusterEnv)
    63  	if err != nil {
    64  		return nil, err
    65  	}
    66  	buildOrder := DefaultBuildOrder(imageBuildAndDeployer, dockerComposeBuildAndDeployer, localTargetBuildAndDeployer, liveupdatesUpdateMode)
    67  	spanExporter := _wireSpanExporterValue
    68  	traceTracer := tracer.InitOpenTelemetry(spanExporter)
    69  	compositeBuildAndDeployer := NewCompositeBuildAndDeployer(buildOrder, traceTracer)
    70  	return compositeBuildAndDeployer, nil
    71  }
    72  
    73  var (
    74  	_wireLabelsValue       = dockerfile.Labels{}
    75  	_wireSpanExporterValue = (trace.SpanExporter)(nil)
    76  )
    77  
    78  // wire.go:
    79  
    80  var DeployerBaseWireSet = wire.NewSet(buildcontrol.BaseWireSet, wire.Value(UpperReducer), DefaultBuildOrder, wire.Bind(new(buildcontrol.BuildAndDeployer), new(*CompositeBuildAndDeployer)), NewCompositeBuildAndDeployer)
    81  
    82  var DeployerWireSetTest = wire.NewSet(
    83  	DeployerBaseWireSet, wire.InterfaceValue(new(trace.SpanExporter), (trace.SpanExporter)(nil)),
    84  )
    85  
    86  var DeployerWireSet = wire.NewSet(
    87  	DeployerBaseWireSet,
    88  )
    89  
    90  func provideFakeEnv() *localexec.Env {
    91  	return localexec.EmptyEnv()
    92  }
    93  
    94  func provideFakeKubeContext(env clusterid.Product) k8s.KubeContext {
    95  	return k8s.KubeContext(string(env))
    96  }
    97  
    98  // A simplified version of the normal calculation we do
    99  // about whether we can build direct to a cluster
   100  func provideFakeDockerClusterEnv(ctx context.Context, c docker.Client, k8sEnv clusterid.Product, kubeContext k8s.KubeContext, kClient k8s.Client) docker.ClusterEnv {
   101  	env := c.Env()
   102  	isLocalDockerCluster := k8sEnv == clusterid.ProductMinikube || k8sEnv == clusterid.ProductMicroK8s || k8sEnv == clusterid.ProductDockerDesktop
   103  	if isLocalDockerCluster {
   104  		isDockerRuntime := kClient.ContainerRuntime(ctx) == container.RuntimeDocker
   105  		if isDockerRuntime {
   106  			env.BuildToKubeContexts = append(env.BuildToKubeContexts, string(kubeContext))
   107  		}
   108  	}
   109  
   110  	fake, ok := c.(*docker.FakeClient)
   111  	if ok {
   112  		fake.FakeEnv = env
   113  	}
   114  
   115  	return docker.ClusterEnv(env)
   116  }