diff --git a/cmd/provider/main.go b/cmd/provider/main.go index 7788c9d..0737864 100644 --- a/cmd/provider/main.go +++ b/cmd/provider/main.go @@ -7,6 +7,7 @@ package main import ( "context" "io" + "log" "os" "path/filepath" "time" @@ -61,9 +62,11 @@ func main() { ) kingpin.MustParse(app.Parse(os.Args[1:])) + log.Default().SetOutput(io.Discard) + ctrl.SetLogger(zap.New(zap.WriteTo(io.Discard))) zl := zap.New(zap.UseDevMode(*debug)) - log := logging.NewLogrLogger(zl.WithName("provider-artfactory")) + logr := logging.NewLogrLogger(zl.WithName("provider-artfactory")) if *debug { // The controller-runtime runs with a no-op logger by default. It is // *very* verbose even at info level, so we only provide it a real @@ -71,11 +74,11 @@ func main() { ctrl.SetLogger(zl) } else { // In non debug mode, setting the logger to no-op to fix the runtime warning which says - // log.SetLogger(...) was never called + // logr.SetLogger(...) was never called ctrl.SetLogger(zap.New(zap.WriteTo(io.Discard))) } - log.Debug("Starting", "sync-period", syncPeriod.String(), "poll-interval", pollInterval.String(), "max-reconcile-rate", *maxReconcileRate) + logr.Debug("Starting", "sync-period", syncPeriod.String(), "poll-interval", pollInterval.String(), "max-reconcile-rate", *maxReconcileRate) cfg, err := ctrl.GetConfig() kingpin.FatalIfError(err, "Cannot get API server rest config") @@ -101,7 +104,7 @@ func main() { o := tjcontroller.Options{ Options: xpcontroller.Options{ - Logger: log, + Logger: logr, GlobalRateLimiter: ratelimiter.NewGlobal(*maxReconcileRate), PollInterval: *pollInterval, MaxConcurrentReconciles: *maxReconcileRate, @@ -114,19 +117,19 @@ func main() { }, Provider: config.GetProvider(), // use the following WorkspaceStoreOption to enable the shared gRPC mode - // terraform.WithProviderRunner(terraform.NewSharedProvider(log, os.Getenv("TERRAFORM_NATIVE_PROVIDER_PATH"), terraform.WithNativeProviderArgs("-debuggable"))) - WorkspaceStore: terraform.NewWorkspaceStore(log), + // terraform.WithProviderRunner(terraform.NewSharedProvider(logr, os.Getenv("TERRAFORM_NATIVE_PROVIDER_PATH"), terraform.WithNativeProviderArgs("-debuggable"))) + WorkspaceStore: terraform.NewWorkspaceStore(logr), SetupFn: clients.TerraformSetupBuilder(*terraformVersion, *providerSource, *providerVersion), } if *enableExternalSecretStores { o.Features.Enable(features.EnableAlphaExternalSecretStores) o.SecretStoreConfigGVK = &v1alpha1.StoreConfigGroupVersionKind - log.Info("Alpha feature enabled", "flag", features.EnableAlphaExternalSecretStores) + logr.Info("Alpha feature enabled", "flag", features.EnableAlphaExternalSecretStores) o.ESSOptions = &tjcontroller.ESSOptions{} if *essTLSCertsPath != "" { - log.Info("ESS TLS certificates path is set. Loading mTLS configuration.") + logr.Info("ESS TLS certificates path is set. Loading mTLS configuration.") tCfg, err := certificates.LoadMTLSConfig(filepath.Join(*essTLSCertsPath, "ca.crt"), filepath.Join(*essTLSCertsPath, "tls.crt"), filepath.Join(*essTLSCertsPath, "tls.key"), false) kingpin.FatalIfError(err, "Cannot load ESS TLS config.") @@ -150,7 +153,7 @@ func main() { if *enableManagementPolicies { o.Features.Enable(features.EnableBetaManagementPolicies) - log.Info("Beta feature enabled", "flag", features.EnableBetaManagementPolicies) + logr.Info("Beta feature enabled", "flag", features.EnableBetaManagementPolicies) } kingpin.FatalIfError(controller.Setup(mgr, o), "Cannot setup Artifactory controllers")