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