...

Text file src/edge-infra.dev/test/fixtures/crds/prometheus-operator/monitoring.coreos.com_probes.yaml

Documentation: edge-infra.dev/test/fixtures/crds/prometheus-operator

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

View as plain text