@@ -28,6 +28,8 @@ import (
28
28
monitoringv1 "github.com/prometheus-operator/prometheus-operator/pkg/apis/monitoring/v1"
29
29
"github.com/spf13/pflag"
30
30
colfeaturegate "go.opentelemetry.io/collector/featuregate"
31
+ appsv1 "k8s.io/api/apps/v1"
32
+ v1 "k8s.io/api/batch/v1"
31
33
networkingv1 "k8s.io/api/networking/v1"
32
34
"k8s.io/apimachinery/pkg/labels"
33
35
k8sruntime "k8s.io/apimachinery/pkg/runtime"
@@ -39,6 +41,7 @@ import (
39
41
k8sapiflag "k8s.io/component-base/cli/flag"
40
42
ctrl "sigs.k8s.io/controller-runtime"
41
43
"sigs.k8s.io/controller-runtime/pkg/cache"
44
+ "sigs.k8s.io/controller-runtime/pkg/client"
42
45
"sigs.k8s.io/controller-runtime/pkg/healthz"
43
46
"sigs.k8s.io/controller-runtime/pkg/log/zap"
44
47
"sigs.k8s.io/controller-runtime/pkg/manager"
@@ -274,12 +277,24 @@ func main() {
274
277
Port : webhookPort ,
275
278
TLSOpts : optionsTlSOptsFuncs ,
276
279
}),
277
- Cache : cache.Options {
280
+ }
281
+
282
+ if featuregate .EnableCacheOptions .IsEnabled () {
283
+ mgrOptions .Cache = cache.Options {
278
284
DefaultNamespaces : namespaces ,
279
285
DefaultLabelSelector : labels .SelectorFromSet (map [string ]string {
280
286
"app.kubernetes.io/managed-by" : "opentelemetry-operator" ,
281
287
}),
282
- },
288
+ ByObject : map [client.Object ]cache.ByObject {
289
+ & otelv1alpha1.OpenTelemetryCollector {}: {},
290
+ & otelv1alpha1.OpAMPBridge {}: {},
291
+ & otelv1alpha1.Instrumentation {}: {},
292
+ & v1.Job {}: {},
293
+ & appsv1.Deployment {}: {},
294
+ & appsv1.DaemonSet {}: {},
295
+ & appsv1.StatefulSet {}: {},
296
+ },
297
+ }
283
298
}
284
299
285
300
mgr , err := ctrl .NewManager (restConfig , mgrOptions )
0 commit comments