diff --git a/pkg/scaffold/manager/cmd.go b/pkg/scaffold/manager/cmd.go index 9c5998c01..6f96f3248 100644 --- a/pkg/scaffold/manager/cmd.go +++ b/pkg/scaffold/manager/cmd.go @@ -46,6 +46,7 @@ import ( "log" _ "k8s.io/client-go/plugin/pkg/client/auth/gcp" + "k8s.io/apimachinery/pkg/api/meta" "sigs.k8s.io/controller-runtime/pkg/client/config" "sigs.k8s.io/controller-runtime/pkg/manager" "sigs.k8s.io/controller-runtime/pkg/runtime/signals" @@ -70,12 +71,17 @@ func main() { // Setup Scheme for all resources if err := apis.AddToScheme(mgr.GetScheme()); err != nil { - log.Fatal(err) + log.Fatalf("Add apis failed, error: %#v.", err) } // Setup all Controllers if err := controller.AddToManager(mgr); err != nil { - log.Fatal(err) + switch err.(type) { + case *meta.NoKindMatchError: + log.Fatalf("No kind %v found, please install CRD in advance.", err.(*meta.NoKindMatchError).GroupKind) + default: + log.Fatalf("Add controller failed, error: %#v.", err) + } } log.Printf("Starting the Cmd.") diff --git a/test/cmd/manager/main.go b/test/cmd/manager/main.go index c05b7462c..ab3d670e3 100644 --- a/test/cmd/manager/main.go +++ b/test/cmd/manager/main.go @@ -19,6 +19,7 @@ package main import ( "log" + "k8s.io/apimachinery/pkg/api/meta" _ "k8s.io/client-go/plugin/pkg/client/auth/gcp" "sigs.k8s.io/controller-runtime/pkg/client/config" "sigs.k8s.io/controller-runtime/pkg/manager" @@ -44,12 +45,17 @@ func main() { // Setup Scheme for all resources if err := apis.AddToScheme(mgr.GetScheme()); err != nil { - log.Fatal(err) + log.Fatalf("Add apis failed, error: %#v.", err) } // Setup all Controllers if err := controller.AddToManager(mgr); err != nil { - log.Fatal(err) + switch err.(type) { + case *meta.NoKindMatchError: + log.Fatalf("No kind %v found, please install CRD in advance.", err.(*meta.NoKindMatchError).GroupKind) + default: + log.Fatalf("Add controller failed, error: %#v.", err) + } } log.Printf("Starting the Cmd.")