diff --git a/cmd/acmesolver/main.go b/cmd/acmesolver/main.go index 9d38da5df..36f3bd803 100644 --- a/cmd/acmesolver/main.go +++ b/cmd/acmesolver/main.go @@ -17,9 +17,6 @@ limitations under the License. package main import ( - "fmt" - "os" - "github.com/cert-manager/cert-manager/acmesolver-binary/app" "github.com/cert-manager/cert-manager/internal/cmd/util" logf "github.com/cert-manager/cert-manager/pkg/logs" @@ -39,7 +36,7 @@ func main() { cmd := app.NewACMESolverCommand(stopCh) if err := cmd.Execute(); err != nil { - fmt.Fprintf(os.Stderr, "%s\n", err) + logf.Log.Error(err, "error executing command") util.SetExitCode(err) } } diff --git a/cmd/cainjector/main.go b/cmd/cainjector/main.go index fcca310d7..0568e182e 100644 --- a/cmd/cainjector/main.go +++ b/cmd/cainjector/main.go @@ -39,11 +39,10 @@ func main() { ctrl.SetLogger(logf.Log) ctx := util.ContextWithStopCh(context.Background(), stopCh) - cmd := app.NewCommandStartInjectorController(ctx, os.Stdout, os.Stderr) if err := cmd.Execute(); err != nil { - cmd.PrintErrln(err) + logf.Log.Error(err, "error executing command") util.SetExitCode(err) } } diff --git a/cmd/controller/main.go b/cmd/controller/main.go index 0086c7cea..bf454d6b1 100644 --- a/cmd/controller/main.go +++ b/cmd/controller/main.go @@ -32,7 +32,7 @@ func main() { cmd := app.NewCommandStartCertManagerController(stopCh) if err := cmd.Execute(); err != nil { - logf.Log.Error(err, "error while executing") + logf.Log.Error(err, "error executing command") util.SetExitCode(err) } } diff --git a/pkg/acme/webhook/cmd/cmd.go b/pkg/acme/webhook/cmd/cmd.go index d290de98f..6c8de15df 100644 --- a/pkg/acme/webhook/cmd/cmd.go +++ b/pkg/acme/webhook/cmd/cmd.go @@ -17,7 +17,6 @@ limitations under the License. package cmd import ( - "flag" "os" "runtime" @@ -46,7 +45,7 @@ func RunWebhookServer(groupName string, hooks ...webhook.Solver) { } cmd := server.NewCommandStartWebhookServer(os.Stdout, os.Stderr, stopCh, groupName, hooks...) - cmd.Flags().AddGoFlagSet(flag.CommandLine) + if err := cmd.Execute(); err != nil { logf.Log.Error(err, "error executing command") util.SetExitCode(err) diff --git a/pkg/acme/webhook/cmd/server/start.go b/pkg/acme/webhook/cmd/server/start.go index 400070216..66995774e 100644 --- a/pkg/acme/webhook/cmd/server/start.go +++ b/pkg/acme/webhook/cmd/server/start.go @@ -25,15 +25,19 @@ import ( genericapiserver "k8s.io/apiserver/pkg/server" genericoptions "k8s.io/apiserver/pkg/server/options" + "k8s.io/component-base/logs" "github.com/cert-manager/cert-manager/pkg/acme/webhook" whapi "github.com/cert-manager/cert-manager/pkg/acme/webhook/apis/acme/v1alpha1" "github.com/cert-manager/cert-manager/pkg/acme/webhook/apiserver" + logf "github.com/cert-manager/cert-manager/pkg/logs" ) const defaultEtcdPathPrefix = "/registry/acme.cert-manager.io" type WebhookServerOptions struct { + Logging *logs.Options + RecommendedOptions *genericoptions.RecommendedOptions SolverGroup string @@ -45,6 +49,8 @@ type WebhookServerOptions struct { func NewWebhookServerOptions(out, errOut io.Writer, groupName string, solvers ...webhook.Solver) *WebhookServerOptions { o := &WebhookServerOptions{ + Logging: logs.NewOptions(), + // TODO we will nil out the etcd storage options. This requires a later level of k8s.io/apiserver RecommendedOptions: genericoptions.NewRecommendedOptions( defaultEtcdPathPrefix, @@ -84,12 +90,17 @@ func NewCommandStartWebhookServer(out, errOut io.Writer, stopCh <-chan struct{}, } flags := cmd.Flags() + logf.AddFlags(o.Logging, flags) o.RecommendedOptions.AddFlags(flags) return cmd } func (o WebhookServerOptions) Validate(args []string) error { + if err := logf.ValidateAndApply(o.Logging); err != nil { + return err + } + return nil } diff --git a/pkg/logs/logs.go b/pkg/logs/logs.go index 62c662a51..c79fe96c6 100644 --- a/pkg/logs/logs.go +++ b/pkg/logs/logs.go @@ -82,7 +82,6 @@ func AddFlags(opts *logs.Options, fs *pflag.FlagSet) { } }) } - _ = fs.Set("logtostderr", "true") { var allFlags pflag.FlagSet