@@ -217,6 +217,89 @@ prometheus_cr:
217
217
assert .Equal (t , expectedLabels , actual .Labels )
218
218
assert .Equal (t , expectedData , actual .Data )
219
219
220
+ })
221
+ t .Run ("should return expected target allocator config map with namespace label selectors" , func (t * testing.T ) {
222
+ expectedData := map [string ]string {
223
+ targetAllocatorFilename : `allocation_strategy: consistent-hashing
224
+ collector_selector:
225
+ matchlabels:
226
+ app.kubernetes.io/component: opentelemetry-collector
227
+ app.kubernetes.io/instance: default.my-instance
228
+ app.kubernetes.io/managed-by: opentelemetry-operator
229
+ app.kubernetes.io/part-of: opentelemetry
230
+ matchexpressions: []
231
+ config:
232
+ global:
233
+ scrape_interval: 30s
234
+ scrape_protocols:
235
+ - PrometheusProto
236
+ - OpenMetricsText1.0.0
237
+ - OpenMetricsText0.0.1
238
+ - PrometheusText0.0.4
239
+ scrape_configs:
240
+ - job_name: otel-collector
241
+ scrape_interval: 10s
242
+ static_configs:
243
+ - targets:
244
+ - 0.0.0.0:8888
245
+ - 0.0.0.0:9999
246
+ filter_strategy: relabel-config
247
+ prometheus_cr:
248
+ enabled: true
249
+ pod_monitor_namespace_selector:
250
+ matchlabels:
251
+ release: my-instance
252
+ matchexpressions: []
253
+ pod_monitor_selector: null
254
+ probe_namespace_selector:
255
+ matchlabels:
256
+ release: my-instance
257
+ matchexpressions: []
258
+ probe_selector: null
259
+ scrape_config_namespace_selector:
260
+ matchlabels:
261
+ release: my-instance
262
+ matchexpressions: []
263
+ scrape_config_selector: null
264
+ service_monitor_namespace_selector:
265
+ matchlabels:
266
+ release: my-instance
267
+ matchexpressions: []
268
+ service_monitor_selector: null
269
+ ` ,
270
+ }
271
+ targetAllocator = targetAllocatorInstance ()
272
+ targetAllocator .Spec .PrometheusCR .Enabled = true
273
+ targetAllocator .Spec .PrometheusCR .PodMonitorNamespaceSelector = & metav1.LabelSelector {
274
+ MatchLabels : map [string ]string {
275
+ "release" : "my-instance" ,
276
+ },
277
+ }
278
+ targetAllocator .Spec .PrometheusCR .ServiceMonitorNamespaceSelector = & metav1.LabelSelector {
279
+ MatchLabels : map [string ]string {
280
+ "release" : "my-instance" ,
281
+ }}
282
+ targetAllocator .Spec .PrometheusCR .ScrapeConfigNamespaceSelector = & metav1.LabelSelector {
283
+ MatchLabels : map [string ]string {
284
+ "release" : "my-instance" ,
285
+ }}
286
+ targetAllocator .Spec .PrometheusCR .ProbeNamespaceSelector = & metav1.LabelSelector {
287
+ MatchLabels : map [string ]string {
288
+ "release" : "my-instance" ,
289
+ }}
290
+ targetAllocator .Spec .GlobalConfig = v1beta1.AnyConfig {
291
+ Object : map [string ]interface {}{
292
+ "scrape_interval" : "30s" ,
293
+ "scrape_protocols" : []string {"PrometheusProto" , "OpenMetricsText1.0.0" , "OpenMetricsText0.0.1" , "PrometheusText0.0.4" },
294
+ },
295
+ }
296
+ params .TargetAllocator = targetAllocator
297
+ actual , err := ConfigMap (params )
298
+ assert .NoError (t , err )
299
+ assert .Equal (t , "my-instance-targetallocator" , actual .Name )
300
+ assert .Equal (t , expectedLabels , actual .Labels )
301
+ assert .Equal (t , expectedData , actual .Data )
302
+
220
303
})
221
304
t .Run ("should return expected target allocator config map with scrape interval set" , func (t * testing.T ) {
222
305
expectedData := map [string ]string {
0 commit comments