@@ -3,7 +3,9 @@ package controller
33import (
44 "context"
55 "fmt"
6+ ctrl "sigs.k8s.io/controller-runtime"
67 "strconv"
8+ "strings"
79 "time"
810
911 "github.com/pkg/errors"
@@ -25,6 +27,7 @@ import (
2527 pdoknlv3 "github.com/pdok/mapserver-operator/api/v3"
2628 "github.com/pdok/mapserver-operator/internal/controller/types"
2729 smoothoperatorv1 "github.com/pdok/smooth-operator/api/v1"
30+ smoothoperatorstatus "github.com/pdok/smooth-operator/pkg/status"
2831 smoothoperatorutils "github.com/pdok/smooth-operator/pkg/util"
2932 corev1 "k8s.io/api/core/v1"
3033 "sigs.k8s.io/controller-runtime/pkg/controller/controllerutil"
@@ -35,15 +38,20 @@ const (
3538 InspireLabelKey = "pdok.nl/inspire"
3639)
3740
38- func setWatches (mgr * builder.TypedBuilder [reconcile.Request ]) * builder.TypedBuilder [reconcile.Request ] {
39- return mgr .Owns (& corev1.ConfigMap {}, builder .WithPredicates (predicate.GenerationChangedPredicate {})).
41+ func createControllerManager (mgr ctrl.Manager , obj client.Object ) * builder.TypedBuilder [reconcile.Request ] {
42+ kind := obj .GetObjectKind ().GroupVersionKind ().Kind
43+
44+ controllerMgr := ctrl .NewControllerManagedBy (mgr ).For (obj ).Named (strings .ToLower (kind ))
45+ controllerMgr .Owns (& corev1.ConfigMap {}, builder .WithPredicates (predicate.GenerationChangedPredicate {})).
4046 Owns (& appsv1.Deployment {}, builder .WithPredicates (predicate.GenerationChangedPredicate {})).
4147 Owns (& corev1.Service {}, builder .WithPredicates (predicate.GenerationChangedPredicate {})).
4248 Owns (& traefikiov1alpha1.Middleware {}, builder .WithPredicates (predicate.GenerationChangedPredicate {})).
4349 Owns (& traefikiov1alpha1.IngressRoute {}, builder .WithPredicates (predicate.GenerationChangedPredicate {})).
4450 Owns (& autoscalingv2.HorizontalPodAutoscaler {}, builder .WithPredicates (predicate.GenerationChangedPredicate {})).
4551 Owns (& policyv1.PodDisruptionBudget {}, builder .WithPredicates (predicate.GenerationChangedPredicate {})).
4652 Owns (& smoothoperatorv1.OwnerInfo {}, builder .WithPredicates (predicate.GenerationChangedPredicate {}))
53+
54+ return controllerMgr .Watches (& appsv1.ReplicaSet {}, smoothoperatorstatus .GetReplicaSetEventHandlerForObj (mgr , obj ))
4755}
4856
4957func ttlExpired [O pdoknlv3.WMSWFS ](obj O ) bool {
0 commit comments