You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by as...@apache.org on 2021/10/01 12:15:02 UTC
[camel-k] 03/06: chore: Limit Pods caching by Integration label
selector
This is an automated email from the ASF dual-hosted git repository.
astefanutti pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel-k.git
commit 1c9e062bd4cbcc02309f9350fee63c5409d0a3e1
Author: Antonin Stefanutti <an...@stefanutti.fr>
AuthorDate: Thu Sep 30 16:43:44 2021 +0200
chore: Limit Pods caching by Integration label selector
---
pkg/cmd/operator/operator.go | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
diff --git a/pkg/cmd/operator/operator.go b/pkg/cmd/operator/operator.go
index 3d046ac..393c3d7 100644
--- a/pkg/cmd/operator/operator.go
+++ b/pkg/cmd/operator/operator.go
@@ -29,10 +29,13 @@ import (
coordination "k8s.io/api/coordination/v1"
corev1 "k8s.io/api/core/v1"
+ "k8s.io/apimachinery/pkg/labels"
+ "k8s.io/apimachinery/pkg/selection"
"k8s.io/client-go/tools/leaderelection/resourcelock"
"k8s.io/client-go/tools/record"
"k8s.io/klog/v2"
+ "sigs.k8s.io/controller-runtime/pkg/cache"
ctrl "sigs.k8s.io/controller-runtime/pkg/client"
"sigs.k8s.io/controller-runtime/pkg/healthz"
logf "sigs.k8s.io/controller-runtime/pkg/log"
@@ -41,6 +44,7 @@ import (
"sigs.k8s.io/controller-runtime/pkg/manager/signals"
"github.com/apache/camel-k/pkg/apis"
+ v1 "github.com/apache/camel-k/pkg/apis/camel/v1"
"github.com/apache/camel-k/pkg/client"
"github.com/apache/camel-k/pkg/controller"
"github.com/apache/camel-k/pkg/event"
@@ -124,6 +128,9 @@ func Run(healthPort, monitoringPort int32, leaderElection bool) {
log.Info("Leader election is disabled!")
}
+ podLabelSelector, err := labels.NewRequirement(v1.IntegrationLabel, selection.Exists, []string{})
+ exitOnError(err, "cannot create Pod labels selector")
+
mgr, err := manager.New(c.GetConfig(), manager.Options{
Namespace: watchNamespace,
EventBroadcaster: broadcaster,
@@ -134,6 +141,15 @@ func Run(healthPort, monitoringPort int32, leaderElection bool) {
LeaderElectionReleaseOnCancel: true,
HealthProbeBindAddress: ":" + strconv.Itoa(int(healthPort)),
MetricsBindAddress: ":" + strconv.Itoa(int(monitoringPort)),
+ NewCache: cache.BuilderWithOptions(
+ cache.Options{
+ SelectorsByObject: cache.SelectorsByObject{
+ &corev1.Pod{}: {
+ Label: labels.NewSelector().Add(*podLabelSelector),
+ },
+ },
+ },
+ ),
})
exitOnError(err, "")