func runExecutor()

in cmd/eno-controller/main.go [177:222]


func runExecutor() {
	rc := ctrl.GetConfigOrDie()
	rc.UserAgent = "eno-executor"

	zapCfg := zap.NewProductionConfig()
	zl, err := zapCfg.Build()
	if err != nil {
		panic(err)
	}
	logger := zapr.NewLogger(zl)
	ctx := logr.NewContext(ctrl.SetupSignalHandler(), logger)

	hc, err := rest.HTTPClientFor(rc)
	if err != nil {
		panic(err)
	}
	rm, err := apiutil.NewDynamicRESTMapper(rc, hc)
	if err != nil {
		panic(err)
	}

	scheme, err := v1.SchemeBuilder.Build()
	if err != nil {
		logger.Error(err, "building scheme")
		os.Exit(1)
	}
	client, err := client.New(rc, client.Options{
		Scheme: scheme,
		Mapper: rm,
	})
	if err != nil {
		logger.Error(err, "building client")
		os.Exit(1)
	}

	e := &execution.Executor{
		Reader:  client,
		Writer:  client,
		Handler: execution.NewExecHandler(),
	}
	err = e.Synthesize(ctx, execution.LoadEnv())
	if err != nil {
		logger.Error(err, "synthesizing")
		os.Exit(1)
	}
}