This is an automated email from the ASF dual-hosted git repository.

gfournier pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel-k.git


The following commit(s) were added to refs/heads/main by this push:
     new 084327ac4 feat(deps): Upgrade controller-runtime to 0.16.5
084327ac4 is described below

commit 084327ac43b34629bf4bab07f274806408f9f7d9
Author: Gaelle Fournier <gaelle.fournier.w...@gmail.com>
AuthorDate: Mon Apr 8 17:32:25 2024 +0200

    feat(deps): Upgrade controller-runtime to 0.16.5
---
 go.mod                       |  6 +++---
 go.sum                       | 12 ++++++------
 pkg/cmd/operator/operator.go | 46 ++++++++++++++++++++++++++++++++++----------
 3 files changed, 45 insertions(+), 19 deletions(-)

diff --git a/go.mod b/go.mod
index a975015b5..b22b3670a 100644
--- a/go.mod
+++ b/go.mod
@@ -52,8 +52,8 @@ require (
        k8s.io/utils v0.0.0-20230505201702-9f6742963106
        knative.dev/eventing v0.40.3
        knative.dev/pkg v0.0.0-20240116073220-b488e7be5902
-       knative.dev/serving v0.40.1
-       sigs.k8s.io/controller-runtime v0.15.2
+       knative.dev/serving v0.39.3
+       sigs.k8s.io/controller-runtime v0.16.5
        sigs.k8s.io/structured-merge-diff/v4 v4.4.1
 )
 
