diff --git a/internal/cmd/command.go b/internal/cmd/command.go index b7e1820..97c7ffa 100644 --- a/internal/cmd/command.go +++ b/internal/cmd/command.go @@ -19,9 +19,15 @@ import ( "fmt" "math/rand" "os" + "sigs.k8s.io/controller-runtime/pkg/handler" "strconv" "time" + conf "github.com/sapcc/go-pmtud/internal/config" + metr "github.com/sapcc/go-pmtud/internal/metrics" + "github.com/sapcc/go-pmtud/internal/nflog" + "github.com/sapcc/go-pmtud/internal/node" + "github.com/sapcc/go-pmtud/internal/util" "github.com/spf13/cobra" "github.com/spf13/viper" corev1 "k8s.io/api/core/v1" @@ -29,18 +35,12 @@ import ( ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/client/config" "sigs.k8s.io/controller-runtime/pkg/controller" - "sigs.k8s.io/controller-runtime/pkg/handler" - - conf "github.com/sapcc/go-pmtud/internal/config" - metr "github.com/sapcc/go-pmtud/internal/metrics" - "github.com/sapcc/go-pmtud/internal/nflog" - "github.com/sapcc/go-pmtud/internal/node" - "github.com/sapcc/go-pmtud/internal/util" "sigs.k8s.io/controller-runtime/pkg/log/zap" "sigs.k8s.io/controller-runtime/pkg/manager" "sigs.k8s.io/controller-runtime/pkg/manager/signals" "sigs.k8s.io/controller-runtime/pkg/metrics" + metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" "sigs.k8s.io/controller-runtime/pkg/source" ) @@ -102,7 +102,7 @@ func runRootCmd(cmd *cobra.Command, args []string) error { }).WithName("runRoot") ctrl.SetLogger(log) managerOpts := manager.Options{ - MetricsBindAddress: ":" + strconv.Itoa(viper.GetInt("metrics_port")), + Metrics: metricsserver.Options{BindAddress: strconv.Itoa(viper.GetInt("metrics_port"))}, HealthProbeBindAddress: ":" + strconv.Itoa(cfg.HealthPort), } restConfig, err := config.GetConfigWithContext(cfg.KubeContext) @@ -128,7 +128,7 @@ func runRootCmd(cmd *cobra.Command, args []string) error { log.Error(err, "error creating node-controller") return err } - err = c.Watch(&source.Kind{Type: &corev1.Node{}}, &handler.EnqueueRequestForObject{}) + err = c.Watch(source.Kind(mgr.GetCache(), &corev1.Node{}, &handler.TypedEnqueueRequestForObject[*corev1.Node]{})) if err != nil { log.Error(err, "error watching nodes") return err