diff --git a/cmd/manager/main.go b/cmd/manager/main.go index a90a5d3ea5..cf8dd225d3 100644 --- a/cmd/manager/main.go +++ b/cmd/manager/main.go @@ -37,12 +37,20 @@ import ( func main() { klog.InitFlags(nil) flag.Set("logtostderr", "true") + watchNamespace := flag.String("namespace", "", + "Namespace that the controller watches to reconcile cluster-api objects. If unspecified, the controller watches for cluster-api objects across all namespaces.") flag.Parse() cfg := config.GetConfigOrDie() // Setup a Manager - mgr, err := manager.New(cfg, manager.Options{}) + var opts manager.Options + if *watchNamespace != "" { + opts.Namespace = *watchNamespace + klog.Infof("Watching cluster-api objects only in namespace %q for reconciliation.", opts.Namespace) + } + + mgr, err := manager.New(cfg, opts) if err != nil { klog.Fatalf("Failed to set up overall controller manager: %v", err) }