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