@@ -76,7 +76,7 @@ require (
        github.com/docker/distribution v2.8.2+incompatible // indirect
        github.com/docker/docker v24.0.9+incompatible // indirect
        github.com/docker/docker-credential-helpers v0.7.0 // indirect
-       github.com/emicklei/go-restful/v3 v3.10.2 // indirect
+       github.com/emicklei/go-restful/v3 v3.11.0 // indirect
        github.com/evanphx/json-patch/v5 v5.8.0 // indirect
        github.com/go-kit/log v0.2.1 // indirect
        github.com/go-logfmt/logfmt v0.5.1 // indirect
diff --git a/go.sum b/go.sum
index dc1cfc1b4..13aab05c3 100644
--- a/go.sum
+++ b/go.sum
@@ -103,8 +103,8 @@ github.com/docker/docker v24.0.9+incompatible 
h1:HPGzNmwfLZWdxHqK9/II92pyi1EpYKs
 github.com/docker/docker v24.0.9+incompatible/go.mod 
h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk=
 github.com/docker/docker-credential-helpers v0.7.0 
h1:xtCHsjxogADNZcdv1pKUHXryefjlVRqWqIhk/uXJp0A=
 github.com/docker/docker-credential-helpers v0.7.0/go.mod 
h1:rETQfLdHNT3foU5kuNkFR1R1V12OJRRO5lzt2D1b5X0=
-github.com/emicklei/go-restful/v3 v3.10.2 
h1:hIovbnmBTLjHXkqEBUz3HGpXZdM7ZrE9fJIZIqlJLqE=
-github.com/emicklei/go-restful/v3 v3.10.2/go.mod 
h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc=
+github.com/emicklei/go-restful/v3 v3.11.0 
h1:rAQeMHw1c7zTmncogyy8VvRZwtkmkZ4FxERmMY4rD+g=
+github.com/emicklei/go-restful/v3 v3.11.0/go.mod 
h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc=
 github.com/envoyproxy/go-control-plane v0.9.0/go.mod 
h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
 github.com/envoyproxy/go-control-plane 
v0.9.1-0.20191026205805-5f8ba28d4473/go.mod 
h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
 github.com/envoyproxy/go-control-plane v0.9.4/go.mod 
h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98=
@@ -860,13 +860,13 @@ knative.dev/networking v0.0.0-20240116081125-ce0738abf051 
h1:bTRVfwmfu4/7U1YBcgB
 knative.dev/networking v0.0.0-20240116081125-ce0738abf051/go.mod 
h1:rdzGL1OVP6VItEiJUN/FTCrDnIzkA6ykhSvaK+0Ne6o=
 knative.dev/pkg v0.0.0-20240116073220-b488e7be5902 
h1:H6+JJN23fhwYWCHY1339sY6uhIyoUwDy1a8dN233fdk=
 knative.dev/pkg v0.0.0-20240116073220-b488e7be5902/go.mod 
h1:NYk8mMYoLkO7CQWnNkti4YGGnvLxN6MIDbUvtgeo0C0=
-knative.dev/serving v0.40.1 h1:ZAAK8KwZQYUgCgVi3ay+NqKAISnJQ1OXPYvdtXWUcBc=
-knative.dev/serving v0.40.1/go.mod 
h1:Ory3XczDB8b1lH757CSdeDeouY3LHzSamX8IjmStuoU=
+knative.dev/serving v0.39.3 h1:x3p3iCY0eKwKZmlXUZfc9C0YawyiB6Kc1HlE66b530I=
+knative.dev/serving v0.39.3/go.mod 
h1:bWylSgwnRZeL659qy7m3/TZioYk25TIfusPUEeR695A=
 rsc.io/binaryregexp v0.2.0/go.mod 
h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8=
 rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0=
 rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA=
-sigs.k8s.io/controller-runtime v0.15.2 
h1:9V7b7SDQSJ08IIsJ6CY1CE85Okhp87dyTMNDG0FS7f4=
-sigs.k8s.io/controller-runtime v0.15.2/go.mod 
h1:7ngYvp1MLT+9GeZ+6lH3LOlcHkp/+tzA/fmHa4iq9kk=
+sigs.k8s.io/controller-runtime v0.16.5 
h1:yr1cEJbX08xsTW6XEIzT13KHHmIyX8Umvme2cULvFZw=
+sigs.k8s.io/controller-runtime v0.16.5/go.mod 
h1:j7bialYoSn142nv9sCOJmQgDXQXxnroFU4VnX/brVJ0=
 sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd 
h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo=
 sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod 
h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0=
 sigs.k8s.io/structured-merge-diff/v4 v4.4.1 
h1:150L+0vs/8DA78h1u02ooW1/fFq/Lwr+sGiqlzvrtq4=
diff --git a/pkg/cmd/operator/operator.go b/pkg/cmd/operator/operator.go
index f4bf99b82..cf571e30e 100644
--- a/pkg/cmd/operator/operator.go
+++ b/pkg/cmd/operator/operator.go
@@ -52,6 +52,7 @@ import (
        zapctrl "sigs.k8s.io/controller-runtime/pkg/log/zap"
        "sigs.k8s.io/controller-runtime/pkg/manager"
        "sigs.k8s.io/controller-runtime/pkg/manager/signals"
+       metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server"
 
        servingv1 "knative.dev/serving/pkg/apis/serving/v1"
 
@@ -186,27 +187,42 @@ func Run(healthPort, monitoringPort int32, leaderElection 
bool, leaderElectionID
 
        hasIntegrationLabel, err := labels.NewRequirement(v1.IntegrationLabel, 
selection.Exists, []string{})
        exitOnError(err, "cannot create Integration label selector")
-       selector := labels.NewSelector().Add(*hasIntegrationLabel)
+       labelsSelector := labels.NewSelector().Add(*hasIntegrationLabel)
+
+       selector := cache.ByObject{
+               Label: labelsSelector,
+       }
+
+       if !platform.IsCurrentOperatorGlobal() {
+               selector = cache.ByObject{
+                       Label:      labelsSelector,
+                       Namespaces: getNamespacesSelector(operatorNamespace, 
watchNamespace),
+               }
+       }
 
        selectors := map[ctrl.Object]cache.ByObject{
-               &corev1.Pod{}:        {Label: selector},
-               &appsv1.Deployment{}: {Label: selector},
-               &batchv1.Job{}:       {Label: selector},
-               &servingv1.Service{}: {Label: selector},
+               &corev1.Pod{}:        selector,
+               &appsv1.Deployment{}: selector,
+               &batchv1.Job{}:       selector,
+       }
+
+       if ok, err := kubernetes.IsAPIResourceInstalled(bootstrapClient, 
servingv1.SchemeGroupVersion.String(), 
reflect.TypeOf(servingv1.Service{}).Name()); ok && err == nil {
+               selectors[&servingv1.Service{}] = selector
        }
 
        if ok, err := kubernetes.IsAPIResourceInstalled(bootstrapClient, 
batchv1.SchemeGroupVersion.String(), reflect.TypeOf(batchv1.CronJob{}).Name()); 
ok && err == nil {
-               selectors[&batchv1.CronJob{}] = cache.ByObject{
-                       Label: selector,
-               }
+               selectors[&batchv1.CronJob{}] = selector
        }
 
        options := cache.Options{
                ByObject: selectors,
        }
 
+       if !platform.IsCurrentOperatorGlobal() {
+               options.DefaultNamespaces = 
getNamespacesSelector(operatorNamespace, watchNamespace)
+       }
+
        mgr, err := manager.New(cfg, manager.Options{
-               Namespace:                     watchNamespace,
                EventBroadcaster:              broadcaster,
                LeaderElection:                leaderElection,
                LeaderElectionNamespace:       operatorNamespace,
@@ -214,7 +230,7 @@ func Run(healthPort, monitoringPort int32, leaderElection 
bool, leaderElectionID
                LeaderElectionResourceLock:    resourcelock.LeasesResourceLock,
                LeaderElectionReleaseOnCancel: true,
                HealthProbeBindAddress:        ":" + 
strconv.Itoa(int(healthPort)),
-               MetricsBindAddress:            ":" + 
strconv.Itoa(int(monitoringPort)),
+               Metrics:                       
metricsserver.Options{BindAddress: ":" + strconv.Itoa(int(monitoringPort))},
                Cache:                         options,
        })
        exitOnError(err, "")
@@ -243,6 +259,16 @@ func Run(healthPort, monitoringPort int32, leaderElection 
bool, leaderElectionID
        exitOnError(mgr.Start(ctx), "manager exited non-zero")
 }
 
+func getNamespacesSelector(operatorNamespace string, watchNamespace string) 
map[string]cache.Config {
+       namespacesSelector := map[string]cache.Config{
+               operatorNamespace: {},
+       }
+       if operatorNamespace != watchNamespace {
+               namespacesSelector[watchNamespace] = cache.Config{}
+       }
+       return namespacesSelector
+}
+
 // findOrCreateIntegrationPlatform create default integration platform in 
operator namespace if not already exists.
 func findOrCreateIntegrationPlatform(ctx context.Context, c client.Client, 
operatorNamespace string) error {
        operatorID := defaults.OperatorID()

Reply via email to