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