monitoring.coreos.com_probes.yaml
1 --- 2 apiVersion: apiextensions.k8s.io/v1 3 kind: CustomResourceDefinition 4 metadata: 5 annotations: 6 controller-gen.kubebuilder.io/version: v0.9.2 7 creationTimestamp: null 8 name: probes.monitoring.coreos.com 9 spec: 10 group: monitoring.coreos.com 11 names: 12 categories: 13 - prometheus-operator 14 kind: Probe 15 listKind: ProbeList 16 plural: probes 17 shortNames: 18 - prb 19 singular: probe 20 scope: Namespaced 21 versions: 22 - name: v1 23 schema: 24 openAPIV3Schema: 25 description: Probe defines monitoring for a set of static targets or ingresses. 26 properties: 27 apiVersion: 28 description: 'APIVersion defines the versioned schema of this representation 29 of an object. Servers should convert recognized schemas to the latest 30 internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' 31 type: string 32 kind: 33 description: 'Kind is a string value representing the REST resource this 34 object represents. Servers may infer this from the endpoint the client 35 submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 36 type: string 37 metadata: 38 type: object 39 spec: 40 description: Specification of desired Ingress selection for target discovery 41 by Prometheus. 42 properties: 43 authorization: 44 description: Authorization section for this endpoint 45 properties: 46 credentials: 47 description: The secret's key that contains the credentials of 48 the request 49 properties: 50 key: 51 description: The key of the secret to select from. Must be 52 a valid secret key. 53 type: string 54 name: 55 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 56 TODO: Add other useful fields. apiVersion, kind, uid?' 57 type: string 58 optional: 59 description: Specify whether the Secret or its key must be 60 defined 61 type: boolean 62 required: 63 - key 64 type: object 65 x-kubernetes-map-type: atomic 66 type: 67 description: Set the authentication type. Defaults to Bearer, 68 Basic will cause an error 69 type: string 70 type: object 71 basicAuth: 72 description: 'BasicAuth allow an endpoint to authenticate over basic 73 authentication. More info: https://prometheus.io/docs/operating/configuration/#endpoint' 74 properties: 75 password: 76 description: The secret in the service monitor namespace that 77 contains the password for authentication. 78 properties: 79 key: 80 description: The key of the secret to select from. Must be 81 a valid secret key. 82 type: string 83 name: 84 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 85 TODO: Add other useful fields. apiVersion, kind, uid?' 86 type: string 87 optional: 88 description: Specify whether the Secret or its key must be 89 defined 90 type: boolean 91 required: 92 - key 93 type: object 94 x-kubernetes-map-type: atomic 95 username: 96 description: The secret in the service monitor namespace that 97 contains the username for authentication. 98 properties: 99 key: 100 description: The key of the secret to select from. Must be 101 a valid secret key. 102 type: string 103 name: 104 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 105 TODO: Add other useful fields. apiVersion, kind, uid?' 106 type: string 107 optional: 108 description: Specify whether the Secret or its key must be 109 defined 110 type: boolean 111 required: 112 - key 113 type: object 114 x-kubernetes-map-type: atomic 115 type: object 116 bearerTokenSecret: 117 description: Secret to mount to read bearer token for scraping targets. 118 The secret needs to be in the same namespace as the probe and accessible 119 by the Prometheus Operator. 120 properties: 121 key: 122 description: The key of the secret to select from. Must be a 123 valid secret key. 124 type: string 125 name: 126 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 127 TODO: Add other useful fields. apiVersion, kind, uid?' 128 type: string 129 optional: 130 description: Specify whether the Secret or its key must be defined 131 type: boolean 132 required: 133 - key 134 type: object 135 x-kubernetes-map-type: atomic 136 interval: 137 description: Interval at which targets are probed using the configured 138 prober. If not specified Prometheus' global scrape interval is used. 139 pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$ 140 type: string 141 jobName: 142 description: The job name assigned to scraped metrics by default. 143 type: string 144 labelLimit: 145 description: Per-scrape limit on number of labels that will be accepted 146 for a sample. Only valid in Prometheus versions 2.27.0 and newer. 147 format: int64 148 type: integer 149 labelNameLengthLimit: 150 description: Per-scrape limit on length of labels name that will be 151 accepted for a sample. Only valid in Prometheus versions 2.27.0 152 and newer. 153 format: int64 154 type: integer 155 labelValueLengthLimit: 156 description: Per-scrape limit on length of labels value that will 157 be accepted for a sample. Only valid in Prometheus versions 2.27.0 158 and newer. 159 format: int64 160 type: integer 161 metricRelabelings: 162 description: MetricRelabelConfigs to apply to samples before ingestion. 163 items: 164 description: 'RelabelConfig allows dynamic rewriting of the label 165 set, being applied to samples before ingestion. It defines `<metric_relabel_configs>`-section 166 of Prometheus configuration. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs' 167 properties: 168 action: 169 default: replace 170 description: Action to perform based on regex matching. Default 171 is 'replace'. uppercase and lowercase actions require Prometheus 172 >= 2.36. 173 enum: 174 - replace 175 - Replace 176 - keep 177 - Keep 178 - drop 179 - Drop 180 - hashmod 181 - HashMod 182 - labelmap 183 - LabelMap 184 - labeldrop 185 - LabelDrop 186 - labelkeep 187 - LabelKeep 188 - lowercase 189 - Lowercase 190 - uppercase 191 - Uppercase 192 - keepequal 193 - KeepEqual 194 - dropequal 195 - DropEqual 196 type: string 197 modulus: 198 description: Modulus to take of the hash of the source label 199 values. 200 format: int64 201 type: integer 202 regex: 203 description: Regular expression against which the extracted 204 value is matched. Default is '(.*)' 205 type: string 206 replacement: 207 description: Replacement value against which a regex replace 208 is performed if the regular expression matches. Regex capture 209 groups are available. Default is '$1' 210 type: string 211 separator: 212 description: Separator placed between concatenated source label 213 values. default is ';'. 214 type: string 215 sourceLabels: 216 description: The source labels select values from existing labels. 217 Their content is concatenated using the configured separator 218 and matched against the configured regular expression for 219 the replace, keep, and drop actions. 220 items: 221 description: LabelName is a valid Prometheus label name which 222 may only contain ASCII letters, numbers, as well as underscores. 223 pattern: ^[a-zA-Z_][a-zA-Z0-9_]*$ 224 type: string 225 type: array 226 targetLabel: 227 description: Label to which the resulting value is written in 228 a replace action. It is mandatory for replace actions. Regex 229 capture groups are available. 230 type: string 231 type: object 232 type: array 233 module: 234 description: 'The module to use for probing specifying how to probe 235 the target. Example module configuring in the blackbox exporter: 236 https://github.com/prometheus/blackbox_exporter/blob/master/example.yml' 237 type: string 238 oauth2: 239 description: OAuth2 for the URL. Only valid in Prometheus versions 240 2.27.0 and newer. 241 properties: 242 clientId: 243 description: The secret or configmap containing the OAuth2 client 244 id 245 properties: 246 configMap: 247 description: ConfigMap containing data to use for the targets. 248 properties: 249 key: 250 description: The key to select. 251 type: string 252 name: 253 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 254 TODO: Add other useful fields. apiVersion, kind, uid?' 255 type: string 256 optional: 257 description: Specify whether the ConfigMap or its key 258 must be defined 259 type: boolean 260 required: 261 - key 262 type: object 263 x-kubernetes-map-type: atomic 264 secret: 265 description: Secret containing data to use for the targets. 266 properties: 267 key: 268 description: The key of the secret to select from. Must 269 be a valid secret key. 270 type: string 271 name: 272 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 273 TODO: Add other useful fields. apiVersion, kind, uid?' 274 type: string 275 optional: 276 description: Specify whether the Secret or its key must 277 be defined 278 type: boolean 279 required: 280 - key 281 type: object 282 x-kubernetes-map-type: atomic 283 type: object 284 clientSecret: 285 description: The secret containing the OAuth2 client secret 286 properties: 287 key: 288 description: The key of the secret to select from. Must be 289 a valid secret key. 290 type: string 291 name: 292 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 293 TODO: Add other useful fields. apiVersion, kind, uid?' 294 type: string 295 optional: 296 description: Specify whether the Secret or its key must be 297 defined 298 type: boolean 299 required: 300 - key 301 type: object 302 x-kubernetes-map-type: atomic 303 endpointParams: 304 additionalProperties: 305 type: string 306 description: Parameters to append to the token URL 307 type: object 308 scopes: 309 description: OAuth2 scopes used for the token request 310 items: 311 type: string 312 type: array 313 tokenUrl: 314 description: The URL to fetch the token from 315 minLength: 1 316 type: string 317 required: 318 - clientId 319 - clientSecret 320 - tokenUrl 321 type: object 322 prober: 323 description: Specification for the prober to use for probing targets. 324 The prober.URL parameter is required. Targets cannot be probed if 325 left empty. 326 properties: 327 path: 328 default: /probe 329 description: Path to collect metrics from. Defaults to `/probe`. 330 type: string 331 proxyUrl: 332 description: Optional ProxyURL. 333 type: string 334 scheme: 335 description: HTTP scheme to use for scraping. `http` and `https` 336 are the expected values unless you rewrite the `__scheme__` 337 label via relabeling. If empty, Prometheus uses the default 338 value `http`. 339 enum: 340 - http 341 - https 342 type: string 343 url: 344 description: Mandatory URL of the prober. 345 type: string 346 required: 347 - url 348 type: object 349 sampleLimit: 350 description: SampleLimit defines per-scrape limit on number of scraped 351 samples that will be accepted. 352 format: int64 353 type: integer 354 scrapeTimeout: 355 description: Timeout for scraping metrics from the Prometheus exporter. 356 If not specified, the Prometheus global scrape timeout is used. 357 pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$ 358 type: string 359 targetLimit: 360 description: TargetLimit defines a limit on the number of scraped 361 targets that will be accepted. 362 format: int64 363 type: integer 364 targets: 365 description: Targets defines a set of static or dynamically discovered 366 targets to probe. 367 properties: 368 ingress: 369 description: ingress defines the Ingress objects to probe and 370 the relabeling configuration. If `staticConfig` is also defined, 371 `staticConfig` takes precedence. 372 properties: 373 namespaceSelector: 374 description: From which namespaces to select Ingress objects. 375 properties: 376 any: 377 description: Boolean describing whether all namespaces 378 are selected in contrast to a list restricting them. 379 type: boolean 380 matchNames: 381 description: List of namespace names to select from. 382 items: 383 type: string 384 type: array 385 type: object 386 relabelingConfigs: 387 description: 'RelabelConfigs to apply to the label set of 388 the target before it gets scraped. The original ingress 389 address is available via the `__tmp_prometheus_ingress_address` 390 label. It can be used to customize the probed URL. The original 391 scrape job''s name is available via the `__tmp_prometheus_job_name` 392 label. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config' 393 items: 394 description: 'RelabelConfig allows dynamic rewriting of 395 the label set, being applied to samples before ingestion. 396 It defines `<metric_relabel_configs>`-section of Prometheus 397 configuration. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs' 398 properties: 399 action: 400 default: replace 401 description: Action to perform based on regex matching. 402 Default is 'replace'. uppercase and lowercase actions 403 require Prometheus >= 2.36. 404 enum: 405 - replace 406 - Replace 407 - keep 408 - Keep 409 - drop 410 - Drop 411 - hashmod 412 - HashMod 413 - labelmap 414 - LabelMap 415 - labeldrop 416 - LabelDrop 417 - labelkeep 418 - LabelKeep 419 - lowercase 420 - Lowercase 421 - uppercase 422 - Uppercase 423 - keepequal 424 - KeepEqual 425 - dropequal 426 - DropEqual 427 type: string 428 modulus: 429 description: Modulus to take of the hash of the source 430 label values. 431 format: int64 432 type: integer 433 regex: 434 description: Regular expression against which the extracted 435 value is matched. Default is '(.*)' 436 type: string 437 replacement: 438 description: Replacement value against which a regex 439 replace is performed if the regular expression matches. 440 Regex capture groups are available. Default is '$1' 441 type: string 442 separator: 443 description: Separator placed between concatenated source 444 label values. default is ';'. 445 type: string 446 sourceLabels: 447 description: The source labels select values from existing 448 labels. Their content is concatenated using the configured 449 separator and matched against the configured regular 450 expression for the replace, keep, and drop actions. 451 items: 452 description: LabelName is a valid Prometheus label 453 name which may only contain ASCII letters, numbers, 454 as well as underscores. 455 pattern: ^[a-zA-Z_][a-zA-Z0-9_]*$ 456 type: string 457 type: array 458 targetLabel: 459 description: Label to which the resulting value is written 460 in a replace action. It is mandatory for replace actions. 461 Regex capture groups are available. 462 type: string 463 type: object 464 type: array 465 selector: 466 description: Selector to select the Ingress objects. 467 properties: 468 matchExpressions: 469 description: matchExpressions is a list of label selector 470 requirements. The requirements are ANDed. 471 items: 472 description: A label selector requirement is a selector 473 that contains values, a key, and an operator that 474 relates the key and values. 475 properties: 476 key: 477 description: key is the label key that the selector 478 applies to. 479 type: string 480 operator: 481 description: operator represents a key's relationship 482 to a set of values. Valid operators are In, NotIn, 483 Exists and DoesNotExist. 484 type: string 485 values: 486 description: values is an array of string values. 487 If the operator is In or NotIn, the values array 488 must be non-empty. If the operator is Exists or 489 DoesNotExist, the values array must be empty. 490 This array is replaced during a strategic merge 491 patch. 492 items: 493 type: string 494 type: array 495 required: 496 - key 497 - operator 498 type: object 499 type: array 500 matchLabels: 501 additionalProperties: 502 type: string 503 description: matchLabels is a map of {key,value} pairs. 504 A single {key,value} in the matchLabels map is equivalent 505 to an element of matchExpressions, whose key field is 506 "key", the operator is "In", and the values array contains 507 only "value". The requirements are ANDed. 508 type: object 509 type: object 510 x-kubernetes-map-type: atomic 511 type: object 512 staticConfig: 513 description: 'staticConfig defines the static list of targets 514 to probe and the relabeling configuration. If `ingress` is also 515 defined, `staticConfig` takes precedence. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#static_config.' 516 properties: 517 labels: 518 additionalProperties: 519 type: string 520 description: Labels assigned to all metrics scraped from the 521 targets. 522 type: object 523 relabelingConfigs: 524 description: 'RelabelConfigs to apply to the label set of 525 the targets before it gets scraped. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config' 526 items: 527 description: 'RelabelConfig allows dynamic rewriting of 528 the label set, being applied to samples before ingestion. 529 It defines `<metric_relabel_configs>`-section of Prometheus 530 configuration. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs' 531 properties: 532 action: 533 default: replace 534 description: Action to perform based on regex matching. 535 Default is 'replace'. uppercase and lowercase actions 536 require Prometheus >= 2.36. 537 enum: 538 - replace 539 - Replace 540 - keep 541 - Keep 542 - drop 543 - Drop 544 - hashmod 545 - HashMod 546 - labelmap 547 - LabelMap 548 - labeldrop 549 - LabelDrop 550 - labelkeep 551 - LabelKeep 552 - lowercase 553 - Lowercase 554 - uppercase 555 - Uppercase 556 - keepequal 557 - KeepEqual 558 - dropequal 559 - DropEqual 560 type: string 561 modulus: 562 description: Modulus to take of the hash of the source 563 label values. 564 format: int64 565 type: integer 566 regex: 567 description: Regular expression against which the extracted 568 value is matched. Default is '(.*)' 569 type: string 570 replacement: 571 description: Replacement value against which a regex 572 replace is performed if the regular expression matches. 573 Regex capture groups are available. Default is '$1' 574 type: string 575 separator: 576 description: Separator placed between concatenated source 577 label values. default is ';'. 578 type: string 579 sourceLabels: 580 description: The source labels select values from existing 581 labels. Their content is concatenated using the configured 582 separator and matched against the configured regular 583 expression for the replace, keep, and drop actions. 584 items: 585 description: LabelName is a valid Prometheus label 586 name which may only contain ASCII letters, numbers, 587 as well as underscores. 588 pattern: ^[a-zA-Z_][a-zA-Z0-9_]*$ 589 type: string 590 type: array 591 targetLabel: 592 description: Label to which the resulting value is written 593 in a replace action. It is mandatory for replace actions. 594 Regex capture groups are available. 595 type: string 596 type: object 597 type: array 598 static: 599 description: The list of hosts to probe. 600 items: 601 type: string 602 type: array 603 type: object 604 type: object 605 tlsConfig: 606 description: TLS configuration to use when scraping the endpoint. 607 properties: 608 ca: 609 description: Certificate authority used when verifying server 610 certificates. 611 properties: 612 configMap: 613 description: ConfigMap containing data to use for the targets. 614 properties: 615 key: 616 description: The key to select. 617 type: string 618 name: 619 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 620 TODO: Add other useful fields. apiVersion, kind, uid?' 621 type: string 622 optional: 623 description: Specify whether the ConfigMap or its key 624 must be defined 625 type: boolean 626 required: 627 - key 628 type: object 629 x-kubernetes-map-type: atomic 630 secret: 631 description: Secret containing data to use for the targets. 632 properties: 633 key: 634 description: The key of the secret to select from. Must 635 be a valid secret key. 636 type: string 637 name: 638 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 639 TODO: Add other useful fields. apiVersion, kind, uid?' 640 type: string 641 optional: 642 description: Specify whether the Secret or its key must 643 be defined 644 type: boolean 645 required: 646 - key 647 type: object 648 x-kubernetes-map-type: atomic 649 type: object 650 cert: 651 description: Client certificate to present when doing client-authentication. 652 properties: 653 configMap: 654 description: ConfigMap containing data to use for the targets. 655 properties: 656 key: 657 description: The key to select. 658 type: string 659 name: 660 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 661 TODO: Add other useful fields. apiVersion, kind, uid?' 662 type: string 663 optional: 664 description: Specify whether the ConfigMap or its key 665 must be defined 666 type: boolean 667 required: 668 - key 669 type: object 670 x-kubernetes-map-type: atomic 671 secret: 672 description: Secret containing data to use for the targets. 673 properties: 674 key: 675 description: The key of the secret to select from. Must 676 be a valid secret key. 677 type: string 678 name: 679 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 680 TODO: Add other useful fields. apiVersion, kind, uid?' 681 type: string 682 optional: 683 description: Specify whether the Secret or its key must 684 be defined 685 type: boolean 686 required: 687 - key 688 type: object 689 x-kubernetes-map-type: atomic 690 type: object 691 insecureSkipVerify: 692 description: Disable target certificate validation. 693 type: boolean 694 keySecret: 695 description: Secret containing the client key file for the targets. 696 properties: 697 key: 698 description: The key of the secret to select from. Must be 699 a valid secret key. 700 type: string 701 name: 702 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 703 TODO: Add other useful fields. apiVersion, kind, uid?' 704 type: string 705 optional: 706 description: Specify whether the Secret or its key must be 707 defined 708 type: boolean 709 required: 710 - key 711 type: object 712 x-kubernetes-map-type: atomic 713 serverName: 714 description: Used to verify the hostname for the targets. 715 type: string 716 type: object 717 type: object 718 required: 719 - spec 720 type: object 721 served: true 722 storage: true