77 "strings"
88 "time"
99
10+ ctrl "sigs.k8s.io/controller-runtime"
11+
1012 "github.com/pkg/errors"
1113
1214 traefikiov1alpha1 "github.com/traefik/traefik/v3/pkg/provider/kubernetes/crd/traefikio/v1alpha1"
@@ -26,6 +28,7 @@ import (
2628 pdoknlv3 "github.com/pdok/mapserver-operator/api/v3"
2729 "github.com/pdok/mapserver-operator/internal/controller/types"
2830 smoothoperatorv1 "github.com/pdok/smooth-operator/api/v1"
31+ smoothoperatorstatus "github.com/pdok/smooth-operator/pkg/status"
2932 smoothoperatorutils "github.com/pdok/smooth-operator/pkg/util"
3033 corev1 "k8s.io/api/core/v1"
3134 "sigs.k8s.io/controller-runtime/pkg/controller/controllerutil"
@@ -36,16 +39,26 @@ const (
3639 InspireLabelKey = "pdok.nl/inspire"
3740)
3841
39- func setWatches (mgr * builder.TypedBuilder [reconcile.Request ]) * builder.TypedBuilder [reconcile.Request ] {
40- return mgr .Owns (& corev1.ConfigMap {}, builder .WithPredicates (predicate.GenerationChangedPredicate {})).
42+ func createControllerManager (mgr ctrl.Manager , obj client.Object ) * builder.TypedBuilder [reconcile.Request ] {
43+ var kind string
44+ switch any (obj ).(type ) {
45+ case * pdoknlv3.WMS :
46+ kind = "WMS"
47+ case * pdoknlv3.WFS :
48+ kind = "WFS"
49+ }
50+
51+ controllerMgr := ctrl .NewControllerManagedBy (mgr ).For (obj ).Named (strings .ToLower (kind ))
52+ controllerMgr .Owns (& corev1.ConfigMap {}, builder .WithPredicates (predicate.GenerationChangedPredicate {})).
4153 Owns (& appsv1.Deployment {}, builder .WithPredicates (predicate.GenerationChangedPredicate {})).
42- WithEventFilter (predicate .Or (predicate.GenerationChangedPredicate {}, predicate.LabelChangedPredicate {})).
4354 Owns (& corev1.Service {}, builder .WithPredicates (predicate.GenerationChangedPredicate {})).
4455 Owns (& traefikiov1alpha1.Middleware {}, builder .WithPredicates (predicate.GenerationChangedPredicate {})).
4556 Owns (& traefikiov1alpha1.IngressRoute {}, builder .WithPredicates (predicate.GenerationChangedPredicate {})).
4657 Owns (& autoscalingv2.HorizontalPodAutoscaler {}, builder .WithPredicates (predicate.GenerationChangedPredicate {})).
4758 Owns (& policyv1.PodDisruptionBudget {}, builder .WithPredicates (predicate.GenerationChangedPredicate {})).
4859 Owns (& smoothoperatorv1.OwnerInfo {}, builder .WithPredicates (predicate.GenerationChangedPredicate {}))
60+
61+ return controllerMgr .Watches (& appsv1.ReplicaSet {}, smoothoperatorstatus .GetReplicaSetEventHandlerForObj (mgr , kind ))
4962}
5063
5164func ttlExpired [O pdoknlv3.WMSWFS ](obj O ) bool {
0 commit comments