Refactor Distributed Analytics project structure
[demo.git] / vnfs / DAaaS / deploy / operator / charts / prometheus-operator / templates / prometheus-operator / crd-prometheus.yaml
1 {{- if and .Release.IsInstall .Values.prometheusOperator.enabled .Values.prometheusOperator.createCustomResource -}}
2 # Source https://github.com/coreos/prometheus-operator/blob/master/contrib/kube-prometheus/manifests/0prometheus-operator-0prometheusCustomResourceDefinition.yaml
3 apiVersion: apiextensions.k8s.io/v1beta1
4 kind: CustomResourceDefinition
5 metadata:
6   creationTimestamp: null
7   name: {{ printf "prometheuses.%s" (.Values.prometheusOperator.crdApiGroup | default "monitoring.coreos.com") }}
8   labels:
9     app: {{ template "prometheus-operator.name" . }}-operator
10 {{ include "prometheus-operator.labels" . | indent 4 }}
11   annotations:
12     "helm.sh/hook": crd-install
13     "helm.sh/hook-delete-policy": "before-hook-creation"
14 spec:
15   group: {{ .Values.prometheusOperator.crdApiGroup | default "monitoring.coreos.com" }}
16   names:
17     kind: Prometheus
18     plural: prometheuses
19   scope: Namespaced
20   validation:
21     openAPIV3Schema:
22       properties:
23         apiVersion:
24           description: 'APIVersion defines the versioned schema of this representation
25             of an object. Servers should convert recognized schemas to the latest
26             internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources'
27           type: string
28         kind:
29           description: 'Kind is a string value representing the REST resource this
30             object represents. Servers may infer this from the endpoint the client
31             submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds'
32           type: string
33         spec:
34           description: 'PrometheusSpec is a specification of the desired behavior
35             of the Prometheus cluster. More info: https://github.com/kubernetes/community/blob/master/contributors/devel/api-conventions.md#spec-and-status'
36           properties:
37             additionalAlertManagerConfigs:
38               description: SecretKeySelector selects a key of a Secret.
39               properties:
40                 key:
41                   description: The key of the secret to select from.  Must be a valid
42                     secret key.
43                   type: string
44                 name:
45                   description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
46                   type: string
47                 optional:
48                   description: Specify whether the Secret or it's key must be defined
49                   type: boolean
50               required:
51               - key
52             additionalAlertRelabelConfigs:
53               description: SecretKeySelector selects a key of a Secret.
54               properties:
55                 key:
56                   description: The key of the secret to select from.  Must be a valid
57                     secret key.
58                   type: string
59                 name:
60                   description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
61                   type: string
62                 optional:
63                   description: Specify whether the Secret or it's key must be defined
64                   type: boolean
65               required:
66               - key
67             additionalScrapeConfigs:
68               description: SecretKeySelector selects a key of a Secret.
69               properties:
70                 key:
71                   description: The key of the secret to select from.  Must be a valid
72                     secret key.
73                   type: string
74                 name:
75                   description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
76                   type: string
77                 optional:
78                   description: Specify whether the Secret or it's key must be defined
79                   type: boolean
80               required:
81               - key
82             affinity:
83               description: Affinity is a group of affinity scheduling rules.
84               properties:
85                 nodeAffinity:
86                   description: Node affinity is a group of node affinity scheduling
87                     rules.
88                   properties:
89                     preferredDuringSchedulingIgnoredDuringExecution:
90                       description: The scheduler will prefer to schedule pods to nodes
91                         that satisfy the affinity expressions specified by this field,
92                         but it may choose a node that violates one or more of the
93                         expressions. The node that is most preferred is the one with
94                         the greatest sum of weights, i.e. for each node that meets
95                         all of the scheduling requirements (resource request, requiredDuringScheduling
96                         affinity expressions, etc.), compute a sum by iterating through
97                         the elements of this field and adding "weight" to the sum
98                         if the node matches the corresponding matchExpressions; the
99                         node(s) with the highest sum are the most preferred.
100                       items:
101                         description: An empty preferred scheduling term matches all
102                           objects with implicit weight 0 (i.e. it's a no-op). A null
103                           preferred scheduling term matches no objects (i.e. is also
104                           a no-op).
105                         properties:
106                           preference:
107                             description: A null or empty node selector term matches
108                               no objects. The requirements of them are ANDed. The
109                               TopologySelectorTerm type implements a subset of the
110                               NodeSelectorTerm.
111                             properties:
112                               matchExpressions:
113                                 description: A list of node selector requirements
114                                   by node's labels.
115                                 items:
116                                   description: A node selector requirement is a selector
117                                     that contains values, a key, and an operator that
118                                     relates the key and values.
119                                   properties:
120                                     key:
121                                       description: The label key that the selector
122                                         applies to.
123                                       type: string
124                                     operator:
125                                       description: Represents a key's relationship
126                                         to a set of values. Valid operators are In,
127                                         NotIn, Exists, DoesNotExist. Gt, and Lt.
128                                       type: string
129                                     values:
130                                       description: An array of string values. If the
131                                         operator is In or NotIn, the values array
132                                         must be non-empty. If the operator is Exists
133                                         or DoesNotExist, the values array must be
134                                         empty. If the operator is Gt or Lt, the values
135                                         array must have a single element, which will
136                                         be interpreted as an integer. This array is
137                                         replaced during a strategic merge patch.
138                                       items:
139                                         type: string
140                                       type: array
141                                   required:
142                                   - key
143                                   - operator
144                                 type: array
145                               matchFields:
146                                 description: A list of node selector requirements
147                                   by node's fields.
148                                 items:
149                                   description: A node selector requirement is a selector
150                                     that contains values, a key, and an operator that
151                                     relates the key and values.
152                                   properties:
153                                     key:
154                                       description: The label key that the selector
155                                         applies to.
156                                       type: string
157                                     operator:
158                                       description: Represents a key's relationship
159                                         to a set of values. Valid operators are In,
160                                         NotIn, Exists, DoesNotExist. Gt, and Lt.
161                                       type: string
162                                     values:
163                                       description: An array of string values. If the
164                                         operator is In or NotIn, the values array
165                                         must be non-empty. If the operator is Exists
166                                         or DoesNotExist, the values array must be
167                                         empty. If the operator is Gt or Lt, the values
168                                         array must have a single element, which will
169                                         be interpreted as an integer. This array is
170                                         replaced during a strategic merge patch.
171                                       items:
172                                         type: string
173                                       type: array
174                                   required:
175                                   - key
176                                   - operator
177                                 type: array
178                           weight:
179                             description: Weight associated with matching the corresponding
180                               nodeSelectorTerm, in the range 1-100.
181                             format: int32
182                             type: integer
183                         required:
184                         - weight
185                         - preference
186                       type: array
187                     requiredDuringSchedulingIgnoredDuringExecution:
188                       description: A node selector represents the union of the results
189                         of one or more label queries over a set of nodes; that is,
190                         it represents the OR of the selectors represented by the node
191                         selector terms.
192                       properties:
193                         nodeSelectorTerms:
194                           description: Required. A list of node selector terms. The
195                             terms are ORed.
196                           items:
197                             description: A null or empty node selector term matches
198                               no objects. The requirements of them are ANDed. The
199                               TopologySelectorTerm type implements a subset of the
200                               NodeSelectorTerm.
201                             properties:
202                               matchExpressions:
203                                 description: A list of node selector requirements
204                                   by node's labels.
205                                 items:
206                                   description: A node selector requirement is a selector
207                                     that contains values, a key, and an operator that
208                                     relates the key and values.
209                                   properties:
210                                     key:
211                                       description: The label key that the selector
212                                         applies to.
213                                       type: string
214                                     operator:
215                                       description: Represents a key's relationship
216                                         to a set of values. Valid operators are In,
217                                         NotIn, Exists, DoesNotExist. Gt, and Lt.
218                                       type: string
219                                     values:
220                                       description: An array of string values. If the
221                                         operator is In or NotIn, the values array
222                                         must be non-empty. If the operator is Exists
223                                         or DoesNotExist, the values array must be
224                                         empty. If the operator is Gt or Lt, the values
225                                         array must have a single element, which will
226                                         be interpreted as an integer. This array is
227                                         replaced during a strategic merge patch.
228                                       items:
229                                         type: string
230                                       type: array
231                                   required:
232                                   - key
233                                   - operator
234                                 type: array
235                               matchFields:
236                                 description: A list of node selector requirements
237                                   by node's fields.
238                                 items:
239                                   description: A node selector requirement is a selector
240                                     that contains values, a key, and an operator that
241                                     relates the key and values.
242                                   properties:
243                                     key:
244                                       description: The label key that the selector
245                                         applies to.
246                                       type: string
247                                     operator:
248                                       description: Represents a key's relationship
249                                         to a set of values. Valid operators are In,
250                                         NotIn, Exists, DoesNotExist. Gt, and Lt.
251                                       type: string
252                                     values:
253                                       description: An array of string values. If the
254                                         operator is In or NotIn, the values array
255                                         must be non-empty. If the operator is Exists
256                                         or DoesNotExist, the values array must be
257                                         empty. If the operator is Gt or Lt, the values
258                                         array must have a single element, which will
259                                         be interpreted as an integer. This array is
260                                         replaced during a strategic merge patch.
261                                       items:
262                                         type: string
263                                       type: array
264                                   required:
265                                   - key
266                                   - operator
267                                 type: array
268                           type: array
269                       required:
270                       - nodeSelectorTerms
271                 podAffinity:
272                   description: Pod affinity is a group of inter pod affinity scheduling
273                     rules.
274                   properties:
275                     preferredDuringSchedulingIgnoredDuringExecution:
276                       description: The scheduler will prefer to schedule pods to nodes
277                         that satisfy the affinity expressions specified by this field,
278                         but it may choose a node that violates one or more of the
279                         expressions. The node that is most preferred is the one with
280                         the greatest sum of weights, i.e. for each node that meets
281                         all of the scheduling requirements (resource request, requiredDuringScheduling
282                         affinity expressions, etc.), compute a sum by iterating through
283                         the elements of this field and adding "weight" to the sum
284                         if the node has pods which matches the corresponding podAffinityTerm;
285                         the node(s) with the highest sum are the most preferred.
286                       items:
287                         description: The weights of all of the matched WeightedPodAffinityTerm
288                           fields are added per-node to find the most preferred node(s)
289                         properties:
290                           podAffinityTerm:
291                             description: Defines a set of pods (namely those matching
292                               the labelSelector relative to the given namespace(s))
293                               that this pod should be co-located (affinity) or not
294                               co-located (anti-affinity) with, where co-located is
295                               defined as running on a node whose value of the label
296                               with key <topologyKey> matches that of any node on which
297                               a pod of the set of pods is running
298                             properties:
299                               labelSelector:
300                                 description: A label selector is a label query over
301                                   a set of resources. The result of matchLabels and
302                                   matchExpressions are ANDed. An empty label selector
303                                   matches all objects. A null label selector matches
304                                   no objects.
305                                 properties:
306                                   matchExpressions:
307                                     description: matchExpressions is a list of label
308                                       selector requirements. The requirements are
309                                       ANDed.
310                                     items:
311                                       description: A label selector requirement is
312                                         a selector that contains values, a key, and
313                                         an operator that relates the key and values.
314                                       properties:
315                                         key:
316                                           description: key is the label key that the
317                                             selector applies to.
318                                           type: string
319                                         operator:
320                                           description: operator represents a key's
321                                             relationship to a set of values. Valid
322                                             operators are In, NotIn, Exists and DoesNotExist.
323                                           type: string
324                                         values:
325                                           description: values is an array of string
326                                             values. If the operator is In or NotIn,
327                                             the values array must be non-empty. If
328                                             the operator is Exists or DoesNotExist,
329                                             the values array must be empty. This array
330                                             is replaced during a strategic merge patch.
331                                           items:
332                                             type: string
333                                           type: array
334                                       required:
335                                       - key
336                                       - operator
337                                     type: array
338                                   matchLabels:
339                                     description: matchLabels is a map of {key,value}
340                                       pairs. A single {key,value} in the matchLabels
341                                       map is equivalent to an element of matchExpressions,
342                                       whose key field is "key", the operator is "In",
343                                       and the values array contains only "value".
344                                       The requirements are ANDed.
345                                     type: object
346                               namespaces:
347                                 description: namespaces specifies which namespaces
348                                   the labelSelector applies to (matches against);
349                                   null or empty list means "this pod's namespace"
350                                 items:
351                                   type: string
352                                 type: array
353                               topologyKey:
354                                 description: This pod should be co-located (affinity)
355                                   or not co-located (anti-affinity) with the pods
356                                   matching the labelSelector in the specified namespaces,
357                                   where co-located is defined as running on a node
358                                   whose value of the label with key topologyKey matches
359                                   that of any node on which any of the selected pods
360                                   is running. Empty topologyKey is not allowed.
361                                 type: string
362                             required:
363                             - topologyKey
364                           weight:
365                             description: weight associated with matching the corresponding
366                               podAffinityTerm, in the range 1-100.
367                             format: int32
368                             type: integer
369                         required:
370                         - weight
371                         - podAffinityTerm
372                       type: array
373                     requiredDuringSchedulingIgnoredDuringExecution:
374                       description: If the affinity requirements specified by this
375                         field are not met at scheduling time, the pod will not be
376                         scheduled onto the node. If the affinity requirements specified
377                         by this field cease to be met at some point during pod execution
378                         (e.g. due to a pod label update), the system may or may not
379                         try to eventually evict the pod from its node. When there
380                         are multiple elements, the lists of nodes corresponding to
381                         each podAffinityTerm are intersected, i.e. all terms must
382                         be satisfied.
383                       items:
384                         description: Defines a set of pods (namely those matching
385                           the labelSelector relative to the given namespace(s)) that
386                           this pod should be co-located (affinity) or not co-located
387                           (anti-affinity) with, where co-located is defined as running
388                           on a node whose value of the label with key <topologyKey>
389                           matches that of any node on which a pod of the set of pods
390                           is running
391                         properties:
392                           labelSelector:
393                             description: A label selector is a label query over a
394                               set of resources. The result of matchLabels and matchExpressions
395                               are ANDed. An empty label selector matches all objects.
396                               A null label selector matches no objects.
397                             properties:
398                               matchExpressions:
399                                 description: matchExpressions is a list of label selector
400                                   requirements. The requirements are ANDed.
401                                 items:
402                                   description: A label selector requirement is a selector
403                                     that contains values, a key, and an operator that
404                                     relates the key and values.
405                                   properties:
406                                     key:
407                                       description: key is the label key that the selector
408                                         applies to.
409                                       type: string
410                                     operator:
411                                       description: operator represents a key's relationship
412                                         to a set of values. Valid operators are In,
413                                         NotIn, Exists and DoesNotExist.
414                                       type: string
415                                     values:
416                                       description: values is an array of string values.
417                                         If the operator is In or NotIn, the values
418                                         array must be non-empty. If the operator is
419                                         Exists or DoesNotExist, the values array must
420                                         be empty. This array is replaced during a
421                                         strategic merge patch.
422                                       items:
423                                         type: string
424                                       type: array
425                                   required:
426                                   - key
427                                   - operator
428                                 type: array
429                               matchLabels:
430                                 description: matchLabels is a map of {key,value} pairs.
431                                   A single {key,value} in the matchLabels map is equivalent
432                                   to an element of matchExpressions, whose key field
433                                   is "key", the operator is "In", and the values array
434                                   contains only "value". The requirements are ANDed.
435                                 type: object
436                           namespaces:
437                             description: namespaces specifies which namespaces the
438                               labelSelector applies to (matches against); null or
439                               empty list means "this pod's namespace"
440                             items:
441                               type: string
442                             type: array
443                           topologyKey:
444                             description: This pod should be co-located (affinity)
445                               or not co-located (anti-affinity) with the pods matching
446                               the labelSelector in the specified namespaces, where
447                               co-located is defined as running on a node whose value
448                               of the label with key topologyKey matches that of any
449                               node on which any of the selected pods is running. Empty
450                               topologyKey is not allowed.
451                             type: string
452                         required:
453                         - topologyKey
454                       type: array
455                 podAntiAffinity:
456                   description: Pod anti affinity is a group of inter pod anti affinity
457                     scheduling rules.
458                   properties:
459                     preferredDuringSchedulingIgnoredDuringExecution:
460                       description: The scheduler will prefer to schedule pods to nodes
461                         that satisfy the anti-affinity expressions specified by this
462                         field, but it may choose a node that violates one or more
463                         of the expressions. The node that is most preferred is the
464                         one with the greatest sum of weights, i.e. for each node that
465                         meets all of the scheduling requirements (resource request,
466                         requiredDuringScheduling anti-affinity expressions, etc.),
467                         compute a sum by iterating through the elements of this field
468                         and adding "weight" to the sum if the node has pods which
469                         matches the corresponding podAffinityTerm; the node(s) with
470                         the highest sum are the most preferred.
471                       items:
472                         description: The weights of all of the matched WeightedPodAffinityTerm
473                           fields are added per-node to find the most preferred node(s)
474                         properties:
475                           podAffinityTerm:
476                             description: Defines a set of pods (namely those matching
477                               the labelSelector relative to the given namespace(s))
478                               that this pod should be co-located (affinity) or not
479                               co-located (anti-affinity) with, where co-located is
480                               defined as running on a node whose value of the label
481                               with key <topologyKey> matches that of any node on which
482                               a pod of the set of pods is running
483                             properties:
484                               labelSelector:
485                                 description: A label selector is a label query over
486                                   a set of resources. The result of matchLabels and
487                                   matchExpressions are ANDed. An empty label selector
488                                   matches all objects. A null label selector matches
489                                   no objects.
490                                 properties:
491                                   matchExpressions:
492                                     description: matchExpressions is a list of label
493                                       selector requirements. The requirements are
494                                       ANDed.
495                                     items:
496                                       description: A label selector requirement is
497                                         a selector that contains values, a key, and
498                                         an operator that relates the key and values.
499                                       properties:
500                                         key:
501                                           description: key is the label key that the
502                                             selector applies to.
503                                           type: string
504                                         operator:
505                                           description: operator represents a key's
506                                             relationship to a set of values. Valid
507                                             operators are In, NotIn, Exists and DoesNotExist.
508                                           type: string
509                                         values:
510                                           description: values is an array of string
511                                             values. If the operator is In or NotIn,
512                                             the values array must be non-empty. If
513                                             the operator is Exists or DoesNotExist,
514                                             the values array must be empty. This array
515                                             is replaced during a strategic merge patch.
516                                           items:
517                                             type: string
518                                           type: array
519                                       required:
520                                       - key
521                                       - operator
522                                     type: array
523                                   matchLabels:
524                                     description: matchLabels is a map of {key,value}
525                                       pairs. A single {key,value} in the matchLabels
526                                       map is equivalent to an element of matchExpressions,
527                                       whose key field is "key", the operator is "In",
528                                       and the values array contains only "value".
529                                       The requirements are ANDed.
530                                     type: object
531                               namespaces:
532                                 description: namespaces specifies which namespaces
533                                   the labelSelector applies to (matches against);
534                                   null or empty list means "this pod's namespace"
535                                 items:
536                                   type: string
537                                 type: array
538                               topologyKey:
539                                 description: This pod should be co-located (affinity)
540                                   or not co-located (anti-affinity) with the pods
541                                   matching the labelSelector in the specified namespaces,
542                                   where co-located is defined as running on a node
543                                   whose value of the label with key topologyKey matches
544                                   that of any node on which any of the selected pods
545                                   is running. Empty topologyKey is not allowed.
546                                 type: string
547                             required:
548                             - topologyKey
549                           weight:
550                             description: weight associated with matching the corresponding
551                               podAffinityTerm, in the range 1-100.
552                             format: int32
553                             type: integer
554                         required:
555                         - weight
556                         - podAffinityTerm
557                       type: array
558                     requiredDuringSchedulingIgnoredDuringExecution:
559                       description: If the anti-affinity requirements specified by
560                         this field are not met at scheduling time, the pod will not
561                         be scheduled onto the node. If the anti-affinity requirements
562                         specified by this field cease to be met at some point during
563                         pod execution (e.g. due to a pod label update), the system
564                         may or may not try to eventually evict the pod from its node.
565                         When there are multiple elements, the lists of nodes corresponding
566                         to each podAffinityTerm are intersected, i.e. all terms must
567                         be satisfied.
568                       items:
569                         description: Defines a set of pods (namely those matching
570                           the labelSelector relative to the given namespace(s)) that
571                           this pod should be co-located (affinity) or not co-located
572                           (anti-affinity) with, where co-located is defined as running
573                           on a node whose value of the label with key <topologyKey>
574                           matches that of any node on which a pod of the set of pods
575                           is running
576                         properties:
577                           labelSelector:
578                             description: A label selector is a label query over a
579                               set of resources. The result of matchLabels and matchExpressions
580                               are ANDed. An empty label selector matches all objects.
581                               A null label selector matches no objects.
582                             properties:
583                               matchExpressions:
584                                 description: matchExpressions is a list of label selector
585                                   requirements. The requirements are ANDed.
586                                 items:
587                                   description: A label selector requirement is a selector
588                                     that contains values, a key, and an operator that
589                                     relates the key and values.
590                                   properties:
591                                     key:
592                                       description: key is the label key that the selector
593                                         applies to.
594                                       type: string
595                                     operator:
596                                       description: operator represents a key's relationship
597                                         to a set of values. Valid operators are In,
598                                         NotIn, Exists and DoesNotExist.
599                                       type: string
600                                     values:
601                                       description: values is an array of string values.
602                                         If the operator is In or NotIn, the values
603                                         array must be non-empty. If the operator is
604                                         Exists or DoesNotExist, the values array must
605                                         be empty. This array is replaced during a
606                                         strategic merge patch.
607                                       items:
608                                         type: string
609                                       type: array
610                                   required:
611                                   - key
612                                   - operator
613                                 type: array
614                               matchLabels:
615                                 description: matchLabels is a map of {key,value} pairs.
616                                   A single {key,value} in the matchLabels map is equivalent
617                                   to an element of matchExpressions, whose key field
618                                   is "key", the operator is "In", and the values array
619                                   contains only "value". The requirements are ANDed.
620                                 type: object
621                           namespaces:
622                             description: namespaces specifies which namespaces the
623                               labelSelector applies to (matches against); null or
624                               empty list means "this pod's namespace"
625                             items:
626                               type: string
627                             type: array
628                           topologyKey:
629                             description: This pod should be co-located (affinity)
630                               or not co-located (anti-affinity) with the pods matching
631                               the labelSelector in the specified namespaces, where
632                               co-located is defined as running on a node whose value
633                               of the label with key topologyKey matches that of any
634                               node on which any of the selected pods is running. Empty
635                               topologyKey is not allowed.
636                             type: string
637                         required:
638                         - topologyKey
639                       type: array
640             alerting:
641               description: AlertingSpec defines parameters for alerting configuration
642                 of Prometheus servers.
643               properties:
644                 alertmanagers:
645                   description: AlertmanagerEndpoints Prometheus should fire alerts
646                     against.
647                   items:
648                     description: AlertmanagerEndpoints defines a selection of a single
649                       Endpoints object containing alertmanager IPs to fire alerts
650                       against.
651                     properties:
652                       bearerTokenFile:
653                         description: BearerTokenFile to read from filesystem to use
654                           when authenticating to Alertmanager.
655                         type: string
656                       name:
657                         description: Name of Endpoints object in Namespace.
658                         type: string
659                       namespace:
660                         description: Namespace of Endpoints object.
661                         type: string
662                       pathPrefix:
663                         description: Prefix for the HTTP path alerts are pushed to.
664                         type: string
665                       port:
666                         anyOf:
667                         - type: string
668                         - type: integer
669                       scheme:
670                         description: Scheme to use when firing alerts.
671                         type: string
672                       tlsConfig:
673                         description: TLSConfig specifies TLS configuration parameters.
674                         properties:
675                           caFile:
676                             description: The CA cert to use for the targets.
677                             type: string
678                           certFile:
679                             description: The client cert file for the targets.
680                             type: string
681                           insecureSkipVerify:
682                             description: Disable target certificate validation.
683                             type: boolean
684                           keyFile:
685                             description: The client key file for the targets.
686                             type: string
687                           serverName:
688                             description: Used to verify the hostname for the targets.
689                             type: string
690                     required:
691                     - namespace
692                     - name
693                     - port
694                   type: array
695               required:
696               - alertmanagers
697             apiserverConfig:
698               description: 'APIServerConfig defines a host and auth methods to access
699                 apiserver. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#kubernetes_sd_config'
700               properties:
701                 basicAuth:
702                   description: 'BasicAuth allow an endpoint to authenticate over basic
703                     authentication More info: https://prometheus.io/docs/operating/configuration/#endpoints'
704                   properties:
705                     password:
706                       description: SecretKeySelector selects a key of a Secret.
707                       properties:
708                         key:
709                           description: The key of the secret to select from.  Must
710                             be a valid secret key.
711                           type: string
712                         name:
713                           description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
714                           type: string
715                         optional:
716                           description: Specify whether the Secret or it's key must
717                             be defined
718                           type: boolean
719                       required:
720                       - key
721                     username:
722                       description: SecretKeySelector selects a key of a Secret.
723                       properties:
724                         key:
725                           description: The key of the secret to select from.  Must
726                             be a valid secret key.
727                           type: string
728                         name:
729                           description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
730                           type: string
731                         optional:
732                           description: Specify whether the Secret or it's key must
733                             be defined
734                           type: boolean
735                       required:
736                       - key
737                 bearerToken:
738                   description: Bearer token for accessing apiserver.
739                   type: string
740                 bearerTokenFile:
741                   description: File to read bearer token for accessing apiserver.
742                   type: string
743                 host:
744                   description: Host of apiserver. A valid string consisting of a hostname
745                     or IP followed by an optional port number
746                   type: string
747                 tlsConfig:
748                   description: TLSConfig specifies TLS configuration parameters.
749                   properties:
750                     caFile:
751                       description: The CA cert to use for the targets.
752                       type: string
753                     certFile:
754                       description: The client cert file for the targets.
755                       type: string
756                     insecureSkipVerify:
757                       description: Disable target certificate validation.
758                       type: boolean
759                     keyFile:
760                       description: The client key file for the targets.
761                       type: string
762                     serverName:
763                       description: Used to verify the hostname for the targets.
764                       type: string
765               required:
766               - host
767             baseImage:
768               description: Base image to use for a Prometheus deployment.
769               type: string
770             configMaps:
771               description: ConfigMaps is a list of ConfigMaps in the same namespace
772                 as the Prometheus object, which shall be mounted into the Prometheus
773                 Pods. The ConfigMaps are mounted into /etc/prometheus/configmaps/<configmap-name>.
774               items:
775                 type: string
776               type: array
777             containers:
778               description: Containers allows injecting additional containers. This
779                 is meant to allow adding an authentication proxy to a Prometheus pod.
780               items:
781                 description: A single application container that you want to run within
782                   a pod.
783                 properties:
784                   args:
785                     description: 'Arguments to the entrypoint. The docker image''s
786                       CMD is used if this is not provided. Variable references $(VAR_NAME)
787                       are expanded using the container''s environment. If a variable
788                       cannot be resolved, the reference in the input string will be
789                       unchanged. The $(VAR_NAME) syntax can be escaped with a double
790                       $$, ie: $$(VAR_NAME). Escaped references will never be expanded,
791                       regardless of whether the variable exists or not. Cannot be
792                       updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell'
793                     items:
794                       type: string
795                     type: array
796                   command:
797                     description: 'Entrypoint array. Not executed within a shell. The
798                       docker image''s ENTRYPOINT is used if this is not provided.
799                       Variable references $(VAR_NAME) are expanded using the container''s
800                       environment. If a variable cannot be resolved, the reference
801                       in the input string will be unchanged. The $(VAR_NAME) syntax
802                       can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references
803                       will never be expanded, regardless of whether the variable exists
804                       or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell'
805                     items:
806                       type: string
807                     type: array
808                   env:
809                     description: List of environment variables to set in the container.
810                       Cannot be updated.
811                     items:
812                       description: EnvVar represents an environment variable present
813                         in a Container.
814                       properties:
815                         name:
816                           description: Name of the environment variable. Must be a
817                             C_IDENTIFIER.
818                           type: string
819                         value:
820                           description: 'Variable references $(VAR_NAME) are expanded
821                             using the previous defined environment variables in the
822                             container and any service environment variables. If a
823                             variable cannot be resolved, the reference in the input
824                             string will be unchanged. The $(VAR_NAME) syntax can be
825                             escaped with a double $$, ie: $$(VAR_NAME). Escaped references
826                             will never be expanded, regardless of whether the variable
827                             exists or not. Defaults to "".'
828                           type: string
829                         valueFrom:
830                           description: EnvVarSource represents a source for the value
831                             of an EnvVar.
832                           properties:
833                             configMapKeyRef:
834                               description: Selects a key from a ConfigMap.
835                               properties:
836                                 key:
837                                   description: The key to select.
838                                   type: string
839                                 name:
840                                   description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
841                                   type: string
842                                 optional:
843                                   description: Specify whether the ConfigMap or it's
844                                     key must be defined
845                                   type: boolean
846                               required:
847                               - key
848                             fieldRef:
849                               description: ObjectFieldSelector selects an APIVersioned
850                                 field of an object.
851                               properties:
852                                 apiVersion:
853                                   description: Version of the schema the FieldPath
854                                     is written in terms of, defaults to "v1".
855                                   type: string
856                                 fieldPath:
857                                   description: Path of the field to select in the
858                                     specified API version.
859                                   type: string
860                               required:
861                               - fieldPath
862                             resourceFieldRef:
863                               description: ResourceFieldSelector represents container
864                                 resources (cpu, memory) and their output format
865                               properties:
866                                 containerName:
867                                   description: 'Container name: required for volumes,
868                                     optional for env vars'
869                                   type: string
870                                 divisor: {}
871                                 resource:
872                                   description: 'Required: resource to select'
873                                   type: string
874                               required:
875                               - resource
876                             secretKeyRef:
877                               description: SecretKeySelector selects a key of a Secret.
878                               properties:
879                                 key:
880                                   description: The key of the secret to select from.  Must
881                                     be a valid secret key.
882                                   type: string
883                                 name:
884                                   description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
885                                   type: string
886                                 optional:
887                                   description: Specify whether the Secret or it's
888                                     key must be defined
889                                   type: boolean
890                               required:
891                               - key
892                       required:
893                       - name
894                     type: array
895                   envFrom:
896                     description: List of sources to populate environment variables
897                       in the container. The keys defined within a source must be a
898                       C_IDENTIFIER. All invalid keys will be reported as an event
899                       when the container is starting. When a key exists in multiple
900                       sources, the value associated with the last source will take
901                       precedence. Values defined by an Env with a duplicate key will
902                       take precedence. Cannot be updated.
903                     items:
904                       description: EnvFromSource represents the source of a set of
905                         ConfigMaps
906                       properties:
907                         configMapRef:
908                           description: |-
909                             ConfigMapEnvSource selects a ConfigMap to populate the environment variables with.
910
911                             The contents of the target ConfigMap's Data field will represent the key-value pairs as environment variables.
912                           properties:
913                             name:
914                               description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
915                               type: string
916                             optional:
917                               description: Specify whether the ConfigMap must be defined
918                               type: boolean
919                         prefix:
920                           description: An optional identifier to prepend to each key
921                             in the ConfigMap. Must be a C_IDENTIFIER.
922                           type: string
923                         secretRef:
924                           description: |-
925                             SecretEnvSource selects a Secret to populate the environment variables with.
926
927                             The contents of the target Secret's Data field will represent the key-value pairs as environment variables.
928                           properties:
929                             name:
930                               description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
931                               type: string
932                             optional:
933                               description: Specify whether the Secret must be defined
934                               type: boolean
935                     type: array
936                   image:
937                     description: 'Docker image name. More info: https://kubernetes.io/docs/concepts/containers/images
938                       This field is optional to allow higher level config management
939                       to default or override container images in workload controllers
940                       like Deployments and StatefulSets.'
941                     type: string
942                   imagePullPolicy:
943                     description: 'Image pull policy. One of Always, Never, IfNotPresent.
944                       Defaults to Always if :latest tag is specified, or IfNotPresent
945                       otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images'
946                     type: string
947                   lifecycle:
948                     description: Lifecycle describes actions that the management system
949                       should take in response to container lifecycle events. For the
950                       PostStart and PreStop lifecycle handlers, management of the
951                       container blocks until the action is complete, unless the container
952                       process fails, in which case the handler is aborted.
953                     properties:
954                       postStart:
955                         description: Handler defines a specific action that should
956                           be taken
957                         properties:
958                           exec:
959                             description: ExecAction describes a "run in container"
960                               action.
961                             properties:
962                               command:
963                                 description: Command is the command line to execute
964                                   inside the container, the working directory for
965                                   the command  is root ('/') in the container's filesystem.
966                                   The command is simply exec'd, it is not run inside
967                                   a shell, so traditional shell instructions ('|',
968                                   etc) won't work. To use a shell, you need to explicitly
969                                   call out to that shell. Exit status of 0 is treated
970                                   as live/healthy and non-zero is unhealthy.
971                                 items:
972                                   type: string
973                                 type: array
974                           httpGet:
975                             description: HTTPGetAction describes an action based on
976                               HTTP Get requests.
977                             properties:
978                               host:
979                                 description: Host name to connect to, defaults to
980                                   the pod IP. You probably want to set "Host" in httpHeaders
981                                   instead.
982                                 type: string
983                               httpHeaders:
984                                 description: Custom headers to set in the request.
985                                   HTTP allows repeated headers.
986                                 items:
987                                   description: HTTPHeader describes a custom header
988                                     to be used in HTTP probes
989                                   properties:
990                                     name:
991                                       description: The header field name
992                                       type: string
993                                     value:
994                                       description: The header field value
995                                       type: string
996                                   required:
997                                   - name
998                                   - value
999                                 type: array
1000                               path:
1001                                 description: Path to access on the HTTP server.
1002                                 type: string
1003                               port:
1004                                 anyOf:
1005                                 - type: string
1006                                 - type: integer
1007                               scheme:
1008                                 description: Scheme to use for connecting to the host.
1009                                   Defaults to HTTP.
1010                                 type: string
1011                             required:
1012                             - port
1013                           tcpSocket:
1014                             description: TCPSocketAction describes an action based
1015                               on opening a socket
1016                             properties:
1017                               host:
1018                                 description: 'Optional: Host name to connect to, defaults
1019                                   to the pod IP.'
1020                                 type: string
1021                               port:
1022                                 anyOf:
1023                                 - type: string
1024                                 - type: integer
1025                             required:
1026                             - port
1027                       preStop:
1028                         description: Handler defines a specific action that should
1029                           be taken
1030                         properties:
1031                           exec:
1032                             description: ExecAction describes a "run in container"
1033                               action.
1034                             properties:
1035                               command:
1036                                 description: Command is the command line to execute
1037                                   inside the container, the working directory for
1038                                   the command  is root ('/') in the container's filesystem.
1039                                   The command is simply exec'd, it is not run inside
1040                                   a shell, so traditional shell instructions ('|',
1041                                   etc) won't work. To use a shell, you need to explicitly
1042                                   call out to that shell. Exit status of 0 is treated
1043                                   as live/healthy and non-zero is unhealthy.
1044                                 items:
1045                                   type: string
1046                                 type: array
1047                           httpGet:
1048                             description: HTTPGetAction describes an action based on
1049                               HTTP Get requests.
1050                             properties:
1051                               host:
1052                                 description: Host name to connect to, defaults to
1053                                   the pod IP. You probably want to set "Host" in httpHeaders
1054                                   instead.
1055                                 type: string
1056                               httpHeaders:
1057                                 description: Custom headers to set in the request.
1058                                   HTTP allows repeated headers.
1059                                 items:
1060                                   description: HTTPHeader describes a custom header
1061                                     to be used in HTTP probes
1062                                   properties:
1063                                     name:
1064                                       description: The header field name
1065                                       type: string
1066                                     value:
1067                                       description: The header field value
1068                                       type: string
1069                                   required:
1070                                   - name
1071                                   - value
1072                                 type: array
1073                               path:
1074                                 description: Path to access on the HTTP server.
1075                                 type: string
1076                               port:
1077                                 anyOf:
1078                                 - type: string
1079                                 - type: integer
1080                               scheme:
1081                                 description: Scheme to use for connecting to the host.
1082                                   Defaults to HTTP.
1083                                 type: string
1084                             required:
1085                             - port
1086                           tcpSocket:
1087                             description: TCPSocketAction describes an action based
1088                               on opening a socket
1089                             properties:
1090                               host:
1091                                 description: 'Optional: Host name to connect to, defaults
1092                                   to the pod IP.'
1093                                 type: string
1094                               port:
1095                                 anyOf:
1096                                 - type: string
1097                                 - type: integer
1098                             required:
1099                             - port
1100                   livenessProbe:
1101                     description: Probe describes a health check to be performed against
1102                       a container to determine whether it is alive or ready to receive
1103                       traffic.
1104                     properties:
1105                       exec:
1106                         description: ExecAction describes a "run in container" action.
1107                         properties:
1108                           command:
1109                             description: Command is the command line to execute inside
1110                               the container, the working directory for the command  is
1111                               root ('/') in the container's filesystem. The command
1112                               is simply exec'd, it is not run inside a shell, so traditional
1113                               shell instructions ('|', etc) won't work. To use a shell,
1114                               you need to explicitly call out to that shell. Exit
1115                               status of 0 is treated as live/healthy and non-zero
1116                               is unhealthy.
1117                             items:
1118                               type: string
1119                             type: array
1120                       failureThreshold:
1121                         description: Minimum consecutive failures for the probe to
1122                           be considered failed after having succeeded. Defaults to
1123                           3. Minimum value is 1.
1124                         format: int32
1125                         type: integer
1126                       httpGet:
1127                         description: HTTPGetAction describes an action based on HTTP
1128                           Get requests.
1129                         properties:
1130                           host:
1131                             description: Host name to connect to, defaults to the
1132                               pod IP. You probably want to set "Host" in httpHeaders
1133                               instead.
1134                             type: string
1135                           httpHeaders:
1136                             description: Custom headers to set in the request. HTTP
1137                               allows repeated headers.
1138                             items:
1139                               description: HTTPHeader describes a custom header to
1140                                 be used in HTTP probes
1141                               properties:
1142                                 name:
1143                                   description: The header field name
1144                                   type: string
1145                                 value:
1146                                   description: The header field value
1147                                   type: string
1148                               required:
1149                               - name
1150                               - value
1151                             type: array
1152                           path:
1153                             description: Path to access on the HTTP server.
1154                             type: string
1155                           port:
1156                             anyOf:
1157                             - type: string
1158                             - type: integer
1159                           scheme:
1160                             description: Scheme to use for connecting to the host.
1161                               Defaults to HTTP.
1162                             type: string
1163                         required:
1164                         - port
1165                       initialDelaySeconds:
1166                         description: 'Number of seconds after the container has started
1167                           before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
1168                         format: int32
1169                         type: integer
1170                       periodSeconds:
1171                         description: How often (in seconds) to perform the probe.
1172                           Default to 10 seconds. Minimum value is 1.
1173                         format: int32
1174                         type: integer
1175                       successThreshold:
1176                         description: Minimum consecutive successes for the probe to
1177                           be considered successful after having failed. Defaults to
1178                           1. Must be 1 for liveness. Minimum value is 1.
1179                         format: int32
1180                         type: integer
1181                       tcpSocket:
1182                         description: TCPSocketAction describes an action based on
1183                           opening a socket
1184                         properties:
1185                           host:
1186                             description: 'Optional: Host name to connect to, defaults
1187                               to the pod IP.'
1188                             type: string
1189                           port:
1190                             anyOf:
1191                             - type: string
1192                             - type: integer
1193                         required:
1194                         - port
1195                       timeoutSeconds:
1196                         description: 'Number of seconds after which the probe times
1197                           out. Defaults to 1 second. Minimum value is 1. More info:
1198                           https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
1199                         format: int32
1200                         type: integer
1201                   name:
1202                     description: Name of the container specified as a DNS_LABEL. Each
1203                       container in a pod must have a unique name (DNS_LABEL). Cannot
1204                       be updated.
1205                     type: string
1206                   ports:
1207                     description: List of ports to expose from the container. Exposing
1208                       a port here gives the system additional information about the
1209                       network connections a container uses, but is primarily informational.
1210                       Not specifying a port here DOES NOT prevent that port from being
1211                       exposed. Any port which is listening on the default "0.0.0.0"
1212                       address inside a container will be accessible from the network.
1213                       Cannot be updated.
1214                     items:
1215                       description: ContainerPort represents a network port in a single
1216                         container.
1217                       properties:
1218                         containerPort:
1219                           description: Number of port to expose on the pod's IP address.
1220                             This must be a valid port number, 0 < x < 65536.
1221                           format: int32
1222                           type: integer
1223                         hostIP:
1224                           description: What host IP to bind the external port to.
1225                           type: string
1226                         hostPort:
1227                           description: Number of port to expose on the host. If specified,
1228                             this must be a valid port number, 0 < x < 65536. If HostNetwork
1229                             is specified, this must match ContainerPort. Most containers
1230                             do not need this.
1231                           format: int32
1232                           type: integer
1233                         name:
1234                           description: If specified, this must be an IANA_SVC_NAME
1235                             and unique within the pod. Each named port in a pod must
1236                             have a unique name. Name for the port that can be referred
1237                             to by services.
1238                           type: string
1239                         protocol:
1240                           description: Protocol for port. Must be UDP, TCP, or SCTP.
1241                             Defaults to "TCP".
1242                           type: string
1243                       required:
1244                       - containerPort
1245                     type: array
1246                   readinessProbe:
1247                     description: Probe describes a health check to be performed against
1248                       a container to determine whether it is alive or ready to receive
1249                       traffic.
1250                     properties:
1251                       exec:
1252                         description: ExecAction describes a "run in container" action.
1253                         properties:
1254                           command:
1255                             description: Command is the command line to execute inside
1256                               the container, the working directory for the command  is
1257                               root ('/') in the container's filesystem. The command
1258                               is simply exec'd, it is not run inside a shell, so traditional
1259                               shell instructions ('|', etc) won't work. To use a shell,
1260                               you need to explicitly call out to that shell. Exit
1261                               status of 0 is treated as live/healthy and non-zero
1262                               is unhealthy.
1263                             items:
1264                               type: string
1265                             type: array
1266                       failureThreshold:
1267                         description: Minimum consecutive failures for the probe to
1268                           be considered failed after having succeeded. Defaults to
1269                           3. Minimum value is 1.
1270                         format: int32
1271                         type: integer
1272                       httpGet:
1273                         description: HTTPGetAction describes an action based on HTTP
1274                           Get requests.
1275                         properties:
1276                           host:
1277                             description: Host name to connect to, defaults to the
1278                               pod IP. You probably want to set "Host" in httpHeaders
1279                               instead.
1280                             type: string
1281                           httpHeaders:
1282                             description: Custom headers to set in the request. HTTP
1283                               allows repeated headers.
1284                             items:
1285                               description: HTTPHeader describes a custom header to
1286                                 be used in HTTP probes
1287                               properties:
1288                                 name:
1289                                   description: The header field name
1290                                   type: string
1291                                 value:
1292                                   description: The header field value
1293                                   type: string
1294                               required:
1295                               - name
1296                               - value
1297                             type: array
1298                           path:
1299                             description: Path to access on the HTTP server.
1300                             type: string
1301                           port:
1302                             anyOf:
1303                             - type: string
1304                             - type: integer
1305                           scheme:
1306                             description: Scheme to use for connecting to the host.
1307                               Defaults to HTTP.
1308                             type: string
1309                         required:
1310                         - port
1311                       initialDelaySeconds:
1312                         description: 'Number of seconds after the container has started
1313                           before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
1314                         format: int32
1315                         type: integer
1316                       periodSeconds:
1317                         description: How often (in seconds) to perform the probe.
1318                           Default to 10 seconds. Minimum value is 1.
1319                         format: int32
1320                         type: integer
1321                       successThreshold:
1322                         description: Minimum consecutive successes for the probe to
1323                           be considered successful after having failed. Defaults to
1324                           1. Must be 1 for liveness. Minimum value is 1.
1325                         format: int32
1326                         type: integer
1327                       tcpSocket:
1328                         description: TCPSocketAction describes an action based on
1329                           opening a socket
1330                         properties:
1331                           host:
1332                             description: 'Optional: Host name to connect to, defaults
1333                               to the pod IP.'
1334                             type: string
1335                           port:
1336                             anyOf:
1337                             - type: string
1338                             - type: integer
1339                         required:
1340                         - port
1341                       timeoutSeconds:
1342                         description: 'Number of seconds after which the probe times
1343                           out. Defaults to 1 second. Minimum value is 1. More info:
1344                           https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
1345                         format: int32
1346                         type: integer
1347                   resources:
1348                     description: ResourceRequirements describes the compute resource
1349                       requirements.
1350                     properties:
1351                       limits:
1352                         description: 'Limits describes the maximum amount of compute
1353                           resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/'
1354                         type: object
1355                       requests:
1356                         description: 'Requests describes the minimum amount of compute
1357                           resources required. If Requests is omitted for a container,
1358                           it defaults to Limits if that is explicitly specified, otherwise
1359                           to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/'
1360                         type: object
1361                   securityContext:
1362                     description: SecurityContext holds security configuration that
1363                       will be applied to a container. Some fields are present in both
1364                       SecurityContext and PodSecurityContext.  When both are set,
1365                       the values in SecurityContext take precedence.
1366                     properties:
1367                       allowPrivilegeEscalation:
1368                         description: 'AllowPrivilegeEscalation controls whether a
1369                           process can gain more privileges than its parent process.
1370                           This bool directly controls if the no_new_privs flag will
1371                           be set on the container process. AllowPrivilegeEscalation
1372                           is true always when the container is: 1) run as Privileged
1373                           2) has CAP_SYS_ADMIN'
1374                         type: boolean
1375                       capabilities:
1376                         description: Adds and removes POSIX capabilities from running
1377                           containers.
1378                         properties:
1379                           add:
1380                             description: Added capabilities
1381                             items:
1382                               type: string
1383                             type: array
1384                           drop:
1385                             description: Removed capabilities
1386                             items:
1387                               type: string
1388                             type: array
1389                       privileged:
1390                         description: Run container in privileged mode. Processes in
1391                           privileged containers are essentially equivalent to root
1392                           on the host. Defaults to false.
1393                         type: boolean
1394                       procMount:
1395                         description: procMount denotes the type of proc mount to use
1396                           for the containers. The default is DefaultProcMount which
1397                           uses the container runtime defaults for readonly paths and
1398                           masked paths. This requires the ProcMountType feature flag
1399                           to be enabled.
1400                         type: string
1401                       readOnlyRootFilesystem:
1402                         description: Whether this container has a read-only root filesystem.
1403                           Default is false.
1404                         type: boolean
1405                       runAsGroup:
1406                         description: The GID to run the entrypoint of the container
1407                           process. Uses runtime default if unset. May also be set
1408                           in PodSecurityContext.  If set in both SecurityContext and
1409                           PodSecurityContext, the value specified in SecurityContext
1410                           takes precedence.
1411                         format: int64
1412                         type: integer
1413                       runAsNonRoot:
1414                         description: Indicates that the container must run as a non-root
1415                           user. If true, the Kubelet will validate the image at runtime
1416                           to ensure that it does not run as UID 0 (root) and fail
1417                           to start the container if it does. If unset or false, no
1418                           such validation will be performed. May also be set in PodSecurityContext.  If
1419                           set in both SecurityContext and PodSecurityContext, the
1420                           value specified in SecurityContext takes precedence.
1421                         type: boolean
1422                       runAsUser:
1423                         description: The UID to run the entrypoint of the container
1424                           process. Defaults to user specified in image metadata if
1425                           unspecified. May also be set in PodSecurityContext.  If
1426                           set in both SecurityContext and PodSecurityContext, the
1427                           value specified in SecurityContext takes precedence.
1428                         format: int64
1429                         type: integer
1430                       seLinuxOptions:
1431                         description: SELinuxOptions are the labels to be applied to
1432                           the container
1433                         properties:
1434                           level:
1435                             description: Level is SELinux level label that applies
1436                               to the container.
1437                             type: string
1438                           role:
1439                             description: Role is a SELinux role label that applies
1440                               to the container.
1441                             type: string
1442                           type:
1443                             description: Type is a SELinux type label that applies
1444                               to the container.
1445                             type: string
1446                           user:
1447                             description: User is a SELinux user label that applies
1448                               to the container.
1449                             type: string
1450                   stdin:
1451                     description: Whether this container should allocate a buffer for
1452                       stdin in the container runtime. If this is not set, reads from
1453                       stdin in the container will always result in EOF. Default is
1454                       false.
1455                     type: boolean
1456                   stdinOnce:
1457                     description: Whether the container runtime should close the stdin
1458                       channel after it has been opened by a single attach. When stdin
1459                       is true the stdin stream will remain open across multiple attach
1460                       sessions. If stdinOnce is set to true, stdin is opened on container
1461                       start, is empty until the first client attaches to stdin, and
1462                       then remains open and accepts data until the client disconnects,
1463                       at which time stdin is closed and remains closed until the container
1464                       is restarted. If this flag is false, a container processes that
1465                       reads from stdin will never receive an EOF. Default is false
1466                     type: boolean
1467                   terminationMessagePath:
1468                     description: 'Optional: Path at which the file to which the container''s
1469                       termination message will be written is mounted into the container''s
1470                       filesystem. Message written is intended to be brief final status,
1471                       such as an assertion failure message. Will be truncated by the
1472                       node if greater than 4096 bytes. The total message length across
1473                       all containers will be limited to 12kb. Defaults to /dev/termination-log.
1474                       Cannot be updated.'
1475                     type: string
1476                   terminationMessagePolicy:
1477                     description: Indicate how the termination message should be populated.
1478                       File will use the contents of terminationMessagePath to populate
1479                       the container status message on both success and failure. FallbackToLogsOnError
1480                       will use the last chunk of container log output if the termination
1481                       message file is empty and the container exited with an error.
1482                       The log output is limited to 2048 bytes or 80 lines, whichever
1483                       is smaller. Defaults to File. Cannot be updated.
1484                     type: string
1485                   tty:
1486                     description: Whether this container should allocate a TTY for
1487                       itself, also requires 'stdin' to be true. Default is false.
1488                     type: boolean
1489                   volumeDevices:
1490                     description: volumeDevices is the list of block devices to be
1491                       used by the container. This is an alpha feature and may change
1492                       in the future.
1493                     items:
1494                       description: volumeDevice describes a mapping of a raw block
1495                         device within a container.
1496                       properties:
1497                         devicePath:
1498                           description: devicePath is the path inside of the container
1499                             that the device will be mapped to.
1500                           type: string
1501                         name:
1502                           description: name must match the name of a persistentVolumeClaim
1503                             in the pod
1504                           type: string
1505                       required:
1506                       - name
1507                       - devicePath
1508                     type: array
1509                   volumeMounts:
1510                     description: Pod volumes to mount into the container's filesystem.
1511                       Cannot be updated.
1512                     items:
1513                       description: VolumeMount describes a mounting of a Volume within
1514                         a container.
1515                       properties:
1516                         mountPath:
1517                           description: Path within the container at which the volume
1518                             should be mounted.  Must not contain ':'.
1519                           type: string
1520                         mountPropagation:
1521                           description: mountPropagation determines how mounts are
1522                             propagated from the host to container and the other way
1523                             around. When not set, MountPropagationNone is used. This
1524                             field is beta in 1.10.
1525                           type: string
1526                         name:
1527                           description: This must match the Name of a Volume.
1528                           type: string
1529                         readOnly:
1530                           description: Mounted read-only if true, read-write otherwise
1531                             (false or unspecified). Defaults to false.
1532                           type: boolean
1533                         subPath:
1534                           description: Path within the volume from which the container's
1535                             volume should be mounted. Defaults to "" (volume's root).
1536                           type: string
1537                       required:
1538                       - name
1539                       - mountPath
1540                     type: array
1541                   workingDir:
1542                     description: Container's working directory. If not specified,
1543                       the container runtime's default will be used, which might be
1544                       configured in the container image. Cannot be updated.
1545                     type: string
1546                 required:
1547                 - name
1548               type: array
1549             evaluationInterval:
1550               description: Interval between consecutive evaluations.
1551               type: string
1552             externalLabels:
1553               description: The labels to add to any time series or alerts when communicating
1554                 with external systems (federation, remote storage, Alertmanager).
1555               type: object
1556             externalUrl:
1557               description: The external URL the Prometheus instances will be available
1558                 under. This is necessary to generate correct URLs. This is necessary
1559                 if Prometheus is not served from root of a DNS name.
1560               type: string
1561             imagePullSecrets:
1562               description: An optional list of references to secrets in the same namespace
1563                 to use for pulling prometheus and alertmanager images from registries
1564                 see http://kubernetes.io/docs/user-guide/images#specifying-imagepullsecrets-on-a-pod
1565               items:
1566                 description: LocalObjectReference contains enough information to let
1567                   you locate the referenced object inside the same namespace.
1568                 properties:
1569                   name:
1570                     description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
1571                     type: string
1572               type: array
1573             listenLocal:
1574               description: ListenLocal makes the Prometheus server listen on loopback,
1575                 so that it does not bind against the Pod IP.
1576               type: boolean
1577             logLevel:
1578               description: Log level for Prometheus to be configured with.
1579               type: string
1580             nodeSelector:
1581               description: Define which Nodes the Pods are scheduled on.
1582               type: object
1583             paused:
1584               description: When a Prometheus deployment is paused, no actions except
1585                 for deletion will be performed on the underlying objects.
1586               type: boolean
1587             podMetadata:
1588               description: ObjectMeta is metadata that all persisted resources must
1589                 have, which includes all objects users must create.
1590               properties:
1591                 annotations:
1592                   description: 'Annotations is an unstructured key value map stored
1593                     with a resource that may be set by external tools to store and
1594                     retrieve arbitrary metadata. They are not queryable and should
1595                     be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations'
1596                   type: object
1597                 clusterName:
1598                   description: The name of the cluster which the object belongs to.
1599                     This is used to distinguish resources with same name and namespace
1600                     in different clusters. This field is not set anywhere right now
1601                     and apiserver is going to ignore it if set in create or update
1602                     request.
1603                   type: string
1604                 creationTimestamp:
1605                   description: Time is a wrapper around time.Time which supports correct
1606                     marshaling to YAML and JSON.  Wrappers are provided for many of
1607                     the factory methods that the time package offers.
1608                   format: date-time
1609                   type: string
1610                 deletionGracePeriodSeconds:
1611                   description: Number of seconds allowed for this object to gracefully
1612                     terminate before it will be removed from the system. Only set
1613                     when deletionTimestamp is also set. May only be shortened. Read-only.
1614                   format: int64
1615                   type: integer
1616                 deletionTimestamp:
1617                   description: Time is a wrapper around time.Time which supports correct
1618                     marshaling to YAML and JSON.  Wrappers are provided for many of
1619                     the factory methods that the time package offers.
1620                   format: date-time
1621                   type: string
1622                 finalizers:
1623                   description: Must be empty before the object is deleted from the
1624                     registry. Each entry is an identifier for the responsible component
1625                     that will remove the entry from the list. If the deletionTimestamp
1626                     of the object is non-nil, entries in this list can only be removed.
1627                   items:
1628                     type: string
1629                   type: array
1630                 generateName:
1631                   description: |-
1632                     GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server.
1633
1634                     If this field is specified and the generated name exists, the server will NOT return a 409 - instead, it will either return 201 Created or 500 with Reason ServerTimeout indicating a unique name could not be found in the time allotted, and the client should retry (optionally after the time indicated in the Retry-After header).
1635
1636                     Applied only if Name is not specified. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#idempotency
1637                   type: string
1638                 generation:
1639                   description: A sequence number representing a specific generation
1640                     of the desired state. Populated by the system. Read-only.
1641                   format: int64
1642                   type: integer
1643                 initializers:
1644                   description: Initializers tracks the progress of initialization.
1645                   properties:
1646                     pending:
1647                       description: Pending is a list of initializers that must execute
1648                         in order before this object is visible. When the last pending
1649                         initializer is removed, and no failing result is set, the
1650                         initializers struct will be set to nil and the object is considered
1651                         as initialized and visible to all clients.
1652                       items:
1653                         description: Initializer is information about an initializer
1654                           that has not yet completed.
1655                         properties:
1656                           name:
1657                             description: name of the process that is responsible for
1658                               initializing this object.
1659                             type: string
1660                         required:
1661                         - name
1662                       type: array
1663                     result:
1664                       description: Status is a return value for calls that don't return
1665                         other objects.
1666                       properties:
1667                         apiVersion:
1668                           description: 'APIVersion defines the versioned schema of
1669                             this representation of an object. Servers should convert
1670                             recognized schemas to the latest internal value, and may
1671                             reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources'
1672                           type: string
1673                         code:
1674                           description: Suggested HTTP return code for this status,
1675                             0 if not set.
1676                           format: int32
1677                           type: integer
1678                         details:
1679                           description: StatusDetails is a set of additional properties
1680                             that MAY be set by the server to provide additional information
1681                             about a response. The Reason field of a Status object
1682                             defines what attributes will be set. Clients must ignore
1683                             fields that do not match the defined type of each attribute,
1684                             and should assume that any attribute may be empty, invalid,
1685                             or under defined.
1686                           properties:
1687                             causes:
1688                               description: The Causes array includes more details
1689                                 associated with the StatusReason failure. Not all
1690                                 StatusReasons may provide detailed causes.
1691                               items:
1692                                 description: StatusCause provides more information
1693                                   about an api.Status failure, including cases when
1694                                   multiple errors are encountered.
1695                                 properties:
1696                                   field:
1697                                     description: |-
1698                                       The field of the resource that has caused this error, as named by its JSON serialization. May include dot and postfix notation for nested attributes. Arrays are zero-indexed.  Fields may appear more than once in an array of causes due to fields having multiple errors. Optional.
1699
1700                                       Examples:
1701                                         "name" - the field "name" on the current resource
1702                                         "items[0].name" - the field "name" on the first array entry in "items"
1703                                     type: string
1704                                   message:
1705                                     description: A human-readable description of the
1706                                       cause of the error.  This field may be presented
1707                                       as-is to a reader.
1708                                     type: string
1709                                   reason:
1710                                     description: A machine-readable description of
1711                                       the cause of the error. If this value is empty
1712                                       there is no information available.
1713                                     type: string
1714                               type: array
1715                             group:
1716                               description: The group attribute of the resource associated
1717                                 with the status StatusReason.
1718                               type: string
1719                             kind:
1720                               description: 'The kind attribute of the resource associated
1721                                 with the status StatusReason. On some operations may
1722                                 differ from the requested resource Kind. More info:
1723                                 https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds'
1724                               type: string
1725                             name:
1726                               description: The name attribute of the resource associated
1727                                 with the status StatusReason (when there is a single
1728                                 name which can be described).
1729                               type: string
1730                             retryAfterSeconds:
1731                               description: If specified, the time in seconds before
1732                                 the operation should be retried. Some errors may indicate
1733                                 the client must take an alternate action - for those
1734                                 errors this field may indicate how long to wait before
1735                                 taking the alternate action.
1736                               format: int32
1737                               type: integer
1738                             uid:
1739                               description: 'UID of the resource. (when there is a
1740                                 single resource which can be described). More info:
1741                                 http://kubernetes.io/docs/user-guide/identifiers#uids'
1742                               type: string
1743                         kind:
1744                           description: 'Kind is a string value representing the REST
1745                             resource this object represents. Servers may infer this
1746                             from the endpoint the client submits requests to. Cannot
1747                             be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds'
1748                           type: string
1749                         message:
1750                           description: A human-readable description of the status
1751                             of this operation.
1752                           type: string
1753                         metadata:
1754                           description: ListMeta describes metadata that synthetic
1755                             resources must have, including lists and various status
1756                             objects. A resource may have only one of {ObjectMeta,
1757                             ListMeta}.
1758                           properties:
1759                             continue:
1760                               description: continue may be set if the user set a limit
1761                                 on the number of items returned, and indicates that
1762                                 the server has more data available. The value is opaque
1763                                 and may be used to issue another request to the endpoint
1764                                 that served this list to retrieve the next set of
1765                                 available objects. Continuing a consistent list may
1766                                 not be possible if the server configuration has changed
1767                                 or more than a few minutes have passed. The resourceVersion
1768                                 field returned when using this continue value will
1769                                 be identical to the value in the first response, unless
1770                                 you have received this token from an error message.
1771                               type: string
1772                             resourceVersion:
1773                               description: 'String that identifies the server''s internal
1774                                 version of this object that can be used by clients
1775                                 to determine when objects have changed. Value must
1776                                 be treated as opaque by clients and passed unmodified
1777                                 back to the server. Populated by the system. Read-only.
1778                                 More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency'
1779                               type: string
1780                             selfLink:
1781                               description: selfLink is a URL representing this object.
1782                                 Populated by the system. Read-only.
1783                               type: string
1784                         reason:
1785                           description: A machine-readable description of why this
1786                             operation is in the "Failure" status. If this value is
1787                             empty there is no information available. A Reason clarifies
1788                             an HTTP status code but does not override it.
1789                           type: string
1790                         status:
1791                           description: 'Status of the operation. One of: "Success"
1792                             or "Failure". More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status'
1793                           type: string
1794                   required:
1795                   - pending
1796                 labels:
1797                   description: 'Map of string keys and values that can be used to
1798                     organize and categorize (scope and select) objects. May match
1799                     selectors of replication controllers and services. More info:
1800                     http://kubernetes.io/docs/user-guide/labels'
1801                   type: object
1802                 name:
1803                   description: 'Name must be unique within a namespace. Is required
1804                     when creating resources, although some resources may allow a client
1805                     to request the generation of an appropriate name automatically.
1806                     Name is primarily intended for creation idempotence and configuration
1807                     definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names'
1808                   type: string
1809                 namespace:
1810                   description: |-
1811                     Namespace defines the space within each name must be unique. An empty namespace is equivalent to the "default" namespace, but "default" is the canonical representation. Not all objects are required to be scoped to a namespace - the value of this field for those objects will be empty.
1812
1813                     Must be a DNS_LABEL. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/namespaces
1814                   type: string
1815                 ownerReferences:
1816                   description: List of objects depended by this object. If ALL objects
1817                     in the list have been deleted, this object will be garbage collected.
1818                     If this object is managed by a controller, then an entry in this
1819                     list will point to this controller, with the controller field
1820                     set to true. There cannot be more than one managing controller.
1821                   items:
1822                     description: OwnerReference contains enough information to let
1823                       you identify an owning object. Currently, an owning object must
1824                       be in the same namespace, so there is no namespace field.
1825                     properties:
1826                       apiVersion:
1827                         description: API version of the referent.
1828                         type: string
1829                       blockOwnerDeletion:
1830                         description: If true, AND if the owner has the "foregroundDeletion"
1831                           finalizer, then the owner cannot be deleted from the key-value
1832                           store until this reference is removed. Defaults to false.
1833                           To set this field, a user needs "delete" permission of the
1834                           owner, otherwise 422 (Unprocessable Entity) will be returned.
1835                         type: boolean
1836                       controller:
1837                         description: If true, this reference points to the managing
1838                           controller.
1839                         type: boolean
1840                       kind:
1841                         description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds'
1842                         type: string
1843                       name:
1844                         description: 'Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names'
1845                         type: string
1846                       uid:
1847                         description: 'UID of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#uids'
1848                         type: string
1849                     required:
1850                     - apiVersion
1851                     - kind
1852                     - name
1853                     - uid
1854                   type: array
1855                 resourceVersion:
1856                   description: |-
1857                     An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources.
1858
1859                     Populated by the system. Read-only. Value must be treated as opaque by clients and . More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency
1860                   type: string
1861                 selfLink:
1862                   description: SelfLink is a URL representing this object. Populated
1863                     by the system. Read-only.
1864                   type: string
1865                 uid:
1866                   description: |-
1867                     UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.
1868
1869                     Populated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids
1870                   type: string
1871             priorityClassName:
1872               description: Priority class assigned to the Pods
1873               type: string
1874             remoteRead:
1875               description: If specified, the remote_read spec. This is an experimental
1876                 feature, it may change in any upcoming release in a breaking way.
1877               items:
1878                 description: RemoteReadSpec defines the remote_read configuration
1879                   for prometheus.
1880                 properties:
1881                   basicAuth:
1882                     description: 'BasicAuth allow an endpoint to authenticate over
1883                       basic authentication More info: https://prometheus.io/docs/operating/configuration/#endpoints'
1884                     properties:
1885                       password:
1886                         description: SecretKeySelector selects a key of a Secret.
1887                         properties:
1888                           key:
1889                             description: The key of the secret to select from.  Must
1890                               be a valid secret key.
1891                             type: string
1892                           name:
1893                             description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
1894                             type: string
1895                           optional:
1896                             description: Specify whether the Secret or it's key must
1897                               be defined
1898                             type: boolean
1899                         required:
1900                         - key
1901                       username:
1902                         description: SecretKeySelector selects a key of a Secret.
1903                         properties:
1904                           key:
1905                             description: The key of the secret to select from.  Must
1906                               be a valid secret key.
1907                             type: string
1908                           name:
1909                             description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
1910                             type: string
1911                           optional:
1912                             description: Specify whether the Secret or it's key must
1913                               be defined
1914                             type: boolean
1915                         required:
1916                         - key
1917                   bearerToken:
1918                     description: bearer token for remote read.
1919                     type: string
1920                   bearerTokenFile:
1921                     description: File to read bearer token for remote read.
1922                     type: string
1923                   proxyUrl:
1924                     description: Optional ProxyURL
1925                     type: string
1926                   readRecent:
1927                     description: Whether reads should be made for queries for time
1928                       ranges that the local storage should have complete data for.
1929                     type: boolean
1930                   remoteTimeout:
1931                     description: Timeout for requests to the remote read endpoint.
1932                     type: string
1933                   requiredMatchers:
1934                     description: An optional list of equality matchers which have
1935                       to be present in a selector to query the remote read endpoint.
1936                     type: object
1937                   tlsConfig:
1938                     description: TLSConfig specifies TLS configuration parameters.
1939                     properties:
1940                       caFile:
1941                         description: The CA cert to use for the targets.
1942                         type: string
1943                       certFile:
1944                         description: The client cert file for the targets.
1945                         type: string
1946                       insecureSkipVerify:
1947                         description: Disable target certificate validation.
1948                         type: boolean
1949                       keyFile:
1950                         description: The client key file for the targets.
1951                         type: string
1952                       serverName:
1953                         description: Used to verify the hostname for the targets.
1954                         type: string
1955                   url:
1956                     description: The URL of the endpoint to send samples to.
1957                     type: string
1958                 required:
1959                 - url
1960               type: array
1961             remoteWrite:
1962               description: If specified, the remote_write spec. This is an experimental
1963                 feature, it may change in any upcoming release in a breaking way.
1964               items:
1965                 description: RemoteWriteSpec defines the remote_write configuration
1966                   for prometheus.
1967                 properties:
1968                   basicAuth:
1969                     description: 'BasicAuth allow an endpoint to authenticate over
1970                       basic authentication More info: https://prometheus.io/docs/operating/configuration/#endpoints'
1971                     properties:
1972                       password:
1973                         description: SecretKeySelector selects a key of a Secret.
1974                         properties:
1975                           key:
1976                             description: The key of the secret to select from.  Must
1977                               be a valid secret key.
1978                             type: string
1979                           name:
1980                             description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
1981                             type: string
1982                           optional:
1983                             description: Specify whether the Secret or it's key must
1984                               be defined
1985                             type: boolean
1986                         required:
1987                         - key
1988                       username:
1989                         description: SecretKeySelector selects a key of a Secret.
1990                         properties:
1991                           key:
1992                             description: The key of the secret to select from.  Must
1993                               be a valid secret key.
1994                             type: string
1995                           name:
1996                             description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
1997                             type: string
1998                           optional:
1999                             description: Specify whether the Secret or it's key must
2000                               be defined
2001                             type: boolean
2002                         required:
2003                         - key
2004                   bearerToken:
2005                     description: File to read bearer token for remote write.
2006                     type: string
2007                   bearerTokenFile:
2008                     description: File to read bearer token for remote write.
2009                     type: string
2010                   proxyUrl:
2011                     description: Optional ProxyURL
2012                     type: string
2013                   queueConfig:
2014                     description: QueueConfig allows the tuning of remote_write queue_config
2015                       parameters. This object is referenced in the RemoteWriteSpec
2016                       object.
2017                     properties:
2018                       batchSendDeadline:
2019                         description: BatchSendDeadline is the maximum time a sample
2020                           will wait in buffer.
2021                         type: string
2022                       capacity:
2023                         description: Capacity is the number of samples to buffer per
2024                           shard before we start dropping them.
2025                         format: int32
2026                         type: integer
2027                       maxBackoff:
2028                         description: MaxBackoff is the maximum retry delay.
2029                         type: string
2030                       maxRetries:
2031                         description: MaxRetries is the maximum number of times to
2032                           retry a batch on recoverable errors.
2033                         format: int32
2034                         type: integer
2035                       maxSamplesPerSend:
2036                         description: MaxSamplesPerSend is the maximum number of samples
2037                           per send.
2038                         format: int32
2039                         type: integer
2040                       maxShards:
2041                         description: MaxShards is the maximum number of shards, i.e.
2042                           amount of concurrency.
2043                         format: int32
2044                         type: integer
2045                       minBackoff:
2046                         description: MinBackoff is the initial retry delay. Gets doubled
2047                           for every retry.
2048                         type: string
2049                   remoteTimeout:
2050                     description: Timeout for requests to the remote write endpoint.
2051                     type: string
2052                   tlsConfig:
2053                     description: TLSConfig specifies TLS configuration parameters.
2054                     properties:
2055                       caFile:
2056                         description: The CA cert to use for the targets.
2057                         type: string
2058                       certFile:
2059                         description: The client cert file for the targets.
2060                         type: string
2061                       insecureSkipVerify:
2062                         description: Disable target certificate validation.
2063                         type: boolean
2064                       keyFile:
2065                         description: The client key file for the targets.
2066                         type: string
2067                       serverName:
2068                         description: Used to verify the hostname for the targets.
2069                         type: string
2070                   url:
2071                     description: The URL of the endpoint to send samples to.
2072                     type: string
2073                   writeRelabelConfigs:
2074                     description: The list of remote write relabel configurations.
2075                     items:
2076                       description: 'RelabelConfig allows dynamic rewriting of the
2077                         label set, being applied to samples before ingestion. It defines
2078                         `<metric_relabel_configs>`-section of Prometheus configuration.
2079                         More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs'
2080                       properties:
2081                         action:
2082                           description: Action to perform based on regex matching.
2083                             Default is 'replace'
2084                           type: string
2085                         modulus:
2086                           description: Modulus to take of the hash of the source label
2087                             values.
2088                           format: int64
2089                           type: integer
2090                         regex:
2091                           description: Regular expression against which the extracted
2092                             value is matched. defailt is '(.*)'
2093                           type: string
2094                         replacement:
2095                           description: Replacement value against which a regex replace
2096                             is performed if the regular expression matches. Regex
2097                             capture groups are available. Default is '$1'
2098                           type: string
2099                         separator:
2100                           description: Separator placed between concatenated source
2101                             label values. default is ';'.
2102                           type: string
2103                         sourceLabels:
2104                           description: The source labels select values from existing
2105                             labels. Their content is concatenated using the configured
2106                             separator and matched against the configured regular expression
2107                             for the replace, keep, and drop actions.
2108                           items:
2109                             type: string
2110                           type: array
2111                         targetLabel:
2112                           description: Label to which the resulting value is written
2113                             in a replace action. It is mandatory for replace actions.
2114                             Regex capture groups are available.
2115                           type: string
2116                     type: array
2117                 required:
2118                 - url
2119               type: array
2120             replicas:
2121               description: Number of instances to deploy for a Prometheus deployment.
2122               format: int32
2123               type: integer
2124             resources:
2125               description: ResourceRequirements describes the compute resource requirements.
2126               properties:
2127                 limits:
2128                   description: 'Limits describes the maximum amount of compute resources
2129                     allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/'
2130                   type: object
2131                 requests:
2132                   description: 'Requests describes the minimum amount of compute resources
2133                     required. If Requests is omitted for a container, it defaults
2134                     to Limits if that is explicitly specified, otherwise to an implementation-defined
2135                     value. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/'
2136                   type: object
2137             retention:
2138               description: Time duration Prometheus shall retain data for. Default
2139                 is '24h', and must match the regular expression `[0-9]+(ms|s|m|h|d|w|y)`
2140                 (milliseconds seconds minutes hours days weeks years).
2141               type: string
2142             routePrefix:
2143               description: The route prefix Prometheus registers HTTP handlers for.
2144                 This is useful, if using ExternalURL and a proxy is rewriting HTTP
2145                 routes of a request, and the actual ExternalURL is still true, but
2146                 the server serves requests under a different route prefix. For example
2147                 for use with `kubectl proxy`.
2148               type: string
2149             ruleNamespaceSelector:
2150               description: A label selector is a label query over a set of resources.
2151                 The result of matchLabels and matchExpressions are ANDed. An empty
2152                 label selector matches all objects. A null label selector matches
2153                 no objects.
2154               properties:
2155                 matchExpressions:
2156                   description: matchExpressions is a list of label selector requirements.
2157                     The requirements are ANDed.
2158                   items:
2159                     description: A label selector requirement is a selector that contains
2160                       values, a key, and an operator that relates the key and values.
2161                     properties:
2162                       key:
2163                         description: key is the label key that the selector applies
2164                           to.
2165                         type: string
2166                       operator:
2167                         description: operator represents a key's relationship to a
2168                           set of values. Valid operators are In, NotIn, Exists and
2169                           DoesNotExist.
2170                         type: string
2171                       values:
2172                         description: values is an array of string values. If the operator
2173                           is In or NotIn, the values array must be non-empty. If the
2174                           operator is Exists or DoesNotExist, the values array must
2175                           be empty. This array is replaced during a strategic merge
2176                           patch.
2177                         items:
2178                           type: string
2179                         type: array
2180                     required:
2181                     - key
2182                     - operator
2183                   type: array
2184                 matchLabels:
2185                   description: matchLabels is a map of {key,value} pairs. A single
2186                     {key,value} in the matchLabels map is equivalent to an element
2187                     of matchExpressions, whose key field is "key", the operator is
2188                     "In", and the values array contains only "value". The requirements
2189                     are ANDed.
2190                   type: object
2191             ruleSelector:
2192               description: A label selector is a label query over a set of resources.
2193                 The result of matchLabels and matchExpressions are ANDed. An empty
2194                 label selector matches all objects. A null label selector matches
2195                 no objects.
2196               properties:
2197                 matchExpressions:
2198                   description: matchExpressions is a list of label selector requirements.
2199                     The requirements are ANDed.
2200                   items:
2201                     description: A label selector requirement is a selector that contains
2202                       values, a key, and an operator that relates the key and values.
2203                     properties:
2204                       key:
2205                         description: key is the label key that the selector applies
2206                           to.
2207                         type: string
2208                       operator:
2209                         description: operator represents a key's relationship to a
2210                           set of values. Valid operators are In, NotIn, Exists and
2211                           DoesNotExist.
2212                         type: string
2213                       values:
2214                         description: values is an array of string values. If the operator
2215                           is In or NotIn, the values array must be non-empty. If the
2216                           operator is Exists or DoesNotExist, the values array must
2217                           be empty. This array is replaced during a strategic merge
2218                           patch.
2219                         items:
2220                           type: string
2221                         type: array
2222                     required:
2223                     - key
2224                     - operator
2225                   type: array
2226                 matchLabels:
2227                   description: matchLabels is a map of {key,value} pairs. A single
2228                     {key,value} in the matchLabels map is equivalent to an element
2229                     of matchExpressions, whose key field is "key", the operator is
2230                     "In", and the values array contains only "value". The requirements
2231                     are ANDed.
2232                   type: object
2233             scrapeInterval:
2234               description: Interval between consecutive scrapes.
2235               type: string
2236             secrets:
2237               description: Secrets is a list of Secrets in the same namespace as the
2238                 Prometheus object, which shall be mounted into the Prometheus Pods.
2239                 The Secrets are mounted into /etc/prometheus/secrets/<secret-name>.
2240               items:
2241                 type: string
2242               type: array
2243             securityContext:
2244               description: PodSecurityContext holds pod-level security attributes
2245                 and common container settings. Some fields are also present in container.securityContext.  Field
2246                 values of container.securityContext take precedence over field values
2247                 of PodSecurityContext.
2248               properties:
2249                 fsGroup:
2250                   description: |-
2251                     A special supplemental group that applies to all containers in a pod. Some volume types allow the Kubelet to change the ownership of that volume to be owned by the pod:
2252
2253                     1. The owning GID will be the FSGroup 2. The setgid bit is set (new files created in the volume will be owned by FSGroup) 3. The permission bits are OR'd with rw-rw----
2254
2255                     If unset, the Kubelet will not modify the ownership and permissions of any volume.
2256                   format: int64
2257                   type: integer
2258                 runAsGroup:
2259                   description: The GID to run the entrypoint of the container process.
2260                     Uses runtime default if unset. May also be set in SecurityContext.  If
2261                     set in both SecurityContext and PodSecurityContext, the value
2262                     specified in SecurityContext takes precedence for that container.
2263                   format: int64
2264                   type: integer
2265                 runAsNonRoot:
2266                   description: Indicates that the container must run as a non-root
2267                     user. If true, the Kubelet will validate the image at runtime
2268                     to ensure that it does not run as UID 0 (root) and fail to start
2269                     the container if it does. If unset or false, no such validation
2270                     will be performed. May also be set in SecurityContext.  If set
2271                     in both SecurityContext and PodSecurityContext, the value specified
2272                     in SecurityContext takes precedence.
2273                   type: boolean
2274                 runAsUser:
2275                   description: The UID to run the entrypoint of the container process.
2276                     Defaults to user specified in image metadata if unspecified. May
2277                     also be set in SecurityContext.  If set in both SecurityContext
2278                     and PodSecurityContext, the value specified in SecurityContext
2279                     takes precedence for that container.
2280                   format: int64
2281                   type: integer
2282                 seLinuxOptions:
2283                   description: SELinuxOptions are the labels to be applied to the
2284                     container
2285                   properties:
2286                     level:
2287                       description: Level is SELinux level label that applies to the
2288                         container.
2289                       type: string
2290                     role:
2291                       description: Role is a SELinux role label that applies to the
2292                         container.
2293                       type: string
2294                     type:
2295                       description: Type is a SELinux type label that applies to the
2296                         container.
2297                       type: string
2298                     user:
2299                       description: User is a SELinux user label that applies to the
2300                         container.
2301                       type: string
2302                 supplementalGroups:
2303                   description: A list of groups applied to the first process run in
2304                     each container, in addition to the container's primary GID.  If
2305                     unspecified, no groups will be added to any container.
2306                   items:
2307                     format: int64
2308                     type: integer
2309                   type: array
2310                 sysctls:
2311                   description: Sysctls hold a list of namespaced sysctls used for
2312                     the pod. Pods with unsupported sysctls (by the container runtime)
2313                     might fail to launch.
2314                   items:
2315                     description: Sysctl defines a kernel parameter to be set
2316                     properties:
2317                       name:
2318                         description: Name of a property to set
2319                         type: string
2320                       value:
2321                         description: Value of a property to set
2322                         type: string
2323                     required:
2324                     - name
2325                     - value
2326                   type: array
2327             serviceAccountName:
2328               description: ServiceAccountName is the name of the ServiceAccount to
2329                 use to run the Prometheus Pods.
2330               type: string
2331             serviceMonitorNamespaceSelector:
2332               description: A label selector is a label query over a set of resources.
2333                 The result of matchLabels and matchExpressions are ANDed. An empty
2334                 label selector matches all objects. A null label selector matches
2335                 no objects.
2336               properties:
2337                 matchExpressions:
2338                   description: matchExpressions is a list of label selector requirements.
2339                     The requirements are ANDed.
2340                   items:
2341                     description: A label selector requirement is a selector that contains
2342                       values, a key, and an operator that relates the key and values.
2343                     properties:
2344                       key:
2345                         description: key is the label key that the selector applies
2346                           to.
2347                         type: string
2348                       operator:
2349                         description: operator represents a key's relationship to a
2350                           set of values. Valid operators are In, NotIn, Exists and
2351                           DoesNotExist.
2352                         type: string
2353                       values:
2354                         description: values is an array of string values. If the operator
2355                           is In or NotIn, the values array must be non-empty. If the
2356                           operator is Exists or DoesNotExist, the values array must
2357                           be empty. This array is replaced during a strategic merge
2358                           patch.
2359                         items:
2360                           type: string
2361                         type: array
2362                     required:
2363                     - key
2364                     - operator
2365                   type: array
2366                 matchLabels:
2367                   description: matchLabels is a map of {key,value} pairs. A single
2368                     {key,value} in the matchLabels map is equivalent to an element
2369                     of matchExpressions, whose key field is "key", the operator is
2370                     "In", and the values array contains only "value". The requirements
2371                     are ANDed.
2372                   type: object
2373             serviceMonitorSelector:
2374               description: A label selector is a label query over a set of resources.
2375                 The result of matchLabels and matchExpressions are ANDed. An empty
2376                 label selector matches all objects. A null label selector matches
2377                 no objects.
2378               properties:
2379                 matchExpressions:
2380                   description: matchExpressions is a list of label selector requirements.
2381                     The requirements are ANDed.
2382                   items:
2383                     description: A label selector requirement is a selector that contains
2384                       values, a key, and an operator that relates the key and values.
2385                     properties:
2386                       key:
2387                         description: key is the label key that the selector applies
2388                           to.
2389                         type: string
2390                       operator:
2391                         description: operator represents a key's relationship to a
2392                           set of values. Valid operators are In, NotIn, Exists and
2393                           DoesNotExist.
2394                         type: string
2395                       values:
2396                         description: values is an array of string values. If the operator
2397                           is In or NotIn, the values array must be non-empty. If the
2398                           operator is Exists or DoesNotExist, the values array must
2399                           be empty. This array is replaced during a strategic merge
2400                           patch.
2401                         items:
2402                           type: string
2403                         type: array
2404                     required:
2405                     - key
2406                     - operator
2407                   type: array
2408                 matchLabels:
2409                   description: matchLabels is a map of {key,value} pairs. A single
2410                     {key,value} in the matchLabels map is equivalent to an element
2411                     of matchExpressions, whose key field is "key", the operator is
2412                     "In", and the values array contains only "value". The requirements
2413                     are ANDed.
2414                   type: object
2415             sha:
2416               description: SHA of Prometheus container image to be deployed. Defaults
2417                 to the value of `version`. Similar to a tag, but the SHA explicitly
2418                 deploys an immutable container image. Version and Tag are ignored
2419                 if SHA is set.
2420               type: string
2421             storage:
2422               description: StorageSpec defines the configured storage for a group
2423                 Prometheus servers. If neither `emptyDir` nor `volumeClaimTemplate`
2424                 is specified, then by default an [EmptyDir](https://kubernetes.io/docs/concepts/storage/volumes/#emptydir)
2425                 will be used.
2426               properties:
2427                 class:
2428                   description: 'Name of the StorageClass to use when requesting storage
2429                     provisioning. More info: https://kubernetes.io/docs/user-guide/persistent-volumes/#storageclasses
2430                     (DEPRECATED - instead use `volumeClaimTemplate.spec.storageClassName`)'
2431                   type: string
2432                 emptyDir:
2433                   description: Represents an empty directory for a pod. Empty directory
2434                     volumes support ownership management and SELinux relabeling.
2435                   properties:
2436                     medium:
2437                       description: 'What type of storage medium should back this directory.
2438                         The default is "" which means to use the node''s default medium.
2439                         Must be an empty string (default) or Memory. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir'
2440                       type: string
2441                     sizeLimit: {}
2442                 resources:
2443                   description: ResourceRequirements describes the compute resource
2444                     requirements.
2445                   properties:
2446                     limits:
2447                       description: 'Limits describes the maximum amount of compute
2448                         resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/'
2449                       type: object
2450                     requests:
2451                       description: 'Requests describes the minimum amount of compute
2452                         resources required. If Requests is omitted for a container,
2453                         it defaults to Limits if that is explicitly specified, otherwise
2454                         to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/'
2455                       type: object
2456                 selector:
2457                   description: A label selector is a label query over a set of resources.
2458                     The result of matchLabels and matchExpressions are ANDed. An empty
2459                     label selector matches all objects. A null label selector matches
2460                     no objects.
2461                   properties:
2462                     matchExpressions:
2463                       description: matchExpressions is a list of label selector requirements.
2464                         The requirements are ANDed.
2465                       items:
2466                         description: A label selector requirement is a selector that
2467                           contains values, a key, and an operator that relates the
2468                           key and values.
2469                         properties:
2470                           key:
2471                             description: key is the label key that the selector applies
2472                               to.
2473                             type: string
2474                           operator:
2475                             description: operator represents a key's relationship
2476                               to a set of values. Valid operators are In, NotIn, Exists
2477                               and DoesNotExist.
2478                             type: string
2479                           values:
2480                             description: values is an array of string values. If the
2481                               operator is In or NotIn, the values array must be non-empty.
2482                               If the operator is Exists or DoesNotExist, the values
2483                               array must be empty. This array is replaced during a
2484                               strategic merge patch.
2485                             items:
2486                               type: string
2487                             type: array
2488                         required:
2489                         - key
2490                         - operator
2491                       type: array
2492                     matchLabels:
2493                       description: matchLabels is a map of {key,value} pairs. A single
2494                         {key,value} in the matchLabels map is equivalent to an element
2495                         of matchExpressions, whose key field is "key", the operator
2496                         is "In", and the values array contains only "value". The requirements
2497                         are ANDed.
2498                       type: object
2499                 volumeClaimTemplate:
2500                   description: PersistentVolumeClaim is a user's request for and claim
2501                     to a persistent volume
2502                   properties:
2503                     apiVersion:
2504                       description: 'APIVersion defines the versioned schema of this
2505                         representation of an object. Servers should convert recognized
2506                         schemas to the latest internal value, and may reject unrecognized
2507                         values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources'
2508                       type: string
2509                     kind:
2510                       description: 'Kind is a string value representing the REST resource
2511                         this object represents. Servers may infer this from the endpoint
2512                         the client submits requests to. Cannot be updated. In CamelCase.
2513                         More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds'
2514                       type: string
2515                     metadata:
2516                       description: ObjectMeta is metadata that all persisted resources
2517                         must have, which includes all objects users must create.
2518                       properties:
2519                         annotations:
2520                           description: 'Annotations is an unstructured key value map
2521                             stored with a resource that may be set by external tools
2522                             to store and retrieve arbitrary metadata. They are not
2523                             queryable and should be preserved when modifying objects.
2524                             More info: http://kubernetes.io/docs/user-guide/annotations'
2525                           type: object
2526                         clusterName:
2527                           description: The name of the cluster which the object belongs
2528                             to. This is used to distinguish resources with same name
2529                             and namespace in different clusters. This field is not
2530                             set anywhere right now and apiserver is going to ignore
2531                             it if set in create or update request.
2532                           type: string
2533                         creationTimestamp:
2534                           description: Time is a wrapper around time.Time which supports
2535                             correct marshaling to YAML and JSON.  Wrappers are provided
2536                             for many of the factory methods that the time package
2537                             offers.
2538                           format: date-time
2539                           type: string
2540                         deletionGracePeriodSeconds:
2541                           description: Number of seconds allowed for this object to
2542                             gracefully terminate before it will be removed from the
2543                             system. Only set when deletionTimestamp is also set. May
2544                             only be shortened. Read-only.
2545                           format: int64
2546                           type: integer
2547                         deletionTimestamp:
2548                           description: Time is a wrapper around time.Time which supports
2549                             correct marshaling to YAML and JSON.  Wrappers are provided
2550                             for many of the factory methods that the time package
2551                             offers.
2552                           format: date-time
2553                           type: string
2554                         finalizers:
2555                           description: Must be empty before the object is deleted
2556                             from the registry. Each entry is an identifier for the
2557                             responsible component that will remove the entry from
2558                             the list. If the deletionTimestamp of the object is non-nil,
2559                             entries in this list can only be removed.
2560                           items:
2561                             type: string
2562                           type: array
2563                         generateName:
2564                           description: |-
2565                             GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server.
2566
2567                             If this field is specified and the generated name exists, the server will NOT return a 409 - instead, it will either return 201 Created or 500 with Reason ServerTimeout indicating a unique name could not be found in the time allotted, and the client should retry (optionally after the time indicated in the Retry-After header).
2568
2569                             Applied only if Name is not specified. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#idempotency
2570                           type: string
2571                         generation:
2572                           description: A sequence number representing a specific generation
2573                             of the desired state. Populated by the system. Read-only.
2574                           format: int64
2575                           type: integer
2576                         initializers:
2577                           description: Initializers tracks the progress of initialization.
2578                           properties:
2579                             pending:
2580                               description: Pending is a list of initializers that
2581                                 must execute in order before this object is visible.
2582                                 When the last pending initializer is removed, and
2583                                 no failing result is set, the initializers struct
2584                                 will be set to nil and the object is considered as
2585                                 initialized and visible to all clients.
2586                               items:
2587                                 description: Initializer is information about an initializer
2588                                   that has not yet completed.
2589                                 properties:
2590                                   name:
2591                                     description: name of the process that is responsible
2592                                       for initializing this object.
2593                                     type: string
2594                                 required:
2595                                 - name
2596                               type: array
2597                             result:
2598                               description: Status is a return value for calls that
2599                                 don't return other objects.
2600                               properties:
2601                                 apiVersion:
2602                                   description: 'APIVersion defines the versioned schema
2603                                     of this representation of an object. Servers should
2604                                     convert recognized schemas to the latest internal
2605                                     value, and may reject unrecognized values. More
2606                                     info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources'
2607                                   type: string
2608                                 code:
2609                                   description: Suggested HTTP return code for this
2610                                     status, 0 if not set.
2611                                   format: int32
2612                                   type: integer
2613                                 details:
2614                                   description: StatusDetails is a set of additional
2615                                     properties that MAY be set by the server to provide
2616                                     additional information about a response. The Reason
2617                                     field of a Status object defines what attributes
2618                                     will be set. Clients must ignore fields that do
2619                                     not match the defined type of each attribute,
2620                                     and should assume that any attribute may be empty,
2621                                     invalid, or under defined.
2622                                   properties:
2623                                     causes:
2624                                       description: The Causes array includes more
2625                                         details associated with the StatusReason failure.
2626                                         Not all StatusReasons may provide detailed
2627                                         causes.
2628                                       items:
2629                                         description: StatusCause provides more information
2630                                           about an api.Status failure, including cases
2631                                           when multiple errors are encountered.
2632                                         properties:
2633                                           field:
2634                                             description: |-
2635                                               The field of the resource that has caused this error, as named by its JSON serialization. May include dot and postfix notation for nested attributes. Arrays are zero-indexed.  Fields may appear more than once in an array of causes due to fields having multiple errors. Optional.
2636
2637                                               Examples:
2638                                                 "name" - the field "name" on the current resource
2639                                                 "items[0].name" - the field "name" on the first array entry in "items"
2640                                             type: string
2641                                           message:
2642                                             description: A human-readable description
2643                                               of the cause of the error.  This field
2644                                               may be presented as-is to a reader.
2645                                             type: string
2646                                           reason:
2647                                             description: A machine-readable description
2648                                               of the cause of the error. If this value
2649                                               is empty there is no information available.
2650                                             type: string
2651                                       type: array
2652                                     group:
2653                                       description: The group attribute of the resource
2654                                         associated with the status StatusReason.
2655                                       type: string
2656                                     kind:
2657                                       description: 'The kind attribute of the resource
2658                                         associated with the status StatusReason. On
2659                                         some operations may differ from the requested
2660                                         resource Kind. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds'
2661                                       type: string
2662                                     name:
2663                                       description: The name attribute of the resource
2664                                         associated with the status StatusReason (when
2665                                         there is a single name which can be described).
2666                                       type: string
2667                                     retryAfterSeconds:
2668                                       description: If specified, the time in seconds
2669                                         before the operation should be retried. Some
2670                                         errors may indicate the client must take an
2671                                         alternate action - for those errors this field
2672                                         may indicate how long to wait before taking
2673                                         the alternate action.
2674                                       format: int32
2675                                       type: integer
2676                                     uid:
2677                                       description: 'UID of the resource. (when there
2678                                         is a single resource which can be described).
2679                                         More info: http://kubernetes.io/docs/user-guide/identifiers#uids'
2680                                       type: string
2681                                 kind:
2682                                   description: 'Kind is a string value representing
2683                                     the REST resource this object represents. Servers
2684                                     may infer this from the endpoint the client submits
2685                                     requests to. Cannot be updated. In CamelCase.
2686                                     More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds'
2687                                   type: string
2688                                 message:
2689                                   description: A human-readable description of the
2690                                     status of this operation.
2691                                   type: string
2692                                 metadata:
2693                                   description: ListMeta describes metadata that synthetic
2694                                     resources must have, including lists and various
2695                                     status objects. A resource may have only one of
2696                                     {ObjectMeta, ListMeta}.
2697                                   properties:
2698                                     continue:
2699                                       description: continue may be set if the user
2700                                         set a limit on the number of items returned,
2701                                         and indicates that the server has more data
2702                                         available. The value is opaque and may be
2703                                         used to issue another request to the endpoint
2704                                         that served this list to retrieve the next
2705                                         set of available objects. Continuing a consistent
2706                                         list may not be possible if the server configuration
2707                                         has changed or more than a few minutes have
2708                                         passed. The resourceVersion field returned
2709                                         when using this continue value will be identical
2710                                         to the value in the first response, unless
2711                                         you have received this token from an error
2712                                         message.
2713                                       type: string
2714                                     resourceVersion:
2715                                       description: 'String that identifies the server''s
2716                                         internal version of this object that can be
2717                                         used by clients to determine when objects
2718                                         have changed. Value must be treated as opaque
2719                                         by clients and passed unmodified back to the
2720                                         server. Populated by the system. Read-only.
2721                                         More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency'
2722                                       type: string
2723                                     selfLink:
2724                                       description: selfLink is a URL representing
2725                                         this object. Populated by the system. Read-only.
2726                                       type: string
2727                                 reason:
2728                                   description: A machine-readable description of why
2729                                     this operation is in the "Failure" status. If
2730                                     this value is empty there is no information available.
2731                                     A Reason clarifies an HTTP status code but does
2732                                     not override it.
2733                                   type: string
2734                                 status:
2735                                   description: 'Status of the operation. One of: "Success"
2736                                     or "Failure". More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status'
2737                                   type: string
2738                           required:
2739                           - pending
2740                         labels:
2741                           description: 'Map of string keys and values that can be
2742                             used to organize and categorize (scope and select) objects.
2743                             May match selectors of replication controllers and services.
2744                             More info: http://kubernetes.io/docs/user-guide/labels'
2745                           type: object
2746                         name:
2747                           description: 'Name must be unique within a namespace. Is
2748                             required when creating resources, although some resources
2749                             may allow a client to request the generation of an appropriate
2750                             name automatically. Name is primarily intended for creation
2751                             idempotence and configuration definition. Cannot be updated.
2752                             More info: http://kubernetes.io/docs/user-guide/identifiers#names'
2753                           type: string
2754                         namespace:
2755                           description: |-
2756                             Namespace defines the space within each name must be unique. An empty namespace is equivalent to the "default" namespace, but "default" is the canonical representation. Not all objects are required to be scoped to a namespace - the value of this field for those objects will be empty.
2757
2758                             Must be a DNS_LABEL. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/namespaces
2759                           type: string
2760                         ownerReferences:
2761                           description: List of objects depended by this object. If
2762                             ALL objects in the list have been deleted, this object
2763                             will be garbage collected. If this object is managed by
2764                             a controller, then an entry in this list will point to
2765                             this controller, with the controller field set to true.
2766                             There cannot be more than one managing controller.
2767                           items:
2768                             description: OwnerReference contains enough information
2769                               to let you identify an owning object. Currently, an
2770                               owning object must be in the same namespace, so there
2771                               is no namespace field.
2772                             properties:
2773                               apiVersion:
2774                                 description: API version of the referent.
2775                                 type: string
2776                               blockOwnerDeletion:
2777                                 description: If true, AND if the owner has the "foregroundDeletion"
2778                                   finalizer, then the owner cannot be deleted from
2779                                   the key-value store until this reference is removed.
2780                                   Defaults to false. To set this field, a user needs
2781                                   "delete" permission of the owner, otherwise 422
2782                                   (Unprocessable Entity) will be returned.
2783                                 type: boolean
2784                               controller:
2785                                 description: If true, this reference points to the
2786                                   managing controller.
2787                                 type: boolean
2788                               kind:
2789                                 description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds'
2790                                 type: string
2791                               name:
2792                                 description: 'Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names'
2793                                 type: string
2794                               uid:
2795                                 description: 'UID of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#uids'
2796                                 type: string
2797                             required:
2798                             - apiVersion
2799                             - kind
2800                             - name
2801                             - uid
2802                           type: array
2803                         resourceVersion:
2804                           description: |-
2805                             An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources.
2806
2807                             Populated by the system. Read-only. Value must be treated as opaque by clients and . More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency
2808                           type: string
2809                         selfLink:
2810                           description: SelfLink is a URL representing this object.
2811                             Populated by the system. Read-only.
2812                           type: string
2813                         uid:
2814                           description: |-
2815                             UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.
2816
2817                             Populated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids
2818                           type: string
2819                     spec:
2820                       description: PersistentVolumeClaimSpec describes the common
2821                         attributes of storage devices and allows a Source for provider-specific
2822                         attributes
2823                       properties:
2824                         accessModes:
2825                           description: 'AccessModes contains the desired access modes
2826                             the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1'
2827                           items:
2828                             type: string
2829                           type: array
2830                         dataSource:
2831                           description: TypedLocalObjectReference contains enough information
2832                             to let you locate the typed referenced object inside the
2833                             same namespace.
2834                           properties:
2835                             apiGroup:
2836                               description: APIGroup is the group for the resource
2837                                 being referenced. If APIGroup is not specified, the
2838                                 specified Kind must be in the core API group. For
2839                                 any other third-party types, APIGroup is required.
2840                               type: string
2841                             kind:
2842                               description: Kind is the type of resource being referenced
2843                               type: string
2844                             name:
2845                               description: Name is the name of resource being referenced
2846                               type: string
2847                           required:
2848                           - kind
2849                           - name
2850                         resources:
2851                           description: ResourceRequirements describes the compute
2852                             resource requirements.
2853                           properties:
2854                             limits:
2855                               description: 'Limits describes the maximum amount of
2856                                 compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/'
2857                               type: object
2858                             requests:
2859                               description: 'Requests describes the minimum amount
2860                                 of compute resources required. If Requests is omitted
2861                                 for a container, it defaults to Limits if that is
2862                                 explicitly specified, otherwise to an implementation-defined
2863                                 value. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/'
2864                               type: object
2865                         selector:
2866                           description: A label selector is a label query over a set
2867                             of resources. The result of matchLabels and matchExpressions
2868                             are ANDed. An empty label selector matches all objects.
2869                             A null label selector matches no objects.
2870                           properties:
2871                             matchExpressions:
2872                               description: matchExpressions is a list of label selector
2873                                 requirements. The requirements are ANDed.
2874                               items:
2875                                 description: A label selector requirement is a selector
2876                                   that contains values, a key, and an operator that
2877                                   relates the key and values.
2878                                 properties:
2879                                   key:
2880                                     description: key is the label key that the selector
2881                                       applies to.
2882                                     type: string
2883                                   operator:
2884                                     description: operator represents a key's relationship
2885                                       to a set of values. Valid operators are In,
2886                                       NotIn, Exists and DoesNotExist.
2887                                     type: string
2888                                   values:
2889                                     description: values is an array of string values.
2890                                       If the operator is In or NotIn, the values array
2891                                       must be non-empty. If the operator is Exists
2892                                       or DoesNotExist, the values array must be empty.
2893                                       This array is replaced during a strategic merge
2894                                       patch.
2895                                     items:
2896                                       type: string
2897                                     type: array
2898                                 required:
2899                                 - key
2900                                 - operator
2901                               type: array
2902                             matchLabels:
2903                               description: matchLabels is a map of {key,value} pairs.
2904                                 A single {key,value} in the matchLabels map is equivalent
2905                                 to an element of matchExpressions, whose key field
2906                                 is "key", the operator is "In", and the values array
2907                                 contains only "value". The requirements are ANDed.
2908                               type: object
2909                         storageClassName:
2910                           description: 'Name of the StorageClass required by the claim.
2911                             More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1'
2912                           type: string
2913                         volumeMode:
2914                           description: volumeMode defines what type of volume is required
2915                             by the claim. Value of Filesystem is implied when not
2916                             included in claim spec. This is an alpha feature and may
2917                             change in the future.
2918                           type: string
2919                         volumeName:
2920                           description: VolumeName is the binding reference to the
2921                             PersistentVolume backing this claim.
2922                           type: string
2923                     status:
2924                       description: PersistentVolumeClaimStatus is the current status
2925                         of a persistent volume claim.
2926                       properties:
2927                         accessModes:
2928                           description: 'AccessModes contains the actual access modes
2929                             the volume backing the PVC has. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1'
2930                           items:
2931                             type: string
2932                           type: array
2933                         capacity:
2934                           description: Represents the actual resources of the underlying
2935                             volume.
2936                           type: object
2937                         conditions:
2938                           description: Current Condition of persistent volume claim.
2939                             If underlying persistent volume is being resized then
2940                             the Condition will be set to 'ResizeStarted'.
2941                           items:
2942                             description: PersistentVolumeClaimCondition contails details
2943                               about state of pvc
2944                             properties:
2945                               lastProbeTime:
2946                                 description: Time is a wrapper around time.Time which
2947                                   supports correct marshaling to YAML and JSON.  Wrappers
2948                                   are provided for many of the factory methods that
2949                                   the time package offers.
2950                                 format: date-time
2951                                 type: string
2952                               lastTransitionTime:
2953                                 description: Time is a wrapper around time.Time which
2954                                   supports correct marshaling to YAML and JSON.  Wrappers
2955                                   are provided for many of the factory methods that
2956                                   the time package offers.
2957                                 format: date-time
2958                                 type: string
2959                               message:
2960                                 description: Human-readable message indicating details
2961                                   about last transition.
2962                                 type: string
2963                               reason:
2964                                 description: Unique, this should be a short, machine
2965                                   understandable string that gives the reason for
2966                                   condition's last transition. If it reports "ResizeStarted"
2967                                   that means the underlying persistent volume is being
2968                                   resized.
2969                                 type: string
2970                               status:
2971                                 type: string
2972                               type:
2973                                 type: string
2974                             required:
2975                             - type
2976                             - status
2977                           type: array
2978                         phase:
2979                           description: Phase represents the current phase of PersistentVolumeClaim.
2980                           type: string
2981             tag:
2982               description: Tag of Prometheus container image to be deployed. Defaults
2983                 to the value of `version`. Version is ignored if Tag is set.
2984               type: string
2985             thanos:
2986               description: ThanosSpec defines parameters for a Prometheus server within
2987                 a Thanos deployment.
2988               properties:
2989                 baseImage:
2990                   description: Thanos base image if other than default.
2991                   type: string
2992                 gcs:
2993                   description: ThanosGCSSpec defines parameters for use of Google
2994                     Cloud Storage (GCS) with Thanos.
2995                   properties:
2996                     bucket:
2997                       description: Google Cloud Storage bucket name for stored blocks.
2998                         If empty it won't store any block inside Google Cloud Storage.
2999                       type: string
3000                     credentials:
3001                       description: SecretKeySelector selects a key of a Secret.
3002                       properties:
3003                         key:
3004                           description: The key of the secret to select from.  Must
3005                             be a valid secret key.
3006                           type: string
3007                         name:
3008                           description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
3009                           type: string
3010                         optional:
3011                           description: Specify whether the Secret or it's key must
3012                             be defined
3013                           type: boolean
3014                       required:
3015                       - key
3016                 peers:
3017                   description: Peers is a DNS name for Thanos to discover peers through.
3018                   type: string
3019                 resources:
3020                   description: ResourceRequirements describes the compute resource
3021                     requirements.
3022                   properties:
3023                     limits:
3024                       description: 'Limits describes the maximum amount of compute
3025                         resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/'
3026                       type: object
3027                     requests:
3028                       description: 'Requests describes the minimum amount of compute
3029                         resources required. If Requests is omitted for a container,
3030                         it defaults to Limits if that is explicitly specified, otherwise
3031                         to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/'
3032                       type: object
3033                 s3:
3034                   description: ThanosS3Spec defines parameters for of AWS Simple Storage
3035                     Service (S3) with Thanos. (S3 compatible services apply as well)
3036                   properties:
3037                     accessKey:
3038                       description: SecretKeySelector selects a key of a Secret.
3039                       properties:
3040                         key:
3041                           description: The key of the secret to select from.  Must
3042                             be a valid secret key.
3043                           type: string
3044                         name:
3045                           description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
3046                           type: string
3047                         optional:
3048                           description: Specify whether the Secret or it's key must
3049                             be defined
3050                           type: boolean
3051                       required:
3052                       - key
3053                     bucket:
3054                       description: S3-Compatible API bucket name for stored blocks.
3055                       type: string
3056                     encryptsse:
3057                       description: Whether to use Server Side Encryption
3058                       type: boolean
3059                     endpoint:
3060                       description: S3-Compatible API endpoint for stored blocks.
3061                       type: string
3062                     insecure:
3063                       description: Whether to use an insecure connection with an S3-Compatible
3064                         API.
3065                       type: boolean
3066                     secretKey:
3067                       description: SecretKeySelector selects a key of a Secret.
3068                       properties:
3069                         key:
3070                           description: The key of the secret to select from.  Must
3071                             be a valid secret key.
3072                           type: string
3073                         name:
3074                           description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
3075                           type: string
3076                         optional:
3077                           description: Specify whether the Secret or it's key must
3078                             be defined
3079                           type: boolean
3080                       required:
3081                       - key
3082                     signatureVersion2:
3083                       description: Whether to use S3 Signature Version 2; otherwise
3084                         Signature Version 4 will be used.
3085                       type: boolean
3086                 sha:
3087                   description: SHA of Thanos container image to be deployed. Defaults
3088                     to the value of `version`. Similar to a tag, but the SHA explicitly
3089                     deploys an immutable container image. Version and Tag are ignored
3090                     if SHA is set.
3091                   type: string
3092                 tag:
3093                   description: Tag of Thanos sidecar container image to be deployed.
3094                     Defaults to the value of `version`. Version is ignored if Tag
3095                     is set.
3096                   type: string
3097                 version:
3098                   description: Version describes the version of Thanos to use.
3099                   type: string
3100             tolerations:
3101               description: If specified, the pod's tolerations.
3102               items:
3103                 description: The pod this Toleration is attached to tolerates any
3104                   taint that matches the triple <key,value,effect> using the matching
3105                   operator <operator>.
3106                 properties:
3107                   effect:
3108                     description: Effect indicates the taint effect to match. Empty
3109                       means match all taint effects. When specified, allowed values
3110                       are NoSchedule, PreferNoSchedule and NoExecute.
3111                     type: string
3112                   key:
3113                     description: Key is the taint key that the toleration applies
3114                       to. Empty means match all taint keys. If the key is empty, operator
3115                       must be Exists; this combination means to match all values and
3116                       all keys.
3117                     type: string
3118                   operator:
3119                     description: Operator represents a key's relationship to the value.
3120                       Valid operators are Exists and Equal. Defaults to Equal. Exists
3121                       is equivalent to wildcard for value, so that a pod can tolerate
3122                       all taints of a particular category.
3123                     type: string
3124                   tolerationSeconds:
3125                     description: TolerationSeconds represents the period of time the
3126                       toleration (which must be of effect NoExecute, otherwise this
3127                       field is ignored) tolerates the taint. By default, it is not
3128                       set, which means tolerate the taint forever (do not evict).
3129                       Zero and negative values will be treated as 0 (evict immediately)
3130                       by the system.
3131                     format: int64
3132                     type: integer
3133                   value:
3134                     description: Value is the taint value the toleration matches to.
3135                       If the operator is Exists, the value should be empty, otherwise
3136                       just a regular string.
3137                     type: string
3138               type: array
3139             version:
3140               description: Version of Prometheus to be deployed.
3141               type: string
3142         status:
3143           description: 'PrometheusStatus is the most recent observed status of the
3144             Prometheus cluster. Read-only. Not included when requesting from the apiserver,
3145             only from the Prometheus Operator API itself. More info: https://github.com/kubernetes/community/blob/master/contributors/devel/api-conventions.md#spec-and-status'
3146           properties:
3147             availableReplicas:
3148               description: Total number of available pods (ready for at least minReadySeconds)
3149                 targeted by this Prometheus deployment.
3150               format: int32
3151               type: integer
3152             paused:
3153               description: Represents whether any actions on the underlaying managed
3154                 objects are being performed. Only delete actions will be performed.
3155               type: boolean
3156             replicas:
3157               description: Total number of non-terminated pods targeted by this Prometheus
3158                 deployment (their labels match the selector).
3159               format: int32
3160               type: integer
3161             unavailableReplicas:
3162               description: Total number of unavailable pods targeted by this Prometheus
3163                 deployment.
3164               format: int32
3165               type: integer
3166             updatedReplicas:
3167               description: Total number of non-terminated pods targeted by this Prometheus
3168                 deployment that have the desired version spec.
3169               format: int32
3170               type: integer
3171           required:
3172           - paused
3173           - replicas
3174           - updatedReplicas
3175           - availableReplicas
3176           - unavailableReplicas
3177   version: v1
3178 {{- end }}