func main()

in main.go [32:65]


func main() {

	flag.Parse()
	config.NewConfig()
	config.UpdateConfig(*objectName, *caValidityYears, *serverValidityYears, *namespace)
	logger := log.NewLogger(*logLevel)
	ctx := logger.WithLogger(context.TODO())
	var label prometheus.Labels
	if *webhookTlsManagerEnabled {
		logger.Info(ctx, "AKS Webhook TLS Manager Reconciliation Job")
		label = prometheus.Labels{"job": consts.ReconciliationJob}
	} else {
		logger.Info(ctx, "AKS Webhook TLS Manager Cleanup Job")
		label = prometheus.Labels{"job": consts.CleanupJob}
	}
	kubeClient := getKubeClientFunc()
	http.Handle("/metrics", promhttp.Handler())
	go func() {
		if err := http.ListenAndServe(addr, nil); err != nil {
			logger.Errorf(ctx, "failed to start http server: %s", err)
		}
	}()

	webhookGoalResolver := goalresolvers.NewWebhookTlsManagerGoalResolver(ctx, kubeClient, *kubeSystemNamespaceBlocked, *webhookTlsManagerEnabled)
	webhookTlsManagerReconciler := reconcilers.NewWebhookTlsManagerReconciler(webhookGoalResolver, kubeClient)

	cerr := webhookTlsManagerReconciler.Reconcile(ctx)
	if cerr != nil {
		logger.Errorf(ctx, "WebhookTlsManagerReconciler failed. error: %s", *cerr)
		metrics.ResultMetric.With(label).Set(1)
		os.Exit(1)
	}
	metrics.ResultMetric.With(label).Set(0)
}