aboutsummaryrefslogtreecommitdiffstats
path: root/vnfs/DAaaS/deploy/operator/charts/prometheus-operator/templates/prometheus-operator/crd-servicemonitor.yaml
blob: ac0a633bc0cd26f94cec4626eed87b537ce85b39 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
{{- if and .Release.IsInstall .Values.prometheusOperator.enabled .Values.prometheusOperator.createCustomResource -}}
# Source: https://github.com/coreos/prometheus-operator/blob/master/contrib/kube-prometheus/manifests/0prometheus-operator-0servicemonitorCustomResourceDefinition.yaml
apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
metadata:
  creationTimestamp: null
  name: {{ printf "servicemonitors.%s" (.Values.prometheusOperator.crdApiGroup | default "monitoring.coreos.com") }}
  labels:
    app: {{ template "prometheus-operator.name" . }}-operator
{{ include "prometheus-operator.labels" . | indent 4 }}
  annotations:
    "helm.sh/hook": crd-install
    "helm.sh/hook-delete-policy": "before-hook-creation"
spec:
  additionalPrinterColumns:
  - JSONPath: .metadata.creationTimestamp
    description: |-
      CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC.

      Populated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
    name: Age
    type: date
  group: {{ .Values.prometheusOperator.crdApiGroup | default "monitoring.coreos.com" }}
  names:
    kind: ServiceMonitor
    listKind: ServiceMonitorList
    plural: servicemonitors
    singular: servicemonitor
  scope: Namespaced
  validation:
    openAPIV3Schema:
      properties:
        apiVersion:
          description: 'APIVersion defines the versioned schema of this representation
            of an object. Servers should convert recognized schemas to the latest
            internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources'
          type: string
        kind:
          description: 'Kind is a string value representing the REST resource this
            object represents. Servers may infer this from the endpoint the client
            submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds'
          type: string
        spec:
          description: ServiceMonitorSpec contains specification parameters for a
            ServiceMonitor.
          properties:
            endpoints:
              description: A list of endpoints allowed as part of this ServiceMonitor.
              items:
                description: Endpoint defines a scrapeable endpoint serving Prometheus
                  metrics.
                properties:
                  basicAuth:
                    description: 'BasicAuth allow an endpoint to authenticate over
                      basic authentication More info: https://prometheus.io/docs/operating/configuration/#endpoints'
                    properties:
                      password:
                        description: SecretKeySelector selects a key of a Secret.
                        properties:
                          key:
                            description: The key of the secret to select from.  Must
                              be a valid secret key.
                            type: string
                          name:
                            description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
                            type: string
                          optional:
                            description: Specify whether the Secret or it's key must
                              be defined
                            type: boolean
                        required:
                        - key
                      username:
                        description: SecretKeySelector selects a key of a Secret.
                        properties:
                          key:
                            description: The key of the secret to select from.  Must
                              be a valid secret key.
                            type: string
                          name:
                            description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
                            type: string
                          optional:
                            description: Specify whether the Secret or it's key must
                              be defined
                            type: boolean
                        required:
                        - key
                  bearerTokenFile:
                    description: File to read bearer token for scraping targets.
                    type: string
                  honorLabels:
                    description: HonorLabels chooses the metric's labels on collisions
                      with target labels.
                    type: boolean
                  interval:
                    description: Interval at which metrics should be scraped
                    type: string
                  metricRelabelings:
                    description: MetricRelabelConfigs to apply to samples before ingestion.
                    items:
                      description: 'RelabelConfig allows dynamic rewriting of the
                        label set, being applied to samples before ingestion. It defines
                        `<metric_relabel_configs>`-section of Prometheus configuration.
                        More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs'
                      properties:
                        action:
                          description: Action to perform based on regex matching.
                            Default is 'replace'
                          type: string
                        modulus:
                          description: Modulus to take of the hash of the source label
                            values.
                          format: int64
                          type: integer
                        regex:
                          description: Regular expression against which the extracted
                            value is matched. defailt is '(.*)'
                          type: string
                        replacement:
                          description: Replacement value against which a regex replace
                            is performed if the regular expression matches. Regex
                            capture groups are available. Default is '$1'
                          type: string
                        separator:
                          description: Separator placed between concatenated source
                            label values. default is ';'.
                          type: string
                        sourceLabels:
                          description: The source labels select values from existing
                            labels. Their content is concatenated using the configured
                            separator and matched against the configured regular expression
                            for the replace, keep, and drop actions.
                          items:
                            type: string
                          type: array
                        targetLabel:
                          description: Label to which the resulting value is written
                            in a replace action. It is mandatory for replace actions.
                            Regex capture groups are available.
                          type: string
                    type: array
                  params:
                    description: Optional HTTP URL parameters
                    type: object
                  path:
                    description: HTTP path to scrape for metrics.
                    type: string
                  port:
                    description: Name of the service port this endpoint refers to.
                      Mutually exclusive with targetPort.
                    type: string
                  proxyUrl:
                    description: ProxyURL eg http://proxyserver:2195 Directs scrapes
                      to proxy through this endpoint.
                    type: string
                  relabelings:
                    description: 'RelabelConfigs to apply to samples before ingestion.
                      More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#<relabel_config>'
                    items:
                      description: 'RelabelConfig allows dynamic rewriting of the
                        label set, being applied to samples before ingestion. It defines
                        `<metric_relabel_configs>`-section of Prometheus configuration.
                        More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs'
                      properties:
                        action:
                          description: Action to perform based on regex matching.
                            Default is 'replace'
                          type: string
                        modulus:
                          description: Modulus to take of the hash of the source label
                            values.
                          format: int64
                          type: integer
                        regex:
                          description: Regular expression against which the extracted
                            value is matched. default is '(.*)'
                          type: string
                        replacement:
                          description: Replacement value against which a regex replace
                            is performed if the regular expression matches. Regex
                            capture groups are available. Default is '$1'
                          type: string
                        separator:
                          description: Separator placed between concatenated source
                            label values. default is ';'.
                          type: string
                        sourceLabels:
                          description: The source labels select values from existing
                            labels. Their content is concatenated using the configured
                            separator and matched against the configured regular expression
                            for the replace, keep, and drop actions.
                          items:
                            type: string
                          type: array
                        targetLabel:
                          description: Label to which the resulting value is written
                            in a replace action. It is mandatory for replace actions.
                            Regex capture groups are available.
                          type: string
                    type: array
                  scheme:
                    description: HTTP scheme to use for scraping.
                    type: string
                  scrapeTimeout:
                    description: Timeout after which the scrape is ended
                    type: string
                  targetPort:
                    anyOf:
                    - type: string
                    - type: integer
                  tlsConfig:
                    description: TLSConfig specifies TLS configuration parameters.
                    properties:
                      caFile:
                        description: The CA cert to use for the targets.
                        type: string
                      certFile:
                        description: The client cert file for the targets.
                        type: string
                      insecureSkipVerify:
                        description: Disable target certificate validation.
                        type: boolean
                      keyFile:
                        description: The client key file for the targets.
                        type: string
                      serverName:
                        description: Used to verify the hostname for the targets.
                        type: string
              type: array
            jobLabel:
              description: The label to use to retrieve the job name from.
              type: string
            namespaceSelector:
              description: NamespaceSelector is a selector for selecting either all
                namespaces or a list of namespaces.
              properties:
                any:
                  description: Boolean describing whether all namespaces are selected
                    in contrast to a list restricting them.
                  type: boolean
                matchNames:
                  description: List of namespace names.
                  items:
                    type: string
                  type: array
            podTargetLabels:
              description: PodTargetLabels transfers labels on the Kubernetes Pod
                onto the target.
              items:
                type: string
              type: array
            sampleLimit:
              description: SampleLimit defines per-scrape limit on number of scraped
                samples that will be accepted.
              format: int64
              type: integer
            selector:
              description: A label selector is a label query over a set of resources.
                The result of matchLabels and matchExpressions are ANDed. An empty
                label selector matches all objects. A null label selector matches
                no objects.
              properties:
                matchExpressions:
                  description: matchExpressions is a list of label selector requirements.
                    The requirements are ANDed.
                  items:
                    description: A label selector requirement is a selector that contains
                      values, a key, and an operator that relates the key and values.
                    properties:
                      key:
                        description: key is the label key that the selector applies
                          to.
                        type: string
                      operator:
                        description: operator represents a key's relationship to a
                          set of values. Valid operators are In, NotIn, Exists and
                          DoesNotExist.
                        type: string
                      values:
                        description: values is an array of string values. If the operator
                          is In or NotIn, the values array must be non-empty. If the
                          operator is Exists or DoesNotExist, the values array must
                          be empty. This array is replaced during a strategic merge
                          patch.
                        items:
                          type: string
                        type: array
                    required:
                    - key
                    - operator
                  type: array
                matchLabels:
                  description: matchLabels is a map of {key,value} pairs. A single
                    {key,value} in the matchLabels map is equivalent to an element
                    of matchExpressions, whose key field is "key", the operator is
                    "In", and the values array contains only "value". The requirements
                    are ANDed.
                  type: object
            targetLabels:
              description: TargetLabels transfers labels on the Kubernetes Service
                onto the target.
              items:
                type: string
              type: array
          required:
          - endpoints
          - selector
  version: v1
{{- end }}