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()