/ abyss / crds / monitoring.coreos.com_probes.yaml
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