@bluedynamics/cdk8s-plone 0.1.6 → 0.1.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,2029 @@
1
+ import { ApiObject, ApiObjectMetadata, GroupVersionKind } from 'cdk8s';
2
+ import { Construct } from 'constructs';
3
+ /**
4
+ * The `ServiceMonitor` custom resource definition (CRD) defines how `Prometheus` and `PrometheusAgent` can scrape metrics from a group of services.
5
+ Among other things, it allows to specify:
6
+ * The services to scrape via label selectors.
7
+ * The container ports to scrape.
8
+ * Authentication credentials to use.
9
+ * Target and metric relabeling.
10
+
11
+ `Prometheus` and `PrometheusAgent` objects select `ServiceMonitor` objects using label and namespace selectors.
12
+ *
13
+ * @schema ServiceMonitor
14
+ */
15
+ export declare class ServiceMonitor extends ApiObject {
16
+ /**
17
+ * Returns the apiVersion and kind for "ServiceMonitor"
18
+ */
19
+ static readonly GVK: GroupVersionKind;
20
+ /**
21
+ * Renders a Kubernetes manifest for "ServiceMonitor".
22
+ *
23
+ * This can be used to inline resource manifests inside other objects (e.g. as templates).
24
+ *
25
+ * @param props initialization props
26
+ */
27
+ static manifest(props: ServiceMonitorProps): any;
28
+ /**
29
+ * Defines a "ServiceMonitor" API object
30
+ * @param scope the scope in which to define this object
31
+ * @param id a scope-local name for the object
32
+ * @param props initialization props
33
+ */
34
+ constructor(scope: Construct, id: string, props: ServiceMonitorProps);
35
+ /**
36
+ * Renders the object to Kubernetes JSON.
37
+ */
38
+ toJson(): any;
39
+ }
40
+ /**
41
+ * The `ServiceMonitor` custom resource definition (CRD) defines how `Prometheus` and `PrometheusAgent` can scrape metrics from a group of services.
42
+ * Among other things, it allows to specify:
43
+ * * The services to scrape via label selectors.
44
+ * * The container ports to scrape.
45
+ * * Authentication credentials to use.
46
+ * * Target and metric relabeling.
47
+ *
48
+ * `Prometheus` and `PrometheusAgent` objects select `ServiceMonitor` objects using label and namespace selectors.
49
+ *
50
+ * @schema ServiceMonitor
51
+ */
52
+ export interface ServiceMonitorProps {
53
+ /**
54
+ * @schema ServiceMonitor#metadata
55
+ */
56
+ readonly metadata?: ApiObjectMetadata;
57
+ /**
58
+ * spec defines the specification of desired Service selection for target discovery by
59
+ * Prometheus.
60
+ *
61
+ * @schema ServiceMonitor#spec
62
+ */
63
+ readonly spec: ServiceMonitorSpec;
64
+ }
65
+ /**
66
+ * Converts an object of type 'ServiceMonitorProps' to JSON representation.
67
+ */
68
+ export declare function toJson_ServiceMonitorProps(obj: ServiceMonitorProps | undefined): Record<string, any> | undefined;
69
+ /**
70
+ * spec defines the specification of desired Service selection for target discovery by
71
+ * Prometheus.
72
+ *
73
+ * @schema ServiceMonitorSpec
74
+ */
75
+ export interface ServiceMonitorSpec {
76
+ /**
77
+ * attachMetadata defines additional metadata which is added to the
78
+ * discovered targets.
79
+ *
80
+ * It requires Prometheus >= v2.37.0.
81
+ *
82
+ * @schema ServiceMonitorSpec#attachMetadata
83
+ */
84
+ readonly attachMetadata?: ServiceMonitorSpecAttachMetadata;
85
+ /**
86
+ * bodySizeLimit when defined, bodySizeLimit specifies a job level limit on the size
87
+ * of uncompressed response body that will be accepted by Prometheus.
88
+ *
89
+ * It requires Prometheus >= v2.28.0.
90
+ *
91
+ * @schema ServiceMonitorSpec#bodySizeLimit
92
+ */
93
+ readonly bodySizeLimit?: string;
94
+ /**
95
+ * convertClassicHistogramsToNHCB defines whether to convert all scraped classic histograms into a native histogram with custom buckets.
96
+ * It requires Prometheus >= v3.0.0.
97
+ *
98
+ * @schema ServiceMonitorSpec#convertClassicHistogramsToNHCB
99
+ */
100
+ readonly convertClassicHistogramsToNhcb?: boolean;
101
+ /**
102
+ * endpoints defines the list of endpoints part of this ServiceMonitor.
103
+ * Defines how to scrape metrics from Kubernetes [Endpoints](https://kubernetes.io/docs/concepts/services-networking/service/#endpoints) objects.
104
+ * In most cases, an Endpoints object is backed by a Kubernetes [Service](https://kubernetes.io/docs/concepts/services-networking/service/) object with the same name and labels.
105
+ *
106
+ * @schema ServiceMonitorSpec#endpoints
107
+ */
108
+ readonly endpoints: ServiceMonitorSpecEndpoints[];
109
+ /**
110
+ * fallbackScrapeProtocol defines the protocol to use if a scrape returns blank, unparseable, or otherwise invalid Content-Type.
111
+ *
112
+ * It requires Prometheus >= v3.0.0.
113
+ *
114
+ * @schema ServiceMonitorSpec#fallbackScrapeProtocol
115
+ */
116
+ readonly fallbackScrapeProtocol?: ServiceMonitorSpecFallbackScrapeProtocol;
117
+ /**
118
+ * jobLabel selects the label from the associated Kubernetes `Service`
119
+ * object which will be used as the `job` label for all metrics.
120
+ *
121
+ * For example if `jobLabel` is set to `foo` and the Kubernetes `Service`
122
+ * object is labeled with `foo: bar`, then Prometheus adds the `job="bar"`
123
+ * label to all ingested metrics.
124
+ *
125
+ * If the value of this field is empty or if the label doesn't exist for
126
+ * the given Service, the `job` label of the metrics defaults to the name
127
+ * of the associated Kubernetes `Service`.
128
+ *
129
+ * @schema ServiceMonitorSpec#jobLabel
130
+ */
131
+ readonly jobLabel?: string;
132
+ /**
133
+ * keepDroppedTargets defines the per-scrape limit on the number of targets dropped by relabeling
134
+ * that will be kept in memory. 0 means no limit.
135
+ *
136
+ * It requires Prometheus >= v2.47.0.
137
+ *
138
+ * @schema ServiceMonitorSpec#keepDroppedTargets
139
+ */
140
+ readonly keepDroppedTargets?: number;
141
+ /**
142
+ * labelLimit defines the per-scrape limit on number of labels that will be accepted for a sample.
143
+ *
144
+ * It requires Prometheus >= v2.27.0.
145
+ *
146
+ * @schema ServiceMonitorSpec#labelLimit
147
+ */
148
+ readonly labelLimit?: number;
149
+ /**
150
+ * labelNameLengthLimit defines the per-scrape limit on length of labels name that will be accepted for a sample.
151
+ *
152
+ * It requires Prometheus >= v2.27.0.
153
+ *
154
+ * @schema ServiceMonitorSpec#labelNameLengthLimit
155
+ */
156
+ readonly labelNameLengthLimit?: number;
157
+ /**
158
+ * labelValueLengthLimit defines the per-scrape limit on length of labels value that will be accepted for a sample.
159
+ *
160
+ * It requires Prometheus >= v2.27.0.
161
+ *
162
+ * @schema ServiceMonitorSpec#labelValueLengthLimit
163
+ */
164
+ readonly labelValueLengthLimit?: number;
165
+ /**
166
+ * namespaceSelector defines in which namespace(s) Prometheus should discover the services.
167
+ * By default, the services are discovered in the same namespace as the `ServiceMonitor` object but it is possible to select pods across different/all namespaces.
168
+ *
169
+ * @schema ServiceMonitorSpec#namespaceSelector
170
+ */
171
+ readonly namespaceSelector?: ServiceMonitorSpecNamespaceSelector;
172
+ /**
173
+ * nativeHistogramBucketLimit defines ff there are more than this many buckets in a native histogram,
174
+ * buckets will be merged to stay within the limit.
175
+ * It requires Prometheus >= v2.45.0.
176
+ *
177
+ * @schema ServiceMonitorSpec#nativeHistogramBucketLimit
178
+ */
179
+ readonly nativeHistogramBucketLimit?: number;
180
+ /**
181
+ * nativeHistogramMinBucketFactor defines if the growth factor of one bucket to the next is smaller than this,
182
+ * buckets will be merged to increase the factor sufficiently.
183
+ * It requires Prometheus >= v2.50.0.
184
+ *
185
+ * @schema ServiceMonitorSpec#nativeHistogramMinBucketFactor
186
+ */
187
+ readonly nativeHistogramMinBucketFactor?: ServiceMonitorSpecNativeHistogramMinBucketFactor;
188
+ /**
189
+ * podTargetLabels defines the labels which are transferred from the
190
+ * associated Kubernetes `Pod` object onto the ingested metrics.
191
+ *
192
+ * @schema ServiceMonitorSpec#podTargetLabels
193
+ */
194
+ readonly podTargetLabels?: string[];
195
+ /**
196
+ * sampleLimit defines a per-scrape limit on the number of scraped samples
197
+ * that will be accepted.
198
+ *
199
+ * @schema ServiceMonitorSpec#sampleLimit
200
+ */
201
+ readonly sampleLimit?: number;
202
+ /**
203
+ * scrapeClass defines the scrape class to apply.
204
+ *
205
+ * @schema ServiceMonitorSpec#scrapeClass
206
+ */
207
+ readonly scrapeClass?: string;
208
+ /**
209
+ * scrapeClassicHistograms defines whether to scrape a classic histogram that is also exposed as a native histogram.
210
+ * It requires Prometheus >= v2.45.0.
211
+ *
212
+ * Notice: `scrapeClassicHistograms` corresponds to the `always_scrape_classic_histograms` field in the Prometheus configuration.
213
+ *
214
+ * @schema ServiceMonitorSpec#scrapeClassicHistograms
215
+ */
216
+ readonly scrapeClassicHistograms?: boolean;
217
+ /**
218
+ * scrapeProtocols defines the protocols to negotiate during a scrape. It tells clients the
219
+ * protocols supported by Prometheus in order of preference (from most to least preferred).
220
+ *
221
+ * If unset, Prometheus uses its default value.
222
+ *
223
+ * It requires Prometheus >= v2.49.0.
224
+ *
225
+ * @schema ServiceMonitorSpec#scrapeProtocols
226
+ */
227
+ readonly scrapeProtocols?: ServiceMonitorSpecScrapeProtocols[];
228
+ /**
229
+ * selector defines the label selector to select the Kubernetes `Endpoints` objects to scrape metrics from.
230
+ *
231
+ * @schema ServiceMonitorSpec#selector
232
+ */
233
+ readonly selector: ServiceMonitorSpecSelector;
234
+ /**
235
+ * selectorMechanism defines the mechanism used to select the endpoints to scrape.
236
+ * By default, the selection process relies on relabel configurations to filter the discovered targets.
237
+ * Alternatively, you can opt in for role selectors, which may offer better efficiency in large clusters.
238
+ * Which strategy is best for your use case needs to be carefully evaluated.
239
+ *
240
+ * It requires Prometheus >= v2.17.0.
241
+ *
242
+ * @schema ServiceMonitorSpec#selectorMechanism
243
+ */
244
+ readonly selectorMechanism?: ServiceMonitorSpecSelectorMechanism;
245
+ /**
246
+ * serviceDiscoveryRole defines the service discovery role used to discover targets.
247
+ *
248
+ * If set, the value should be either "Endpoints" or "EndpointSlice".
249
+ * Otherwise it defaults to the value defined in the
250
+ * Prometheus/PrometheusAgent resource.
251
+ *
252
+ * @schema ServiceMonitorSpec#serviceDiscoveryRole
253
+ */
254
+ readonly serviceDiscoveryRole?: ServiceMonitorSpecServiceDiscoveryRole;
255
+ /**
256
+ * targetLabels defines the labels which are transferred from the
257
+ * associated Kubernetes `Service` object onto the ingested metrics.
258
+ *
259
+ * @schema ServiceMonitorSpec#targetLabels
260
+ */
261
+ readonly targetLabels?: string[];
262
+ /**
263
+ * targetLimit defines a limit on the number of scraped targets that will
264
+ * be accepted.
265
+ *
266
+ * @schema ServiceMonitorSpec#targetLimit
267
+ */
268
+ readonly targetLimit?: number;
269
+ }
270
+ /**
271
+ * Converts an object of type 'ServiceMonitorSpec' to JSON representation.
272
+ */
273
+ export declare function toJson_ServiceMonitorSpec(obj: ServiceMonitorSpec | undefined): Record<string, any> | undefined;
274
+ /**
275
+ * attachMetadata defines additional metadata which is added to the
276
+ * discovered targets.
277
+ *
278
+ * It requires Prometheus >= v2.37.0.
279
+ *
280
+ * @schema ServiceMonitorSpecAttachMetadata
281
+ */
282
+ export interface ServiceMonitorSpecAttachMetadata {
283
+ /**
284
+ * node when set to true, Prometheus attaches node metadata to the discovered
285
+ * targets.
286
+ *
287
+ * The Prometheus service account must have the `list` and `watch`
288
+ * permissions on the `Nodes` objects.
289
+ *
290
+ * @schema ServiceMonitorSpecAttachMetadata#node
291
+ */
292
+ readonly node?: boolean;
293
+ }
294
+ /**
295
+ * Converts an object of type 'ServiceMonitorSpecAttachMetadata' to JSON representation.
296
+ */
297
+ export declare function toJson_ServiceMonitorSpecAttachMetadata(obj: ServiceMonitorSpecAttachMetadata | undefined): Record<string, any> | undefined;
298
+ /**
299
+ * Endpoint defines an endpoint serving Prometheus metrics to be scraped by
300
+ * Prometheus.
301
+ *
302
+ * @schema ServiceMonitorSpecEndpoints
303
+ */
304
+ export interface ServiceMonitorSpecEndpoints {
305
+ /**
306
+ * authorization configures the Authorization header credentials to use when
307
+ * scraping the target.
308
+ *
309
+ * Cannot be set at the same time as `basicAuth`, or `oauth2`.
310
+ *
311
+ * @schema ServiceMonitorSpecEndpoints#authorization
312
+ */
313
+ readonly authorization?: ServiceMonitorSpecEndpointsAuthorization;
314
+ /**
315
+ * basicAuth defines the Basic Authentication credentials to use when
316
+ * scraping the target.
317
+ *
318
+ * Cannot be set at the same time as `authorization`, or `oauth2`.
319
+ *
320
+ * @schema ServiceMonitorSpecEndpoints#basicAuth
321
+ */
322
+ readonly basicAuth?: ServiceMonitorSpecEndpointsBasicAuth;
323
+ /**
324
+ * bearerTokenFile defines the file to read bearer token for scraping the target.
325
+ *
326
+ * Deprecated: use `authorization` instead.
327
+ *
328
+ * @schema ServiceMonitorSpecEndpoints#bearerTokenFile
329
+ */
330
+ readonly bearerTokenFile?: string;
331
+ /**
332
+ * bearerTokenSecret defines a key of a Secret containing the bearer
333
+ * token for scraping targets. The secret needs to be in the same namespace
334
+ * as the ServiceMonitor object and readable by the Prometheus Operator.
335
+ *
336
+ * Deprecated: use `authorization` instead.
337
+ *
338
+ * @schema ServiceMonitorSpecEndpoints#bearerTokenSecret
339
+ */
340
+ readonly bearerTokenSecret?: ServiceMonitorSpecEndpointsBearerTokenSecret;
341
+ /**
342
+ * enableHttp2 can be used to disable HTTP2 when scraping the target.
343
+ *
344
+ * @schema ServiceMonitorSpecEndpoints#enableHttp2
345
+ */
346
+ readonly enableHttp2?: boolean;
347
+ /**
348
+ * filterRunning when true, the pods which are not running (e.g. either in Failed or
349
+ * Succeeded state) are dropped during the target discovery.
350
+ *
351
+ * If unset, the filtering is enabled.
352
+ *
353
+ * More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#pod-phase
354
+ *
355
+ * @schema ServiceMonitorSpecEndpoints#filterRunning
356
+ */
357
+ readonly filterRunning?: boolean;
358
+ /**
359
+ * followRedirects defines whether the scrape requests should follow HTTP
360
+ * 3xx redirects.
361
+ *
362
+ * @schema ServiceMonitorSpecEndpoints#followRedirects
363
+ */
364
+ readonly followRedirects?: boolean;
365
+ /**
366
+ * honorLabels defines when true the metric's labels when they collide
367
+ * with the target's labels.
368
+ *
369
+ * @schema ServiceMonitorSpecEndpoints#honorLabels
370
+ */
371
+ readonly honorLabels?: boolean;
372
+ /**
373
+ * honorTimestamps defines whether Prometheus preserves the timestamps
374
+ * when exposed by the target.
375
+ *
376
+ * @schema ServiceMonitorSpecEndpoints#honorTimestamps
377
+ */
378
+ readonly honorTimestamps?: boolean;
379
+ /**
380
+ * interval at which Prometheus scrapes the metrics from the target.
381
+ *
382
+ * If empty, Prometheus uses the global scrape interval.
383
+ *
384
+ * @schema ServiceMonitorSpecEndpoints#interval
385
+ */
386
+ readonly interval?: string;
387
+ /**
388
+ * metricRelabelings defines the relabeling rules to apply to the
389
+ * samples before ingestion.
390
+ *
391
+ * @schema ServiceMonitorSpecEndpoints#metricRelabelings
392
+ */
393
+ readonly metricRelabelings?: ServiceMonitorSpecEndpointsMetricRelabelings[];
394
+ /**
395
+ * noProxy defines a comma-separated string that can contain IPs, CIDR notation, domain names
396
+ * that should be excluded from proxying. IP and domain names can
397
+ * contain port numbers.
398
+ *
399
+ * It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0.
400
+ *
401
+ * @schema ServiceMonitorSpecEndpoints#noProxy
402
+ */
403
+ readonly noProxy?: string;
404
+ /**
405
+ * oauth2 defines the OAuth2 settings to use when scraping the target.
406
+ *
407
+ * It requires Prometheus >= 2.27.0.
408
+ *
409
+ * Cannot be set at the same time as `authorization`, or `basicAuth`.
410
+ *
411
+ * @schema ServiceMonitorSpecEndpoints#oauth2
412
+ */
413
+ readonly oauth2?: ServiceMonitorSpecEndpointsOauth2;
414
+ /**
415
+ * params define optional HTTP URL parameters.
416
+ *
417
+ * @schema ServiceMonitorSpecEndpoints#params
418
+ */
419
+ readonly params?: {
420
+ [key: string]: string[];
421
+ };
422
+ /**
423
+ * path defines the HTTP path from which to scrape for metrics.
424
+ *
425
+ * If empty, Prometheus uses the default value (e.g. `/metrics`).
426
+ *
427
+ * @schema ServiceMonitorSpecEndpoints#path
428
+ */
429
+ readonly path?: string;
430
+ /**
431
+ * port defines the name of the Service port which this endpoint refers to.
432
+ *
433
+ * It takes precedence over `targetPort`.
434
+ *
435
+ * @schema ServiceMonitorSpecEndpoints#port
436
+ */
437
+ readonly port?: string;
438
+ /**
439
+ * proxyConnectHeader optionally specifies headers to send to
440
+ * proxies during CONNECT requests.
441
+ *
442
+ * It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0.
443
+ *
444
+ * @schema ServiceMonitorSpecEndpoints#proxyConnectHeader
445
+ */
446
+ readonly proxyConnectHeader?: {
447
+ [key: string]: ServiceMonitorSpecEndpointsProxyConnectHeader[];
448
+ };
449
+ /**
450
+ * proxyFromEnvironment defines whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).
451
+ *
452
+ * It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0.
453
+ *
454
+ * @schema ServiceMonitorSpecEndpoints#proxyFromEnvironment
455
+ */
456
+ readonly proxyFromEnvironment?: boolean;
457
+ /**
458
+ * proxyUrl defines the HTTP proxy server to use.
459
+ *
460
+ * @schema ServiceMonitorSpecEndpoints#proxyUrl
461
+ */
462
+ readonly proxyUrl?: string;
463
+ /**
464
+ * relabelings defines the relabeling rules to apply the target's
465
+ * metadata labels.
466
+ *
467
+ * The Operator automatically adds relabelings for a few standard Kubernetes fields.
468
+ *
469
+ * The original scrape job's name is available via the `__tmp_prometheus_job_name` label.
470
+ *
471
+ * More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config
472
+ *
473
+ * @schema ServiceMonitorSpecEndpoints#relabelings
474
+ */
475
+ readonly relabelings?: ServiceMonitorSpecEndpointsRelabelings[];
476
+ /**
477
+ * scheme defines the HTTP scheme to use when scraping the metrics.
478
+ *
479
+ * @schema ServiceMonitorSpecEndpoints#scheme
480
+ */
481
+ readonly scheme?: ServiceMonitorSpecEndpointsScheme;
482
+ /**
483
+ * scrapeTimeout defines the timeout after which Prometheus considers the scrape to be failed.
484
+ *
485
+ * If empty, Prometheus uses the global scrape timeout unless it is less
486
+ * than the target's scrape interval value in which the latter is used.
487
+ * The value cannot be greater than the scrape interval otherwise the operator will reject the resource.
488
+ *
489
+ * @schema ServiceMonitorSpecEndpoints#scrapeTimeout
490
+ */
491
+ readonly scrapeTimeout?: string;
492
+ /**
493
+ * targetPort defines the name or number of the target port of the `Pod` object behind the
494
+ * Service. The port must be specified with the container's port property.
495
+ *
496
+ * @schema ServiceMonitorSpecEndpoints#targetPort
497
+ */
498
+ readonly targetPort?: ServiceMonitorSpecEndpointsTargetPort;
499
+ /**
500
+ * tlsConfig defines the TLS configuration to use when scraping the target.
501
+ *
502
+ * @schema ServiceMonitorSpecEndpoints#tlsConfig
503
+ */
504
+ readonly tlsConfig?: ServiceMonitorSpecEndpointsTlsConfig;
505
+ /**
506
+ * trackTimestampsStaleness defines whether Prometheus tracks staleness of
507
+ * the metrics that have an explicit timestamp present in scraped data.
508
+ * Has no effect if `honorTimestamps` is false.
509
+ *
510
+ * It requires Prometheus >= v2.48.0.
511
+ *
512
+ * @schema ServiceMonitorSpecEndpoints#trackTimestampsStaleness
513
+ */
514
+ readonly trackTimestampsStaleness?: boolean;
515
+ }
516
+ /**
517
+ * Converts an object of type 'ServiceMonitorSpecEndpoints' to JSON representation.
518
+ */
519
+ export declare function toJson_ServiceMonitorSpecEndpoints(obj: ServiceMonitorSpecEndpoints | undefined): Record<string, any> | undefined;
520
+ /**
521
+ * fallbackScrapeProtocol defines the protocol to use if a scrape returns blank, unparseable, or otherwise invalid Content-Type.
522
+ *
523
+ * It requires Prometheus >= v3.0.0.
524
+ *
525
+ * @schema ServiceMonitorSpecFallbackScrapeProtocol
526
+ */
527
+ export declare enum ServiceMonitorSpecFallbackScrapeProtocol {
528
+ /** PrometheusProto */
529
+ PROMETHEUS_PROTO = "PrometheusProto",
530
+ /** OpenMetricsText0.0.1 */
531
+ OPEN_METRICS_TEXT0_0_1 = "OpenMetricsText0.0.1",
532
+ /** OpenMetricsText1.0.0 */
533
+ OPEN_METRICS_TEXT1_0_0 = "OpenMetricsText1.0.0",
534
+ /** PrometheusText0.0.4 */
535
+ PROMETHEUS_TEXT0_0_4 = "PrometheusText0.0.4",
536
+ /** PrometheusText1.0.0 */
537
+ PROMETHEUS_TEXT1_0_0 = "PrometheusText1.0.0"
538
+ }
539
+ /**
540
+ * namespaceSelector defines in which namespace(s) Prometheus should discover the services.
541
+ * By default, the services are discovered in the same namespace as the `ServiceMonitor` object but it is possible to select pods across different/all namespaces.
542
+ *
543
+ * @schema ServiceMonitorSpecNamespaceSelector
544
+ */
545
+ export interface ServiceMonitorSpecNamespaceSelector {
546
+ /**
547
+ * any defines the boolean describing whether all namespaces are selected in contrast to a
548
+ * list restricting them.
549
+ *
550
+ * @schema ServiceMonitorSpecNamespaceSelector#any
551
+ */
552
+ readonly any?: boolean;
553
+ /**
554
+ * matchNames defines the list of namespace names to select from.
555
+ *
556
+ * @schema ServiceMonitorSpecNamespaceSelector#matchNames
557
+ */
558
+ readonly matchNames?: string[];
559
+ }
560
+ /**
561
+ * Converts an object of type 'ServiceMonitorSpecNamespaceSelector' to JSON representation.
562
+ */
563
+ export declare function toJson_ServiceMonitorSpecNamespaceSelector(obj: ServiceMonitorSpecNamespaceSelector | undefined): Record<string, any> | undefined;
564
+ /**
565
+ * nativeHistogramMinBucketFactor defines if the growth factor of one bucket to the next is smaller than this,
566
+ * buckets will be merged to increase the factor sufficiently.
567
+ * It requires Prometheus >= v2.50.0.
568
+ *
569
+ * @schema ServiceMonitorSpecNativeHistogramMinBucketFactor
570
+ */
571
+ export declare class ServiceMonitorSpecNativeHistogramMinBucketFactor {
572
+ readonly value: number | string;
573
+ static fromNumber(value: number): ServiceMonitorSpecNativeHistogramMinBucketFactor;
574
+ static fromString(value: string): ServiceMonitorSpecNativeHistogramMinBucketFactor;
575
+ private constructor();
576
+ }
577
+ /**
578
+ * ScrapeProtocol represents a protocol used by Prometheus for scraping metrics.
579
+ * Supported values are:
580
+ * * `OpenMetricsText0.0.1`
581
+ * * `OpenMetricsText1.0.0`
582
+ * * `PrometheusProto`
583
+ * * `PrometheusText0.0.4`
584
+ * * `PrometheusText1.0.0`
585
+ *
586
+ * @schema ServiceMonitorSpecScrapeProtocols
587
+ */
588
+ export declare enum ServiceMonitorSpecScrapeProtocols {
589
+ /** PrometheusProto */
590
+ PROMETHEUS_PROTO = "PrometheusProto",
591
+ /** OpenMetricsText0.0.1 */
592
+ OPEN_METRICS_TEXT0_0_1 = "OpenMetricsText0.0.1",
593
+ /** OpenMetricsText1.0.0 */
594
+ OPEN_METRICS_TEXT1_0_0 = "OpenMetricsText1.0.0",
595
+ /** PrometheusText0.0.4 */
596
+ PROMETHEUS_TEXT0_0_4 = "PrometheusText0.0.4",
597
+ /** PrometheusText1.0.0 */
598
+ PROMETHEUS_TEXT1_0_0 = "PrometheusText1.0.0"
599
+ }
600
+ /**
601
+ * selector defines the label selector to select the Kubernetes `Endpoints` objects to scrape metrics from.
602
+ *
603
+ * @schema ServiceMonitorSpecSelector
604
+ */
605
+ export interface ServiceMonitorSpecSelector {
606
+ /**
607
+ * matchExpressions is a list of label selector requirements. The requirements are ANDed.
608
+ *
609
+ * @schema ServiceMonitorSpecSelector#matchExpressions
610
+ */
611
+ readonly matchExpressions?: ServiceMonitorSpecSelectorMatchExpressions[];
612
+ /**
613
+ * matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
614
+ * map is equivalent to an element of matchExpressions, whose key field is "key", the
615
+ * operator is "In", and the values array contains only "value". The requirements are ANDed.
616
+ *
617
+ * @schema ServiceMonitorSpecSelector#matchLabels
618
+ */
619
+ readonly matchLabels?: {
620
+ [key: string]: string;
621
+ };
622
+ }
623
+ /**
624
+ * Converts an object of type 'ServiceMonitorSpecSelector' to JSON representation.
625
+ */
626
+ export declare function toJson_ServiceMonitorSpecSelector(obj: ServiceMonitorSpecSelector | undefined): Record<string, any> | undefined;
627
+ /**
628
+ * selectorMechanism defines the mechanism used to select the endpoints to scrape.
629
+ * By default, the selection process relies on relabel configurations to filter the discovered targets.
630
+ * Alternatively, you can opt in for role selectors, which may offer better efficiency in large clusters.
631
+ * Which strategy is best for your use case needs to be carefully evaluated.
632
+ *
633
+ * It requires Prometheus >= v2.17.0.
634
+ *
635
+ * @schema ServiceMonitorSpecSelectorMechanism
636
+ */
637
+ export declare enum ServiceMonitorSpecSelectorMechanism {
638
+ /** RelabelConfig */
639
+ RELABEL_CONFIG = "RelabelConfig",
640
+ /** RoleSelector */
641
+ ROLE_SELECTOR = "RoleSelector"
642
+ }
643
+ /**
644
+ * serviceDiscoveryRole defines the service discovery role used to discover targets.
645
+ *
646
+ * If set, the value should be either "Endpoints" or "EndpointSlice".
647
+ * Otherwise it defaults to the value defined in the
648
+ * Prometheus/PrometheusAgent resource.
649
+ *
650
+ * @schema ServiceMonitorSpecServiceDiscoveryRole
651
+ */
652
+ export declare enum ServiceMonitorSpecServiceDiscoveryRole {
653
+ /** Endpoints */
654
+ ENDPOINTS = "Endpoints",
655
+ /** EndpointSlice */
656
+ ENDPOINT_SLICE = "EndpointSlice"
657
+ }
658
+ /**
659
+ * authorization configures the Authorization header credentials to use when
660
+ * scraping the target.
661
+ *
662
+ * Cannot be set at the same time as `basicAuth`, or `oauth2`.
663
+ *
664
+ * @schema ServiceMonitorSpecEndpointsAuthorization
665
+ */
666
+ export interface ServiceMonitorSpecEndpointsAuthorization {
667
+ /**
668
+ * credentials defines a key of a Secret in the namespace that contains the credentials for authentication.
669
+ *
670
+ * @schema ServiceMonitorSpecEndpointsAuthorization#credentials
671
+ */
672
+ readonly credentials?: ServiceMonitorSpecEndpointsAuthorizationCredentials;
673
+ /**
674
+ * type defines the authentication type. The value is case-insensitive.
675
+ *
676
+ * "Basic" is not a supported value.
677
+ *
678
+ * Default: "Bearer"
679
+ *
680
+ * @schema ServiceMonitorSpecEndpointsAuthorization#type
681
+ */
682
+ readonly type?: string;
683
+ }
684
+ /**
685
+ * Converts an object of type 'ServiceMonitorSpecEndpointsAuthorization' to JSON representation.
686
+ */
687
+ export declare function toJson_ServiceMonitorSpecEndpointsAuthorization(obj: ServiceMonitorSpecEndpointsAuthorization | undefined): Record<string, any> | undefined;
688
+ /**
689
+ * basicAuth defines the Basic Authentication credentials to use when
690
+ * scraping the target.
691
+ *
692
+ * Cannot be set at the same time as `authorization`, or `oauth2`.
693
+ *
694
+ * @schema ServiceMonitorSpecEndpointsBasicAuth
695
+ */
696
+ export interface ServiceMonitorSpecEndpointsBasicAuth {
697
+ /**
698
+ * password defines a key of a Secret containing the password for
699
+ * authentication.
700
+ *
701
+ * @schema ServiceMonitorSpecEndpointsBasicAuth#password
702
+ */
703
+ readonly password?: ServiceMonitorSpecEndpointsBasicAuthPassword;
704
+ /**
705
+ * username defines a key of a Secret containing the username for
706
+ * authentication.
707
+ *
708
+ * @schema ServiceMonitorSpecEndpointsBasicAuth#username
709
+ */
710
+ readonly username?: ServiceMonitorSpecEndpointsBasicAuthUsername;
711
+ }
712
+ /**
713
+ * Converts an object of type 'ServiceMonitorSpecEndpointsBasicAuth' to JSON representation.
714
+ */
715
+ export declare function toJson_ServiceMonitorSpecEndpointsBasicAuth(obj: ServiceMonitorSpecEndpointsBasicAuth | undefined): Record<string, any> | undefined;
716
+ /**
717
+ * bearerTokenSecret defines a key of a Secret containing the bearer
718
+ * token for scraping targets. The secret needs to be in the same namespace
719
+ * as the ServiceMonitor object and readable by the Prometheus Operator.
720
+ *
721
+ * Deprecated: use `authorization` instead.
722
+ *
723
+ * @schema ServiceMonitorSpecEndpointsBearerTokenSecret
724
+ */
725
+ export interface ServiceMonitorSpecEndpointsBearerTokenSecret {
726
+ /**
727
+ * The key of the secret to select from. Must be a valid secret key.
728
+ *
729
+ * @schema ServiceMonitorSpecEndpointsBearerTokenSecret#key
730
+ */
731
+ readonly key: string;
732
+ /**
733
+ * Name of the referent.
734
+ * This field is effectively required, but due to backwards compatibility is
735
+ * allowed to be empty. Instances of this type with an empty value here are
736
+ * almost certainly wrong.
737
+ * More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
738
+ *
739
+ * @schema ServiceMonitorSpecEndpointsBearerTokenSecret#name
740
+ */
741
+ readonly name?: string;
742
+ /**
743
+ * Specify whether the Secret or its key must be defined
744
+ *
745
+ * @schema ServiceMonitorSpecEndpointsBearerTokenSecret#optional
746
+ */
747
+ readonly optional?: boolean;
748
+ }
749
+ /**
750
+ * Converts an object of type 'ServiceMonitorSpecEndpointsBearerTokenSecret' to JSON representation.
751
+ */
752
+ export declare function toJson_ServiceMonitorSpecEndpointsBearerTokenSecret(obj: ServiceMonitorSpecEndpointsBearerTokenSecret | undefined): Record<string, any> | undefined;
753
+ /**
754
+ * RelabelConfig allows dynamic rewriting of the label set for targets, alerts,
755
+ * scraped samples and remote write samples.
756
+ *
757
+ * More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config
758
+ *
759
+ * @schema ServiceMonitorSpecEndpointsMetricRelabelings
760
+ */
761
+ export interface ServiceMonitorSpecEndpointsMetricRelabelings {
762
+ /**
763
+ * action to perform based on the regex matching.
764
+ *
765
+ * `Uppercase` and `Lowercase` actions require Prometheus >= v2.36.0.
766
+ * `DropEqual` and `KeepEqual` actions require Prometheus >= v2.41.0.
767
+ *
768
+ * Default: "Replace"
769
+ *
770
+ * @schema ServiceMonitorSpecEndpointsMetricRelabelings#action
771
+ */
772
+ readonly action?: ServiceMonitorSpecEndpointsMetricRelabelingsAction;
773
+ /**
774
+ * modulus to take of the hash of the source label values.
775
+ *
776
+ * Only applicable when the action is `HashMod`.
777
+ *
778
+ * @schema ServiceMonitorSpecEndpointsMetricRelabelings#modulus
779
+ */
780
+ readonly modulus?: number;
781
+ /**
782
+ * regex defines the regular expression against which the extracted value is matched.
783
+ *
784
+ * @schema ServiceMonitorSpecEndpointsMetricRelabelings#regex
785
+ */
786
+ readonly regex?: string;
787
+ /**
788
+ * replacement value against which a Replace action is performed if the
789
+ * regular expression matches.
790
+ *
791
+ * Regex capture groups are available.
792
+ *
793
+ * @schema ServiceMonitorSpecEndpointsMetricRelabelings#replacement
794
+ */
795
+ readonly replacement?: string;
796
+ /**
797
+ * separator defines the string between concatenated SourceLabels.
798
+ *
799
+ * @schema ServiceMonitorSpecEndpointsMetricRelabelings#separator
800
+ */
801
+ readonly separator?: string;
802
+ /**
803
+ * sourceLabels defines the source labels select values from existing labels. Their content is
804
+ * concatenated using the configured Separator and matched against the
805
+ * configured regular expression.
806
+ *
807
+ * @schema ServiceMonitorSpecEndpointsMetricRelabelings#sourceLabels
808
+ */
809
+ readonly sourceLabels?: string[];
810
+ /**
811
+ * targetLabel defines the label to which the resulting string is written in a replacement.
812
+ *
813
+ * It is mandatory for `Replace`, `HashMod`, `Lowercase`, `Uppercase`,
814
+ * `KeepEqual` and `DropEqual` actions.
815
+ *
816
+ * Regex capture groups are available.
817
+ *
818
+ * @schema ServiceMonitorSpecEndpointsMetricRelabelings#targetLabel
819
+ */
820
+ readonly targetLabel?: string;
821
+ }
822
+ /**
823
+ * Converts an object of type 'ServiceMonitorSpecEndpointsMetricRelabelings' to JSON representation.
824
+ */
825
+ export declare function toJson_ServiceMonitorSpecEndpointsMetricRelabelings(obj: ServiceMonitorSpecEndpointsMetricRelabelings | undefined): Record<string, any> | undefined;
826
+ /**
827
+ * oauth2 defines the OAuth2 settings to use when scraping the target.
828
+ *
829
+ * It requires Prometheus >= 2.27.0.
830
+ *
831
+ * Cannot be set at the same time as `authorization`, or `basicAuth`.
832
+ *
833
+ * @schema ServiceMonitorSpecEndpointsOauth2
834
+ */
835
+ export interface ServiceMonitorSpecEndpointsOauth2 {
836
+ /**
837
+ * clientId defines a key of a Secret or ConfigMap containing the
838
+ * OAuth2 client's ID.
839
+ *
840
+ * @schema ServiceMonitorSpecEndpointsOauth2#clientId
841
+ */
842
+ readonly clientId: ServiceMonitorSpecEndpointsOauth2ClientId;
843
+ /**
844
+ * clientSecret defines a key of a Secret containing the OAuth2
845
+ * client's secret.
846
+ *
847
+ * @schema ServiceMonitorSpecEndpointsOauth2#clientSecret
848
+ */
849
+ readonly clientSecret: ServiceMonitorSpecEndpointsOauth2ClientSecret;
850
+ /**
851
+ * endpointParams configures the HTTP parameters to append to the token
852
+ * URL.
853
+ *
854
+ * @schema ServiceMonitorSpecEndpointsOauth2#endpointParams
855
+ */
856
+ readonly endpointParams?: {
857
+ [key: string]: string;
858
+ };
859
+ /**
860
+ * noProxy defines a comma-separated string that can contain IPs, CIDR notation, domain names
861
+ * that should be excluded from proxying. IP and domain names can
862
+ * contain port numbers.
863
+ *
864
+ * It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0.
865
+ *
866
+ * @schema ServiceMonitorSpecEndpointsOauth2#noProxy
867
+ */
868
+ readonly noProxy?: string;
869
+ /**
870
+ * proxyConnectHeader optionally specifies headers to send to
871
+ * proxies during CONNECT requests.
872
+ *
873
+ * It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0.
874
+ *
875
+ * @schema ServiceMonitorSpecEndpointsOauth2#proxyConnectHeader
876
+ */
877
+ readonly proxyConnectHeader?: {
878
+ [key: string]: ServiceMonitorSpecEndpointsOauth2ProxyConnectHeader[];
879
+ };
880
+ /**
881
+ * proxyFromEnvironment defines whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).
882
+ *
883
+ * It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0.
884
+ *
885
+ * @schema ServiceMonitorSpecEndpointsOauth2#proxyFromEnvironment
886
+ */
887
+ readonly proxyFromEnvironment?: boolean;
888
+ /**
889
+ * proxyUrl defines the HTTP proxy server to use.
890
+ *
891
+ * @schema ServiceMonitorSpecEndpointsOauth2#proxyUrl
892
+ */
893
+ readonly proxyUrl?: string;
894
+ /**
895
+ * scopes defines the OAuth2 scopes used for the token request.
896
+ *
897
+ * @schema ServiceMonitorSpecEndpointsOauth2#scopes
898
+ */
899
+ readonly scopes?: string[];
900
+ /**
901
+ * tlsConfig defines the TLS configuration to use when connecting to the OAuth2 server.
902
+ * It requires Prometheus >= v2.43.0.
903
+ *
904
+ * @schema ServiceMonitorSpecEndpointsOauth2#tlsConfig
905
+ */
906
+ readonly tlsConfig?: ServiceMonitorSpecEndpointsOauth2TlsConfig;
907
+ /**
908
+ * tokenUrl defines the URL to fetch the token from.
909
+ *
910
+ * @schema ServiceMonitorSpecEndpointsOauth2#tokenUrl
911
+ */
912
+ readonly tokenUrl: string;
913
+ }
914
+ /**
915
+ * Converts an object of type 'ServiceMonitorSpecEndpointsOauth2' to JSON representation.
916
+ */
917
+ export declare function toJson_ServiceMonitorSpecEndpointsOauth2(obj: ServiceMonitorSpecEndpointsOauth2 | undefined): Record<string, any> | undefined;
918
+ /**
919
+ * SecretKeySelector selects a key of a Secret.
920
+ *
921
+ * @schema ServiceMonitorSpecEndpointsProxyConnectHeader
922
+ */
923
+ export interface ServiceMonitorSpecEndpointsProxyConnectHeader {
924
+ /**
925
+ * The key of the secret to select from. Must be a valid secret key.
926
+ *
927
+ * @schema ServiceMonitorSpecEndpointsProxyConnectHeader#key
928
+ */
929
+ readonly key: string;
930
+ /**
931
+ * Name of the referent.
932
+ * This field is effectively required, but due to backwards compatibility is
933
+ * allowed to be empty. Instances of this type with an empty value here are
934
+ * almost certainly wrong.
935
+ * More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
936
+ *
937
+ * @schema ServiceMonitorSpecEndpointsProxyConnectHeader#name
938
+ */
939
+ readonly name?: string;
940
+ /**
941
+ * Specify whether the Secret or its key must be defined
942
+ *
943
+ * @schema ServiceMonitorSpecEndpointsProxyConnectHeader#optional
944
+ */
945
+ readonly optional?: boolean;
946
+ }
947
+ /**
948
+ * Converts an object of type 'ServiceMonitorSpecEndpointsProxyConnectHeader' to JSON representation.
949
+ */
950
+ export declare function toJson_ServiceMonitorSpecEndpointsProxyConnectHeader(obj: ServiceMonitorSpecEndpointsProxyConnectHeader | undefined): Record<string, any> | undefined;
951
+ /**
952
+ * RelabelConfig allows dynamic rewriting of the label set for targets, alerts,
953
+ * scraped samples and remote write samples.
954
+ *
955
+ * More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config
956
+ *
957
+ * @schema ServiceMonitorSpecEndpointsRelabelings
958
+ */
959
+ export interface ServiceMonitorSpecEndpointsRelabelings {
960
+ /**
961
+ * action to perform based on the regex matching.
962
+ *
963
+ * `Uppercase` and `Lowercase` actions require Prometheus >= v2.36.0.
964
+ * `DropEqual` and `KeepEqual` actions require Prometheus >= v2.41.0.
965
+ *
966
+ * Default: "Replace"
967
+ *
968
+ * @schema ServiceMonitorSpecEndpointsRelabelings#action
969
+ */
970
+ readonly action?: ServiceMonitorSpecEndpointsRelabelingsAction;
971
+ /**
972
+ * modulus to take of the hash of the source label values.
973
+ *
974
+ * Only applicable when the action is `HashMod`.
975
+ *
976
+ * @schema ServiceMonitorSpecEndpointsRelabelings#modulus
977
+ */
978
+ readonly modulus?: number;
979
+ /**
980
+ * regex defines the regular expression against which the extracted value is matched.
981
+ *
982
+ * @schema ServiceMonitorSpecEndpointsRelabelings#regex
983
+ */
984
+ readonly regex?: string;
985
+ /**
986
+ * replacement value against which a Replace action is performed if the
987
+ * regular expression matches.
988
+ *
989
+ * Regex capture groups are available.
990
+ *
991
+ * @schema ServiceMonitorSpecEndpointsRelabelings#replacement
992
+ */
993
+ readonly replacement?: string;
994
+ /**
995
+ * separator defines the string between concatenated SourceLabels.
996
+ *
997
+ * @schema ServiceMonitorSpecEndpointsRelabelings#separator
998
+ */
999
+ readonly separator?: string;
1000
+ /**
1001
+ * sourceLabels defines the source labels select values from existing labels. Their content is
1002
+ * concatenated using the configured Separator and matched against the
1003
+ * configured regular expression.
1004
+ *
1005
+ * @schema ServiceMonitorSpecEndpointsRelabelings#sourceLabels
1006
+ */
1007
+ readonly sourceLabels?: string[];
1008
+ /**
1009
+ * targetLabel defines the label to which the resulting string is written in a replacement.
1010
+ *
1011
+ * It is mandatory for `Replace`, `HashMod`, `Lowercase`, `Uppercase`,
1012
+ * `KeepEqual` and `DropEqual` actions.
1013
+ *
1014
+ * Regex capture groups are available.
1015
+ *
1016
+ * @schema ServiceMonitorSpecEndpointsRelabelings#targetLabel
1017
+ */
1018
+ readonly targetLabel?: string;
1019
+ }
1020
+ /**
1021
+ * Converts an object of type 'ServiceMonitorSpecEndpointsRelabelings' to JSON representation.
1022
+ */
1023
+ export declare function toJson_ServiceMonitorSpecEndpointsRelabelings(obj: ServiceMonitorSpecEndpointsRelabelings | undefined): Record<string, any> | undefined;
1024
+ /**
1025
+ * scheme defines the HTTP scheme to use when scraping the metrics.
1026
+ *
1027
+ * @schema ServiceMonitorSpecEndpointsScheme
1028
+ */
1029
+ export declare enum ServiceMonitorSpecEndpointsScheme {
1030
+ /** http */
1031
+ HTTP = "http",
1032
+ /** https */
1033
+ HTTPS = "https"
1034
+ }
1035
+ /**
1036
+ * targetPort defines the name or number of the target port of the `Pod` object behind the
1037
+ * Service. The port must be specified with the container's port property.
1038
+ *
1039
+ * @schema ServiceMonitorSpecEndpointsTargetPort
1040
+ */
1041
+ export declare class ServiceMonitorSpecEndpointsTargetPort {
1042
+ readonly value: number | string;
1043
+ static fromNumber(value: number): ServiceMonitorSpecEndpointsTargetPort;
1044
+ static fromString(value: string): ServiceMonitorSpecEndpointsTargetPort;
1045
+ private constructor();
1046
+ }
1047
+ /**
1048
+ * tlsConfig defines the TLS configuration to use when scraping the target.
1049
+ *
1050
+ * @schema ServiceMonitorSpecEndpointsTlsConfig
1051
+ */
1052
+ export interface ServiceMonitorSpecEndpointsTlsConfig {
1053
+ /**
1054
+ * ca defines the Certificate authority used when verifying server certificates.
1055
+ *
1056
+ * @schema ServiceMonitorSpecEndpointsTlsConfig#ca
1057
+ */
1058
+ readonly ca?: ServiceMonitorSpecEndpointsTlsConfigCa;
1059
+ /**
1060
+ * caFile defines the path to the CA cert in the Prometheus container to use for the targets.
1061
+ *
1062
+ * @schema ServiceMonitorSpecEndpointsTlsConfig#caFile
1063
+ */
1064
+ readonly caFile?: string;
1065
+ /**
1066
+ * cert defines the Client certificate to present when doing client-authentication.
1067
+ *
1068
+ * @schema ServiceMonitorSpecEndpointsTlsConfig#cert
1069
+ */
1070
+ readonly cert?: ServiceMonitorSpecEndpointsTlsConfigCert;
1071
+ /**
1072
+ * certFile defines the path to the client cert file in the Prometheus container for the targets.
1073
+ *
1074
+ * @schema ServiceMonitorSpecEndpointsTlsConfig#certFile
1075
+ */
1076
+ readonly certFile?: string;
1077
+ /**
1078
+ * insecureSkipVerify defines how to disable target certificate validation.
1079
+ *
1080
+ * @schema ServiceMonitorSpecEndpointsTlsConfig#insecureSkipVerify
1081
+ */
1082
+ readonly insecureSkipVerify?: boolean;
1083
+ /**
1084
+ * keyFile defines the path to the client key file in the Prometheus container for the targets.
1085
+ *
1086
+ * @schema ServiceMonitorSpecEndpointsTlsConfig#keyFile
1087
+ */
1088
+ readonly keyFile?: string;
1089
+ /**
1090
+ * keySecret defines the Secret containing the client key file for the targets.
1091
+ *
1092
+ * @schema ServiceMonitorSpecEndpointsTlsConfig#keySecret
1093
+ */
1094
+ readonly keySecret?: ServiceMonitorSpecEndpointsTlsConfigKeySecret;
1095
+ /**
1096
+ * maxVersion defines the maximum acceptable TLS version.
1097
+ *
1098
+ * It requires Prometheus >= v2.41.0 or Thanos >= v0.31.0.
1099
+ *
1100
+ * @schema ServiceMonitorSpecEndpointsTlsConfig#maxVersion
1101
+ */
1102
+ readonly maxVersion?: ServiceMonitorSpecEndpointsTlsConfigMaxVersion;
1103
+ /**
1104
+ * minVersion defines the minimum acceptable TLS version.
1105
+ *
1106
+ * It requires Prometheus >= v2.35.0 or Thanos >= v0.28.0.
1107
+ *
1108
+ * @schema ServiceMonitorSpecEndpointsTlsConfig#minVersion
1109
+ */
1110
+ readonly minVersion?: ServiceMonitorSpecEndpointsTlsConfigMinVersion;
1111
+ /**
1112
+ * serverName is used to verify the hostname for the targets.
1113
+ *
1114
+ * @schema ServiceMonitorSpecEndpointsTlsConfig#serverName
1115
+ */
1116
+ readonly serverName?: string;
1117
+ }
1118
+ /**
1119
+ * Converts an object of type 'ServiceMonitorSpecEndpointsTlsConfig' to JSON representation.
1120
+ */
1121
+ export declare function toJson_ServiceMonitorSpecEndpointsTlsConfig(obj: ServiceMonitorSpecEndpointsTlsConfig | undefined): Record<string, any> | undefined;
1122
+ /**
1123
+ * A label selector requirement is a selector that contains values, a key, and an operator that
1124
+ * relates the key and values.
1125
+ *
1126
+ * @schema ServiceMonitorSpecSelectorMatchExpressions
1127
+ */
1128
+ export interface ServiceMonitorSpecSelectorMatchExpressions {
1129
+ /**
1130
+ * key is the label key that the selector applies to.
1131
+ *
1132
+ * @schema ServiceMonitorSpecSelectorMatchExpressions#key
1133
+ */
1134
+ readonly key: string;
1135
+ /**
1136
+ * operator represents a key's relationship to a set of values.
1137
+ * Valid operators are In, NotIn, Exists and DoesNotExist.
1138
+ *
1139
+ * @schema ServiceMonitorSpecSelectorMatchExpressions#operator
1140
+ */
1141
+ readonly operator: string;
1142
+ /**
1143
+ * values is an array of string values. If the operator is In or NotIn,
1144
+ * the values array must be non-empty. If the operator is Exists or DoesNotExist,
1145
+ * the values array must be empty. This array is replaced during a strategic
1146
+ * merge patch.
1147
+ *
1148
+ * @schema ServiceMonitorSpecSelectorMatchExpressions#values
1149
+ */
1150
+ readonly values?: string[];
1151
+ }
1152
+ /**
1153
+ * Converts an object of type 'ServiceMonitorSpecSelectorMatchExpressions' to JSON representation.
1154
+ */
1155
+ export declare function toJson_ServiceMonitorSpecSelectorMatchExpressions(obj: ServiceMonitorSpecSelectorMatchExpressions | undefined): Record<string, any> | undefined;
1156
+ /**
1157
+ * credentials defines a key of a Secret in the namespace that contains the credentials for authentication.
1158
+ *
1159
+ * @schema ServiceMonitorSpecEndpointsAuthorizationCredentials
1160
+ */
1161
+ export interface ServiceMonitorSpecEndpointsAuthorizationCredentials {
1162
+ /**
1163
+ * The key of the secret to select from. Must be a valid secret key.
1164
+ *
1165
+ * @schema ServiceMonitorSpecEndpointsAuthorizationCredentials#key
1166
+ */
1167
+ readonly key: string;
1168
+ /**
1169
+ * Name of the referent.
1170
+ * This field is effectively required, but due to backwards compatibility is
1171
+ * allowed to be empty. Instances of this type with an empty value here are
1172
+ * almost certainly wrong.
1173
+ * More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
1174
+ *
1175
+ * @schema ServiceMonitorSpecEndpointsAuthorizationCredentials#name
1176
+ */
1177
+ readonly name?: string;
1178
+ /**
1179
+ * Specify whether the Secret or its key must be defined
1180
+ *
1181
+ * @schema ServiceMonitorSpecEndpointsAuthorizationCredentials#optional
1182
+ */
1183
+ readonly optional?: boolean;
1184
+ }
1185
+ /**
1186
+ * Converts an object of type 'ServiceMonitorSpecEndpointsAuthorizationCredentials' to JSON representation.
1187
+ */
1188
+ export declare function toJson_ServiceMonitorSpecEndpointsAuthorizationCredentials(obj: ServiceMonitorSpecEndpointsAuthorizationCredentials | undefined): Record<string, any> | undefined;
1189
+ /**
1190
+ * password defines a key of a Secret containing the password for
1191
+ * authentication.
1192
+ *
1193
+ * @schema ServiceMonitorSpecEndpointsBasicAuthPassword
1194
+ */
1195
+ export interface ServiceMonitorSpecEndpointsBasicAuthPassword {
1196
+ /**
1197
+ * The key of the secret to select from. Must be a valid secret key.
1198
+ *
1199
+ * @schema ServiceMonitorSpecEndpointsBasicAuthPassword#key
1200
+ */
1201
+ readonly key: string;
1202
+ /**
1203
+ * Name of the referent.
1204
+ * This field is effectively required, but due to backwards compatibility is
1205
+ * allowed to be empty. Instances of this type with an empty value here are
1206
+ * almost certainly wrong.
1207
+ * More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
1208
+ *
1209
+ * @schema ServiceMonitorSpecEndpointsBasicAuthPassword#name
1210
+ */
1211
+ readonly name?: string;
1212
+ /**
1213
+ * Specify whether the Secret or its key must be defined
1214
+ *
1215
+ * @schema ServiceMonitorSpecEndpointsBasicAuthPassword#optional
1216
+ */
1217
+ readonly optional?: boolean;
1218
+ }
1219
+ /**
1220
+ * Converts an object of type 'ServiceMonitorSpecEndpointsBasicAuthPassword' to JSON representation.
1221
+ */
1222
+ export declare function toJson_ServiceMonitorSpecEndpointsBasicAuthPassword(obj: ServiceMonitorSpecEndpointsBasicAuthPassword | undefined): Record<string, any> | undefined;
1223
+ /**
1224
+ * username defines a key of a Secret containing the username for
1225
+ * authentication.
1226
+ *
1227
+ * @schema ServiceMonitorSpecEndpointsBasicAuthUsername
1228
+ */
1229
+ export interface ServiceMonitorSpecEndpointsBasicAuthUsername {
1230
+ /**
1231
+ * The key of the secret to select from. Must be a valid secret key.
1232
+ *
1233
+ * @schema ServiceMonitorSpecEndpointsBasicAuthUsername#key
1234
+ */
1235
+ readonly key: string;
1236
+ /**
1237
+ * Name of the referent.
1238
+ * This field is effectively required, but due to backwards compatibility is
1239
+ * allowed to be empty. Instances of this type with an empty value here are
1240
+ * almost certainly wrong.
1241
+ * More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
1242
+ *
1243
+ * @schema ServiceMonitorSpecEndpointsBasicAuthUsername#name
1244
+ */
1245
+ readonly name?: string;
1246
+ /**
1247
+ * Specify whether the Secret or its key must be defined
1248
+ *
1249
+ * @schema ServiceMonitorSpecEndpointsBasicAuthUsername#optional
1250
+ */
1251
+ readonly optional?: boolean;
1252
+ }
1253
+ /**
1254
+ * Converts an object of type 'ServiceMonitorSpecEndpointsBasicAuthUsername' to JSON representation.
1255
+ */
1256
+ export declare function toJson_ServiceMonitorSpecEndpointsBasicAuthUsername(obj: ServiceMonitorSpecEndpointsBasicAuthUsername | undefined): Record<string, any> | undefined;
1257
+ /**
1258
+ * action to perform based on the regex matching.
1259
+ *
1260
+ * `Uppercase` and `Lowercase` actions require Prometheus >= v2.36.0.
1261
+ * `DropEqual` and `KeepEqual` actions require Prometheus >= v2.41.0.
1262
+ *
1263
+ * Default: "Replace"
1264
+ *
1265
+ * @schema ServiceMonitorSpecEndpointsMetricRelabelingsAction
1266
+ */
1267
+ export declare enum ServiceMonitorSpecEndpointsMetricRelabelingsAction {
1268
+ /** replace */
1269
+ REPLACE = "replace",
1270
+ /** keep */
1271
+ KEEP = "keep",
1272
+ /** drop */
1273
+ DROP = "drop",
1274
+ /** hashmod */
1275
+ HASHMOD = "hashmod",
1276
+ /** labelmap */
1277
+ LABELMAP = "labelmap",
1278
+ /** labeldrop */
1279
+ LABELDROP = "labeldrop",
1280
+ /** labelkeep */
1281
+ LABELKEEP = "labelkeep",
1282
+ /** lowercase */
1283
+ LOWERCASE = "lowercase",
1284
+ /** uppercase */
1285
+ UPPERCASE = "uppercase",
1286
+ /** keepequal */
1287
+ KEEPEQUAL = "keepequal",
1288
+ /** dropequal */
1289
+ DROPEQUAL = "dropequal"
1290
+ }
1291
+ /**
1292
+ * clientId defines a key of a Secret or ConfigMap containing the
1293
+ * OAuth2 client's ID.
1294
+ *
1295
+ * @schema ServiceMonitorSpecEndpointsOauth2ClientId
1296
+ */
1297
+ export interface ServiceMonitorSpecEndpointsOauth2ClientId {
1298
+ /**
1299
+ * configMap defines the ConfigMap containing data to use for the targets.
1300
+ *
1301
+ * @schema ServiceMonitorSpecEndpointsOauth2ClientId#configMap
1302
+ */
1303
+ readonly configMap?: ServiceMonitorSpecEndpointsOauth2ClientIdConfigMap;
1304
+ /**
1305
+ * secret defines the Secret containing data to use for the targets.
1306
+ *
1307
+ * @schema ServiceMonitorSpecEndpointsOauth2ClientId#secret
1308
+ */
1309
+ readonly secret?: ServiceMonitorSpecEndpointsOauth2ClientIdSecret;
1310
+ }
1311
+ /**
1312
+ * Converts an object of type 'ServiceMonitorSpecEndpointsOauth2ClientId' to JSON representation.
1313
+ */
1314
+ export declare function toJson_ServiceMonitorSpecEndpointsOauth2ClientId(obj: ServiceMonitorSpecEndpointsOauth2ClientId | undefined): Record<string, any> | undefined;
1315
+ /**
1316
+ * clientSecret defines a key of a Secret containing the OAuth2
1317
+ * client's secret.
1318
+ *
1319
+ * @schema ServiceMonitorSpecEndpointsOauth2ClientSecret
1320
+ */
1321
+ export interface ServiceMonitorSpecEndpointsOauth2ClientSecret {
1322
+ /**
1323
+ * The key of the secret to select from. Must be a valid secret key.
1324
+ *
1325
+ * @schema ServiceMonitorSpecEndpointsOauth2ClientSecret#key
1326
+ */
1327
+ readonly key: string;
1328
+ /**
1329
+ * Name of the referent.
1330
+ * This field is effectively required, but due to backwards compatibility is
1331
+ * allowed to be empty. Instances of this type with an empty value here are
1332
+ * almost certainly wrong.
1333
+ * More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
1334
+ *
1335
+ * @schema ServiceMonitorSpecEndpointsOauth2ClientSecret#name
1336
+ */
1337
+ readonly name?: string;
1338
+ /**
1339
+ * Specify whether the Secret or its key must be defined
1340
+ *
1341
+ * @schema ServiceMonitorSpecEndpointsOauth2ClientSecret#optional
1342
+ */
1343
+ readonly optional?: boolean;
1344
+ }
1345
+ /**
1346
+ * Converts an object of type 'ServiceMonitorSpecEndpointsOauth2ClientSecret' to JSON representation.
1347
+ */
1348
+ export declare function toJson_ServiceMonitorSpecEndpointsOauth2ClientSecret(obj: ServiceMonitorSpecEndpointsOauth2ClientSecret | undefined): Record<string, any> | undefined;
1349
+ /**
1350
+ * SecretKeySelector selects a key of a Secret.
1351
+ *
1352
+ * @schema ServiceMonitorSpecEndpointsOauth2ProxyConnectHeader
1353
+ */
1354
+ export interface ServiceMonitorSpecEndpointsOauth2ProxyConnectHeader {
1355
+ /**
1356
+ * The key of the secret to select from. Must be a valid secret key.
1357
+ *
1358
+ * @schema ServiceMonitorSpecEndpointsOauth2ProxyConnectHeader#key
1359
+ */
1360
+ readonly key: string;
1361
+ /**
1362
+ * Name of the referent.
1363
+ * This field is effectively required, but due to backwards compatibility is
1364
+ * allowed to be empty. Instances of this type with an empty value here are
1365
+ * almost certainly wrong.
1366
+ * More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
1367
+ *
1368
+ * @schema ServiceMonitorSpecEndpointsOauth2ProxyConnectHeader#name
1369
+ */
1370
+ readonly name?: string;
1371
+ /**
1372
+ * Specify whether the Secret or its key must be defined
1373
+ *
1374
+ * @schema ServiceMonitorSpecEndpointsOauth2ProxyConnectHeader#optional
1375
+ */
1376
+ readonly optional?: boolean;
1377
+ }
1378
+ /**
1379
+ * Converts an object of type 'ServiceMonitorSpecEndpointsOauth2ProxyConnectHeader' to JSON representation.
1380
+ */
1381
+ export declare function toJson_ServiceMonitorSpecEndpointsOauth2ProxyConnectHeader(obj: ServiceMonitorSpecEndpointsOauth2ProxyConnectHeader | undefined): Record<string, any> | undefined;
1382
+ /**
1383
+ * tlsConfig defines the TLS configuration to use when connecting to the OAuth2 server.
1384
+ * It requires Prometheus >= v2.43.0.
1385
+ *
1386
+ * @schema ServiceMonitorSpecEndpointsOauth2TlsConfig
1387
+ */
1388
+ export interface ServiceMonitorSpecEndpointsOauth2TlsConfig {
1389
+ /**
1390
+ * ca defines the Certificate authority used when verifying server certificates.
1391
+ *
1392
+ * @schema ServiceMonitorSpecEndpointsOauth2TlsConfig#ca
1393
+ */
1394
+ readonly ca?: ServiceMonitorSpecEndpointsOauth2TlsConfigCa;
1395
+ /**
1396
+ * cert defines the Client certificate to present when doing client-authentication.
1397
+ *
1398
+ * @schema ServiceMonitorSpecEndpointsOauth2TlsConfig#cert
1399
+ */
1400
+ readonly cert?: ServiceMonitorSpecEndpointsOauth2TlsConfigCert;
1401
+ /**
1402
+ * insecureSkipVerify defines how to disable target certificate validation.
1403
+ *
1404
+ * @schema ServiceMonitorSpecEndpointsOauth2TlsConfig#insecureSkipVerify
1405
+ */
1406
+ readonly insecureSkipVerify?: boolean;
1407
+ /**
1408
+ * keySecret defines the Secret containing the client key file for the targets.
1409
+ *
1410
+ * @schema ServiceMonitorSpecEndpointsOauth2TlsConfig#keySecret
1411
+ */
1412
+ readonly keySecret?: ServiceMonitorSpecEndpointsOauth2TlsConfigKeySecret;
1413
+ /**
1414
+ * maxVersion defines the maximum acceptable TLS version.
1415
+ *
1416
+ * It requires Prometheus >= v2.41.0 or Thanos >= v0.31.0.
1417
+ *
1418
+ * @schema ServiceMonitorSpecEndpointsOauth2TlsConfig#maxVersion
1419
+ */
1420
+ readonly maxVersion?: ServiceMonitorSpecEndpointsOauth2TlsConfigMaxVersion;
1421
+ /**
1422
+ * minVersion defines the minimum acceptable TLS version.
1423
+ *
1424
+ * It requires Prometheus >= v2.35.0 or Thanos >= v0.28.0.
1425
+ *
1426
+ * @schema ServiceMonitorSpecEndpointsOauth2TlsConfig#minVersion
1427
+ */
1428
+ readonly minVersion?: ServiceMonitorSpecEndpointsOauth2TlsConfigMinVersion;
1429
+ /**
1430
+ * serverName is used to verify the hostname for the targets.
1431
+ *
1432
+ * @schema ServiceMonitorSpecEndpointsOauth2TlsConfig#serverName
1433
+ */
1434
+ readonly serverName?: string;
1435
+ }
1436
+ /**
1437
+ * Converts an object of type 'ServiceMonitorSpecEndpointsOauth2TlsConfig' to JSON representation.
1438
+ */
1439
+ export declare function toJson_ServiceMonitorSpecEndpointsOauth2TlsConfig(obj: ServiceMonitorSpecEndpointsOauth2TlsConfig | undefined): Record<string, any> | undefined;
1440
+ /**
1441
+ * action to perform based on the regex matching.
1442
+ *
1443
+ * `Uppercase` and `Lowercase` actions require Prometheus >= v2.36.0.
1444
+ * `DropEqual` and `KeepEqual` actions require Prometheus >= v2.41.0.
1445
+ *
1446
+ * Default: "Replace"
1447
+ *
1448
+ * @schema ServiceMonitorSpecEndpointsRelabelingsAction
1449
+ */
1450
+ export declare enum ServiceMonitorSpecEndpointsRelabelingsAction {
1451
+ /** replace */
1452
+ REPLACE = "replace",
1453
+ /** keep */
1454
+ KEEP = "keep",
1455
+ /** drop */
1456
+ DROP = "drop",
1457
+ /** hashmod */
1458
+ HASHMOD = "hashmod",
1459
+ /** labelmap */
1460
+ LABELMAP = "labelmap",
1461
+ /** labeldrop */
1462
+ LABELDROP = "labeldrop",
1463
+ /** labelkeep */
1464
+ LABELKEEP = "labelkeep",
1465
+ /** lowercase */
1466
+ LOWERCASE = "lowercase",
1467
+ /** uppercase */
1468
+ UPPERCASE = "uppercase",
1469
+ /** keepequal */
1470
+ KEEPEQUAL = "keepequal",
1471
+ /** dropequal */
1472
+ DROPEQUAL = "dropequal"
1473
+ }
1474
+ /**
1475
+ * ca defines the Certificate authority used when verifying server certificates.
1476
+ *
1477
+ * @schema ServiceMonitorSpecEndpointsTlsConfigCa
1478
+ */
1479
+ export interface ServiceMonitorSpecEndpointsTlsConfigCa {
1480
+ /**
1481
+ * configMap defines the ConfigMap containing data to use for the targets.
1482
+ *
1483
+ * @schema ServiceMonitorSpecEndpointsTlsConfigCa#configMap
1484
+ */
1485
+ readonly configMap?: ServiceMonitorSpecEndpointsTlsConfigCaConfigMap;
1486
+ /**
1487
+ * secret defines the Secret containing data to use for the targets.
1488
+ *
1489
+ * @schema ServiceMonitorSpecEndpointsTlsConfigCa#secret
1490
+ */
1491
+ readonly secret?: ServiceMonitorSpecEndpointsTlsConfigCaSecret;
1492
+ }
1493
+ /**
1494
+ * Converts an object of type 'ServiceMonitorSpecEndpointsTlsConfigCa' to JSON representation.
1495
+ */
1496
+ export declare function toJson_ServiceMonitorSpecEndpointsTlsConfigCa(obj: ServiceMonitorSpecEndpointsTlsConfigCa | undefined): Record<string, any> | undefined;
1497
+ /**
1498
+ * cert defines the Client certificate to present when doing client-authentication.
1499
+ *
1500
+ * @schema ServiceMonitorSpecEndpointsTlsConfigCert
1501
+ */
1502
+ export interface ServiceMonitorSpecEndpointsTlsConfigCert {
1503
+ /**
1504
+ * configMap defines the ConfigMap containing data to use for the targets.
1505
+ *
1506
+ * @schema ServiceMonitorSpecEndpointsTlsConfigCert#configMap
1507
+ */
1508
+ readonly configMap?: ServiceMonitorSpecEndpointsTlsConfigCertConfigMap;
1509
+ /**
1510
+ * secret defines the Secret containing data to use for the targets.
1511
+ *
1512
+ * @schema ServiceMonitorSpecEndpointsTlsConfigCert#secret
1513
+ */
1514
+ readonly secret?: ServiceMonitorSpecEndpointsTlsConfigCertSecret;
1515
+ }
1516
+ /**
1517
+ * Converts an object of type 'ServiceMonitorSpecEndpointsTlsConfigCert' to JSON representation.
1518
+ */
1519
+ export declare function toJson_ServiceMonitorSpecEndpointsTlsConfigCert(obj: ServiceMonitorSpecEndpointsTlsConfigCert | undefined): Record<string, any> | undefined;
1520
+ /**
1521
+ * keySecret defines the Secret containing the client key file for the targets.
1522
+ *
1523
+ * @schema ServiceMonitorSpecEndpointsTlsConfigKeySecret
1524
+ */
1525
+ export interface ServiceMonitorSpecEndpointsTlsConfigKeySecret {
1526
+ /**
1527
+ * The key of the secret to select from. Must be a valid secret key.
1528
+ *
1529
+ * @schema ServiceMonitorSpecEndpointsTlsConfigKeySecret#key
1530
+ */
1531
+ readonly key: string;
1532
+ /**
1533
+ * Name of the referent.
1534
+ * This field is effectively required, but due to backwards compatibility is
1535
+ * allowed to be empty. Instances of this type with an empty value here are
1536
+ * almost certainly wrong.
1537
+ * More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
1538
+ *
1539
+ * @schema ServiceMonitorSpecEndpointsTlsConfigKeySecret#name
1540
+ */
1541
+ readonly name?: string;
1542
+ /**
1543
+ * Specify whether the Secret or its key must be defined
1544
+ *
1545
+ * @schema ServiceMonitorSpecEndpointsTlsConfigKeySecret#optional
1546
+ */
1547
+ readonly optional?: boolean;
1548
+ }
1549
+ /**
1550
+ * Converts an object of type 'ServiceMonitorSpecEndpointsTlsConfigKeySecret' to JSON representation.
1551
+ */
1552
+ export declare function toJson_ServiceMonitorSpecEndpointsTlsConfigKeySecret(obj: ServiceMonitorSpecEndpointsTlsConfigKeySecret | undefined): Record<string, any> | undefined;
1553
+ /**
1554
+ * maxVersion defines the maximum acceptable TLS version.
1555
+ *
1556
+ * It requires Prometheus >= v2.41.0 or Thanos >= v0.31.0.
1557
+ *
1558
+ * @schema ServiceMonitorSpecEndpointsTlsConfigMaxVersion
1559
+ */
1560
+ export declare enum ServiceMonitorSpecEndpointsTlsConfigMaxVersion {
1561
+ /** TLS10 */
1562
+ TLS10 = "TLS10",
1563
+ /** TLS11 */
1564
+ TLS11 = "TLS11",
1565
+ /** TLS12 */
1566
+ TLS12 = "TLS12",
1567
+ /** TLS13 */
1568
+ TLS13 = "TLS13"
1569
+ }
1570
+ /**
1571
+ * minVersion defines the minimum acceptable TLS version.
1572
+ *
1573
+ * It requires Prometheus >= v2.35.0 or Thanos >= v0.28.0.
1574
+ *
1575
+ * @schema ServiceMonitorSpecEndpointsTlsConfigMinVersion
1576
+ */
1577
+ export declare enum ServiceMonitorSpecEndpointsTlsConfigMinVersion {
1578
+ /** TLS10 */
1579
+ TLS10 = "TLS10",
1580
+ /** TLS11 */
1581
+ TLS11 = "TLS11",
1582
+ /** TLS12 */
1583
+ TLS12 = "TLS12",
1584
+ /** TLS13 */
1585
+ TLS13 = "TLS13"
1586
+ }
1587
+ /**
1588
+ * configMap defines the ConfigMap containing data to use for the targets.
1589
+ *
1590
+ * @schema ServiceMonitorSpecEndpointsOauth2ClientIdConfigMap
1591
+ */
1592
+ export interface ServiceMonitorSpecEndpointsOauth2ClientIdConfigMap {
1593
+ /**
1594
+ * The key to select.
1595
+ *
1596
+ * @schema ServiceMonitorSpecEndpointsOauth2ClientIdConfigMap#key
1597
+ */
1598
+ readonly key: string;
1599
+ /**
1600
+ * Name of the referent.
1601
+ * This field is effectively required, but due to backwards compatibility is
1602
+ * allowed to be empty. Instances of this type with an empty value here are
1603
+ * almost certainly wrong.
1604
+ * More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
1605
+ *
1606
+ * @schema ServiceMonitorSpecEndpointsOauth2ClientIdConfigMap#name
1607
+ */
1608
+ readonly name?: string;
1609
+ /**
1610
+ * Specify whether the ConfigMap or its key must be defined
1611
+ *
1612
+ * @schema ServiceMonitorSpecEndpointsOauth2ClientIdConfigMap#optional
1613
+ */
1614
+ readonly optional?: boolean;
1615
+ }
1616
+ /**
1617
+ * Converts an object of type 'ServiceMonitorSpecEndpointsOauth2ClientIdConfigMap' to JSON representation.
1618
+ */
1619
+ export declare function toJson_ServiceMonitorSpecEndpointsOauth2ClientIdConfigMap(obj: ServiceMonitorSpecEndpointsOauth2ClientIdConfigMap | undefined): Record<string, any> | undefined;
1620
+ /**
1621
+ * secret defines the Secret containing data to use for the targets.
1622
+ *
1623
+ * @schema ServiceMonitorSpecEndpointsOauth2ClientIdSecret
1624
+ */
1625
+ export interface ServiceMonitorSpecEndpointsOauth2ClientIdSecret {
1626
+ /**
1627
+ * The key of the secret to select from. Must be a valid secret key.
1628
+ *
1629
+ * @schema ServiceMonitorSpecEndpointsOauth2ClientIdSecret#key
1630
+ */
1631
+ readonly key: string;
1632
+ /**
1633
+ * Name of the referent.
1634
+ * This field is effectively required, but due to backwards compatibility is
1635
+ * allowed to be empty. Instances of this type with an empty value here are
1636
+ * almost certainly wrong.
1637
+ * More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
1638
+ *
1639
+ * @schema ServiceMonitorSpecEndpointsOauth2ClientIdSecret#name
1640
+ */
1641
+ readonly name?: string;
1642
+ /**
1643
+ * Specify whether the Secret or its key must be defined
1644
+ *
1645
+ * @schema ServiceMonitorSpecEndpointsOauth2ClientIdSecret#optional
1646
+ */
1647
+ readonly optional?: boolean;
1648
+ }
1649
+ /**
1650
+ * Converts an object of type 'ServiceMonitorSpecEndpointsOauth2ClientIdSecret' to JSON representation.
1651
+ */
1652
+ export declare function toJson_ServiceMonitorSpecEndpointsOauth2ClientIdSecret(obj: ServiceMonitorSpecEndpointsOauth2ClientIdSecret | undefined): Record<string, any> | undefined;
1653
+ /**
1654
+ * ca defines the Certificate authority used when verifying server certificates.
1655
+ *
1656
+ * @schema ServiceMonitorSpecEndpointsOauth2TlsConfigCa
1657
+ */
1658
+ export interface ServiceMonitorSpecEndpointsOauth2TlsConfigCa {
1659
+ /**
1660
+ * configMap defines the ConfigMap containing data to use for the targets.
1661
+ *
1662
+ * @schema ServiceMonitorSpecEndpointsOauth2TlsConfigCa#configMap
1663
+ */
1664
+ readonly configMap?: ServiceMonitorSpecEndpointsOauth2TlsConfigCaConfigMap;
1665
+ /**
1666
+ * secret defines the Secret containing data to use for the targets.
1667
+ *
1668
+ * @schema ServiceMonitorSpecEndpointsOauth2TlsConfigCa#secret
1669
+ */
1670
+ readonly secret?: ServiceMonitorSpecEndpointsOauth2TlsConfigCaSecret;
1671
+ }
1672
+ /**
1673
+ * Converts an object of type 'ServiceMonitorSpecEndpointsOauth2TlsConfigCa' to JSON representation.
1674
+ */
1675
+ export declare function toJson_ServiceMonitorSpecEndpointsOauth2TlsConfigCa(obj: ServiceMonitorSpecEndpointsOauth2TlsConfigCa | undefined): Record<string, any> | undefined;
1676
+ /**
1677
+ * cert defines the Client certificate to present when doing client-authentication.
1678
+ *
1679
+ * @schema ServiceMonitorSpecEndpointsOauth2TlsConfigCert
1680
+ */
1681
+ export interface ServiceMonitorSpecEndpointsOauth2TlsConfigCert {
1682
+ /**
1683
+ * configMap defines the ConfigMap containing data to use for the targets.
1684
+ *
1685
+ * @schema ServiceMonitorSpecEndpointsOauth2TlsConfigCert#configMap
1686
+ */
1687
+ readonly configMap?: ServiceMonitorSpecEndpointsOauth2TlsConfigCertConfigMap;
1688
+ /**
1689
+ * secret defines the Secret containing data to use for the targets.
1690
+ *
1691
+ * @schema ServiceMonitorSpecEndpointsOauth2TlsConfigCert#secret
1692
+ */
1693
+ readonly secret?: ServiceMonitorSpecEndpointsOauth2TlsConfigCertSecret;
1694
+ }
1695
+ /**
1696
+ * Converts an object of type 'ServiceMonitorSpecEndpointsOauth2TlsConfigCert' to JSON representation.
1697
+ */
1698
+ export declare function toJson_ServiceMonitorSpecEndpointsOauth2TlsConfigCert(obj: ServiceMonitorSpecEndpointsOauth2TlsConfigCert | undefined): Record<string, any> | undefined;
1699
+ /**
1700
+ * keySecret defines the Secret containing the client key file for the targets.
1701
+ *
1702
+ * @schema ServiceMonitorSpecEndpointsOauth2TlsConfigKeySecret
1703
+ */
1704
+ export interface ServiceMonitorSpecEndpointsOauth2TlsConfigKeySecret {
1705
+ /**
1706
+ * The key of the secret to select from. Must be a valid secret key.
1707
+ *
1708
+ * @schema ServiceMonitorSpecEndpointsOauth2TlsConfigKeySecret#key
1709
+ */
1710
+ readonly key: string;
1711
+ /**
1712
+ * Name of the referent.
1713
+ * This field is effectively required, but due to backwards compatibility is
1714
+ * allowed to be empty. Instances of this type with an empty value here are
1715
+ * almost certainly wrong.
1716
+ * More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
1717
+ *
1718
+ * @schema ServiceMonitorSpecEndpointsOauth2TlsConfigKeySecret#name
1719
+ */
1720
+ readonly name?: string;
1721
+ /**
1722
+ * Specify whether the Secret or its key must be defined
1723
+ *
1724
+ * @schema ServiceMonitorSpecEndpointsOauth2TlsConfigKeySecret#optional
1725
+ */
1726
+ readonly optional?: boolean;
1727
+ }
1728
+ /**
1729
+ * Converts an object of type 'ServiceMonitorSpecEndpointsOauth2TlsConfigKeySecret' to JSON representation.
1730
+ */
1731
+ export declare function toJson_ServiceMonitorSpecEndpointsOauth2TlsConfigKeySecret(obj: ServiceMonitorSpecEndpointsOauth2TlsConfigKeySecret | undefined): Record<string, any> | undefined;
1732
+ /**
1733
+ * maxVersion defines the maximum acceptable TLS version.
1734
+ *
1735
+ * It requires Prometheus >= v2.41.0 or Thanos >= v0.31.0.
1736
+ *
1737
+ * @schema ServiceMonitorSpecEndpointsOauth2TlsConfigMaxVersion
1738
+ */
1739
+ export declare enum ServiceMonitorSpecEndpointsOauth2TlsConfigMaxVersion {
1740
+ /** TLS10 */
1741
+ TLS10 = "TLS10",
1742
+ /** TLS11 */
1743
+ TLS11 = "TLS11",
1744
+ /** TLS12 */
1745
+ TLS12 = "TLS12",
1746
+ /** TLS13 */
1747
+ TLS13 = "TLS13"
1748
+ }
1749
+ /**
1750
+ * minVersion defines the minimum acceptable TLS version.
1751
+ *
1752
+ * It requires Prometheus >= v2.35.0 or Thanos >= v0.28.0.
1753
+ *
1754
+ * @schema ServiceMonitorSpecEndpointsOauth2TlsConfigMinVersion
1755
+ */
1756
+ export declare enum ServiceMonitorSpecEndpointsOauth2TlsConfigMinVersion {
1757
+ /** TLS10 */
1758
+ TLS10 = "TLS10",
1759
+ /** TLS11 */
1760
+ TLS11 = "TLS11",
1761
+ /** TLS12 */
1762
+ TLS12 = "TLS12",
1763
+ /** TLS13 */
1764
+ TLS13 = "TLS13"
1765
+ }
1766
+ /**
1767
+ * configMap defines the ConfigMap containing data to use for the targets.
1768
+ *
1769
+ * @schema ServiceMonitorSpecEndpointsTlsConfigCaConfigMap
1770
+ */
1771
+ export interface ServiceMonitorSpecEndpointsTlsConfigCaConfigMap {
1772
+ /**
1773
+ * The key to select.
1774
+ *
1775
+ * @schema ServiceMonitorSpecEndpointsTlsConfigCaConfigMap#key
1776
+ */
1777
+ readonly key: string;
1778
+ /**
1779
+ * Name of the referent.
1780
+ * This field is effectively required, but due to backwards compatibility is
1781
+ * allowed to be empty. Instances of this type with an empty value here are
1782
+ * almost certainly wrong.
1783
+ * More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
1784
+ *
1785
+ * @schema ServiceMonitorSpecEndpointsTlsConfigCaConfigMap#name
1786
+ */
1787
+ readonly name?: string;
1788
+ /**
1789
+ * Specify whether the ConfigMap or its key must be defined
1790
+ *
1791
+ * @schema ServiceMonitorSpecEndpointsTlsConfigCaConfigMap#optional
1792
+ */
1793
+ readonly optional?: boolean;
1794
+ }
1795
+ /**
1796
+ * Converts an object of type 'ServiceMonitorSpecEndpointsTlsConfigCaConfigMap' to JSON representation.
1797
+ */
1798
+ export declare function toJson_ServiceMonitorSpecEndpointsTlsConfigCaConfigMap(obj: ServiceMonitorSpecEndpointsTlsConfigCaConfigMap | undefined): Record<string, any> | undefined;
1799
+ /**
1800
+ * secret defines the Secret containing data to use for the targets.
1801
+ *
1802
+ * @schema ServiceMonitorSpecEndpointsTlsConfigCaSecret
1803
+ */
1804
+ export interface ServiceMonitorSpecEndpointsTlsConfigCaSecret {
1805
+ /**
1806
+ * The key of the secret to select from. Must be a valid secret key.
1807
+ *
1808
+ * @schema ServiceMonitorSpecEndpointsTlsConfigCaSecret#key
1809
+ */
1810
+ readonly key: string;
1811
+ /**
1812
+ * Name of the referent.
1813
+ * This field is effectively required, but due to backwards compatibility is
1814
+ * allowed to be empty. Instances of this type with an empty value here are
1815
+ * almost certainly wrong.
1816
+ * More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
1817
+ *
1818
+ * @schema ServiceMonitorSpecEndpointsTlsConfigCaSecret#name
1819
+ */
1820
+ readonly name?: string;
1821
+ /**
1822
+ * Specify whether the Secret or its key must be defined
1823
+ *
1824
+ * @schema ServiceMonitorSpecEndpointsTlsConfigCaSecret#optional
1825
+ */
1826
+ readonly optional?: boolean;
1827
+ }
1828
+ /**
1829
+ * Converts an object of type 'ServiceMonitorSpecEndpointsTlsConfigCaSecret' to JSON representation.
1830
+ */
1831
+ export declare function toJson_ServiceMonitorSpecEndpointsTlsConfigCaSecret(obj: ServiceMonitorSpecEndpointsTlsConfigCaSecret | undefined): Record<string, any> | undefined;
1832
+ /**
1833
+ * configMap defines the ConfigMap containing data to use for the targets.
1834
+ *
1835
+ * @schema ServiceMonitorSpecEndpointsTlsConfigCertConfigMap
1836
+ */
1837
+ export interface ServiceMonitorSpecEndpointsTlsConfigCertConfigMap {
1838
+ /**
1839
+ * The key to select.
1840
+ *
1841
+ * @schema ServiceMonitorSpecEndpointsTlsConfigCertConfigMap#key
1842
+ */
1843
+ readonly key: string;
1844
+ /**
1845
+ * Name of the referent.
1846
+ * This field is effectively required, but due to backwards compatibility is
1847
+ * allowed to be empty. Instances of this type with an empty value here are
1848
+ * almost certainly wrong.
1849
+ * More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
1850
+ *
1851
+ * @schema ServiceMonitorSpecEndpointsTlsConfigCertConfigMap#name
1852
+ */
1853
+ readonly name?: string;
1854
+ /**
1855
+ * Specify whether the ConfigMap or its key must be defined
1856
+ *
1857
+ * @schema ServiceMonitorSpecEndpointsTlsConfigCertConfigMap#optional
1858
+ */
1859
+ readonly optional?: boolean;
1860
+ }
1861
+ /**
1862
+ * Converts an object of type 'ServiceMonitorSpecEndpointsTlsConfigCertConfigMap' to JSON representation.
1863
+ */
1864
+ export declare function toJson_ServiceMonitorSpecEndpointsTlsConfigCertConfigMap(obj: ServiceMonitorSpecEndpointsTlsConfigCertConfigMap | undefined): Record<string, any> | undefined;
1865
+ /**
1866
+ * secret defines the Secret containing data to use for the targets.
1867
+ *
1868
+ * @schema ServiceMonitorSpecEndpointsTlsConfigCertSecret
1869
+ */
1870
+ export interface ServiceMonitorSpecEndpointsTlsConfigCertSecret {
1871
+ /**
1872
+ * The key of the secret to select from. Must be a valid secret key.
1873
+ *
1874
+ * @schema ServiceMonitorSpecEndpointsTlsConfigCertSecret#key
1875
+ */
1876
+ readonly key: string;
1877
+ /**
1878
+ * Name of the referent.
1879
+ * This field is effectively required, but due to backwards compatibility is
1880
+ * allowed to be empty. Instances of this type with an empty value here are
1881
+ * almost certainly wrong.
1882
+ * More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
1883
+ *
1884
+ * @schema ServiceMonitorSpecEndpointsTlsConfigCertSecret#name
1885
+ */
1886
+ readonly name?: string;
1887
+ /**
1888
+ * Specify whether the Secret or its key must be defined
1889
+ *
1890
+ * @schema ServiceMonitorSpecEndpointsTlsConfigCertSecret#optional
1891
+ */
1892
+ readonly optional?: boolean;
1893
+ }
1894
+ /**
1895
+ * Converts an object of type 'ServiceMonitorSpecEndpointsTlsConfigCertSecret' to JSON representation.
1896
+ */
1897
+ export declare function toJson_ServiceMonitorSpecEndpointsTlsConfigCertSecret(obj: ServiceMonitorSpecEndpointsTlsConfigCertSecret | undefined): Record<string, any> | undefined;
1898
+ /**
1899
+ * configMap defines the ConfigMap containing data to use for the targets.
1900
+ *
1901
+ * @schema ServiceMonitorSpecEndpointsOauth2TlsConfigCaConfigMap
1902
+ */
1903
+ export interface ServiceMonitorSpecEndpointsOauth2TlsConfigCaConfigMap {
1904
+ /**
1905
+ * The key to select.
1906
+ *
1907
+ * @schema ServiceMonitorSpecEndpointsOauth2TlsConfigCaConfigMap#key
1908
+ */
1909
+ readonly key: string;
1910
+ /**
1911
+ * Name of the referent.
1912
+ * This field is effectively required, but due to backwards compatibility is
1913
+ * allowed to be empty. Instances of this type with an empty value here are
1914
+ * almost certainly wrong.
1915
+ * More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
1916
+ *
1917
+ * @schema ServiceMonitorSpecEndpointsOauth2TlsConfigCaConfigMap#name
1918
+ */
1919
+ readonly name?: string;
1920
+ /**
1921
+ * Specify whether the ConfigMap or its key must be defined
1922
+ *
1923
+ * @schema ServiceMonitorSpecEndpointsOauth2TlsConfigCaConfigMap#optional
1924
+ */
1925
+ readonly optional?: boolean;
1926
+ }
1927
+ /**
1928
+ * Converts an object of type 'ServiceMonitorSpecEndpointsOauth2TlsConfigCaConfigMap' to JSON representation.
1929
+ */
1930
+ export declare function toJson_ServiceMonitorSpecEndpointsOauth2TlsConfigCaConfigMap(obj: ServiceMonitorSpecEndpointsOauth2TlsConfigCaConfigMap | undefined): Record<string, any> | undefined;
1931
+ /**
1932
+ * secret defines the Secret containing data to use for the targets.
1933
+ *
1934
+ * @schema ServiceMonitorSpecEndpointsOauth2TlsConfigCaSecret
1935
+ */
1936
+ export interface ServiceMonitorSpecEndpointsOauth2TlsConfigCaSecret {
1937
+ /**
1938
+ * The key of the secret to select from. Must be a valid secret key.
1939
+ *
1940
+ * @schema ServiceMonitorSpecEndpointsOauth2TlsConfigCaSecret#key
1941
+ */
1942
+ readonly key: string;
1943
+ /**
1944
+ * Name of the referent.
1945
+ * This field is effectively required, but due to backwards compatibility is
1946
+ * allowed to be empty. Instances of this type with an empty value here are
1947
+ * almost certainly wrong.
1948
+ * More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
1949
+ *
1950
+ * @schema ServiceMonitorSpecEndpointsOauth2TlsConfigCaSecret#name
1951
+ */
1952
+ readonly name?: string;
1953
+ /**
1954
+ * Specify whether the Secret or its key must be defined
1955
+ *
1956
+ * @schema ServiceMonitorSpecEndpointsOauth2TlsConfigCaSecret#optional
1957
+ */
1958
+ readonly optional?: boolean;
1959
+ }
1960
+ /**
1961
+ * Converts an object of type 'ServiceMonitorSpecEndpointsOauth2TlsConfigCaSecret' to JSON representation.
1962
+ */
1963
+ export declare function toJson_ServiceMonitorSpecEndpointsOauth2TlsConfigCaSecret(obj: ServiceMonitorSpecEndpointsOauth2TlsConfigCaSecret | undefined): Record<string, any> | undefined;
1964
+ /**
1965
+ * configMap defines the ConfigMap containing data to use for the targets.
1966
+ *
1967
+ * @schema ServiceMonitorSpecEndpointsOauth2TlsConfigCertConfigMap
1968
+ */
1969
+ export interface ServiceMonitorSpecEndpointsOauth2TlsConfigCertConfigMap {
1970
+ /**
1971
+ * The key to select.
1972
+ *
1973
+ * @schema ServiceMonitorSpecEndpointsOauth2TlsConfigCertConfigMap#key
1974
+ */
1975
+ readonly key: string;
1976
+ /**
1977
+ * Name of the referent.
1978
+ * This field is effectively required, but due to backwards compatibility is
1979
+ * allowed to be empty. Instances of this type with an empty value here are
1980
+ * almost certainly wrong.
1981
+ * More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
1982
+ *
1983
+ * @schema ServiceMonitorSpecEndpointsOauth2TlsConfigCertConfigMap#name
1984
+ */
1985
+ readonly name?: string;
1986
+ /**
1987
+ * Specify whether the ConfigMap or its key must be defined
1988
+ *
1989
+ * @schema ServiceMonitorSpecEndpointsOauth2TlsConfigCertConfigMap#optional
1990
+ */
1991
+ readonly optional?: boolean;
1992
+ }
1993
+ /**
1994
+ * Converts an object of type 'ServiceMonitorSpecEndpointsOauth2TlsConfigCertConfigMap' to JSON representation.
1995
+ */
1996
+ export declare function toJson_ServiceMonitorSpecEndpointsOauth2TlsConfigCertConfigMap(obj: ServiceMonitorSpecEndpointsOauth2TlsConfigCertConfigMap | undefined): Record<string, any> | undefined;
1997
+ /**
1998
+ * secret defines the Secret containing data to use for the targets.
1999
+ *
2000
+ * @schema ServiceMonitorSpecEndpointsOauth2TlsConfigCertSecret
2001
+ */
2002
+ export interface ServiceMonitorSpecEndpointsOauth2TlsConfigCertSecret {
2003
+ /**
2004
+ * The key of the secret to select from. Must be a valid secret key.
2005
+ *
2006
+ * @schema ServiceMonitorSpecEndpointsOauth2TlsConfigCertSecret#key
2007
+ */
2008
+ readonly key: string;
2009
+ /**
2010
+ * Name of the referent.
2011
+ * This field is effectively required, but due to backwards compatibility is
2012
+ * allowed to be empty. Instances of this type with an empty value here are
2013
+ * almost certainly wrong.
2014
+ * More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
2015
+ *
2016
+ * @schema ServiceMonitorSpecEndpointsOauth2TlsConfigCertSecret#name
2017
+ */
2018
+ readonly name?: string;
2019
+ /**
2020
+ * Specify whether the Secret or its key must be defined
2021
+ *
2022
+ * @schema ServiceMonitorSpecEndpointsOauth2TlsConfigCertSecret#optional
2023
+ */
2024
+ readonly optional?: boolean;
2025
+ }
2026
+ /**
2027
+ * Converts an object of type 'ServiceMonitorSpecEndpointsOauth2TlsConfigCertSecret' to JSON representation.
2028
+ */
2029
+ export declare function toJson_ServiceMonitorSpecEndpointsOauth2TlsConfigCertSecret(obj: ServiceMonitorSpecEndpointsOauth2TlsConfigCertSecret | undefined): Record<string, any> | undefined;