github.com/1aal/kubeblocks@v0.0.0-20231107070852-e1c03e598921/deploy/helm/crds/apps.kubeblocks.io_clusterversions.yaml (about) 1 apiVersion: apiextensions.k8s.io/v1 2 kind: CustomResourceDefinition 3 metadata: 4 annotations: 5 controller-gen.kubebuilder.io/version: v0.12.1 6 labels: 7 app.kubernetes.io/name: kubeblocks 8 name: clusterversions.apps.kubeblocks.io 9 spec: 10 group: apps.kubeblocks.io 11 names: 12 categories: 13 - kubeblocks 14 kind: ClusterVersion 15 listKind: ClusterVersionList 16 plural: clusterversions 17 shortNames: 18 - cv 19 singular: clusterversion 20 scope: Cluster 21 versions: 22 - additionalPrinterColumns: 23 - description: ClusterDefinition referenced by cluster. 24 jsonPath: .spec.clusterDefinitionRef 25 name: CLUSTER-DEFINITION 26 type: string 27 - description: status phase 28 jsonPath: .status.phase 29 name: STATUS 30 type: string 31 - jsonPath: .metadata.creationTimestamp 32 name: AGE 33 type: date 34 name: v1alpha1 35 schema: 36 openAPIV3Schema: 37 description: ClusterVersion is the Schema for the ClusterVersions API 38 properties: 39 apiVersion: 40 description: 'APIVersion defines the versioned schema of this representation 41 of an object. Servers should convert recognized schemas to the latest 42 internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' 43 type: string 44 kind: 45 description: 'Kind is a string value representing the REST resource this 46 object represents. Servers may infer this from the endpoint the client 47 submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 48 type: string 49 metadata: 50 type: object 51 spec: 52 description: ClusterVersionSpec defines the desired state of ClusterVersion 53 properties: 54 clusterDefinitionRef: 55 description: ref ClusterDefinition. 56 pattern: ^[a-z0-9]([a-z0-9\.\-]*[a-z0-9])?$ 57 type: string 58 componentVersions: 59 description: List of components' containers versioning context, i.e., 60 container image ID, container commands, args., and environments. 61 items: 62 description: ClusterComponentVersion is an application version component 63 spec. 64 properties: 65 componentDefRef: 66 description: componentDefRef reference one of the cluster component 67 definition names in ClusterDefinition API (spec.componentDefs.name). 68 maxLength: 63 69 pattern: ^[a-z0-9]([a-z0-9\.\-]*[a-z0-9])?$ 70 type: string 71 configSpecs: 72 description: configSpecs defines a configuration extension mechanism 73 to handle configuration differences between versions, the 74 configTemplateRefs field, together with configTemplateRefs 75 in the ClusterDefinition, determines the final configuration 76 file. 77 items: 78 properties: 79 asEnvFrom: 80 description: 'asEnvFrom is optional: the list of containers 81 will be injected into EnvFrom.' 82 items: 83 type: string 84 type: array 85 x-kubernetes-list-type: set 86 constraintRef: 87 description: Specify the name of the referenced the configuration 88 constraints object. 89 maxLength: 63 90 pattern: ^[a-z0-9]([a-z0-9\.\-]*[a-z0-9])?$ 91 type: string 92 defaultMode: 93 description: 'defaultMode is optional: mode bits used 94 to set permissions on created files by default. Must 95 be an octal value between 0000 and 0777 or a decimal 96 value between 0 and 511. YAML accepts both octal and 97 decimal values, JSON requires decimal values for mode 98 bits. Defaults to 0644. Directories within the path 99 are not affected by this setting. This might be in conflict 100 with other options that affect the file mode, like fsGroup, 101 and the result can be other mode bits set.' 102 format: int32 103 type: integer 104 keys: 105 description: Specify a list of keys. If empty, ConfigConstraint 106 takes effect for all keys in configmap. 107 items: 108 type: string 109 type: array 110 x-kubernetes-list-type: set 111 legacyRenderedConfigSpec: 112 description: 'lazyRenderedConfigSpec is optional: specify 113 the secondary rendered config spec.' 114 properties: 115 namespace: 116 default: default 117 description: Specify the namespace of the referenced 118 the configuration template ConfigMap object. An 119 empty namespace is equivalent to the "default" namespace. 120 maxLength: 63 121 pattern: ^[a-z0-9]([a-z0-9\-]*[a-z0-9])?$ 122 type: string 123 policy: 124 default: none 125 description: policy defines how to merge external 126 imported templates into component templates. 127 enum: 128 - patch 129 - replace 130 - none 131 type: string 132 templateRef: 133 description: Specify the name of the referenced the 134 configuration template ConfigMap object. 135 maxLength: 63 136 pattern: ^[a-z0-9]([a-z0-9\.\-]*[a-z0-9])?$ 137 type: string 138 required: 139 - templateRef 140 type: object 141 name: 142 description: Specify the name of configuration template. 143 maxLength: 63 144 pattern: ^[a-z0-9]([a-z0-9\.\-]*[a-z0-9])?$ 145 type: string 146 namespace: 147 default: default 148 description: Specify the namespace of the referenced the 149 configuration template ConfigMap object. An empty namespace 150 is equivalent to the "default" namespace. 151 maxLength: 63 152 pattern: ^[a-z0-9]([a-z0-9\-]*[a-z0-9])?$ 153 type: string 154 templateRef: 155 description: Specify the name of the referenced the configuration 156 template ConfigMap object. 157 maxLength: 63 158 pattern: ^[a-z0-9]([a-z0-9\.\-]*[a-z0-9])?$ 159 type: string 160 volumeName: 161 description: volumeName is the volume name of PodTemplate, 162 which the configuration file produced through the configuration 163 template will be mounted to the corresponding volume. 164 Must be a DNS_LABEL name. The volume name must be defined 165 in podSpec.containers[*].volumeMounts. 166 maxLength: 63 167 pattern: ^[a-z]([a-z0-9\-]*[a-z0-9])?$ 168 type: string 169 required: 170 - name 171 - templateRef 172 - volumeName 173 type: object 174 type: array 175 x-kubernetes-list-map-keys: 176 - name 177 x-kubernetes-list-type: map 178 switchoverSpec: 179 description: switchoverSpec defines images for the component 180 to do switchover. It overrides `image` and `env` attributes 181 defined in ClusterDefinition.spec.componentDefs.SwitchoverSpec.CommandExecutorEnvItem. 182 properties: 183 cmdExecutorConfig: 184 description: CmdExecutorConfig is the command executor config. 185 properties: 186 env: 187 description: envs is a list of environment variables. 188 items: 189 description: EnvVar represents an environment variable 190 present in a Container. 191 properties: 192 name: 193 description: Name of the environment variable. 194 Must be a C_IDENTIFIER. 195 type: string 196 value: 197 description: 'Variable references $(VAR_NAME) 198 are expanded using the previously defined environment 199 variables in the container and any service environment 200 variables. If a variable cannot be resolved, 201 the reference in the input string will be unchanged. 202 Double $$ are reduced to a single $, which allows 203 for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" 204 will produce the string literal "$(VAR_NAME)". 205 Escaped references will never be expanded, regardless 206 of whether the variable exists or not. Defaults 207 to "".' 208 type: string 209 valueFrom: 210 description: Source for the environment variable's 211 value. Cannot be used if value is not empty. 212 properties: 213 configMapKeyRef: 214 description: Selects a key of a ConfigMap. 215 properties: 216 key: 217 description: The key to select. 218 type: string 219 name: 220 description: 'Name of the referent. More 221 info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 222 TODO: Add other useful fields. apiVersion, 223 kind, uid?' 224 type: string 225 optional: 226 description: Specify whether the ConfigMap 227 or its key must be defined 228 type: boolean 229 required: 230 - key 231 type: object 232 x-kubernetes-map-type: atomic 233 fieldRef: 234 description: 'Selects a field of the pod: 235 supports metadata.name, metadata.namespace, 236 `metadata.labels[''<KEY>'']`, `metadata.annotations[''<KEY>'']`, 237 spec.nodeName, spec.serviceAccountName, 238 status.hostIP, status.podIP, status.podIPs.' 239 properties: 240 apiVersion: 241 description: Version of the schema the 242 FieldPath is written in terms of, defaults 243 to "v1". 244 type: string 245 fieldPath: 246 description: Path of the field to select 247 in the specified API version. 248 type: string 249 required: 250 - fieldPath 251 type: object 252 x-kubernetes-map-type: atomic 253 resourceFieldRef: 254 description: 'Selects a resource of the container: 255 only resources limits and requests (limits.cpu, 256 limits.memory, limits.ephemeral-storage, 257 requests.cpu, requests.memory and requests.ephemeral-storage) 258 are currently supported.' 259 properties: 260 containerName: 261 description: 'Container name: required 262 for volumes, optional for env vars' 263 type: string 264 divisor: 265 anyOf: 266 - type: integer 267 - type: string 268 description: Specifies the output format 269 of the exposed resources, defaults to 270 "1" 271 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 272 x-kubernetes-int-or-string: true 273 resource: 274 description: 'Required: resource to select' 275 type: string 276 required: 277 - resource 278 type: object 279 x-kubernetes-map-type: atomic 280 secretKeyRef: 281 description: Selects a key of a secret in 282 the pod's namespace 283 properties: 284 key: 285 description: The key of the secret to 286 select from. Must be a valid secret 287 key. 288 type: string 289 name: 290 description: 'Name of the referent. More 291 info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 292 TODO: Add other useful fields. apiVersion, 293 kind, uid?' 294 type: string 295 optional: 296 description: Specify whether the Secret 297 or its key must be defined 298 type: boolean 299 required: 300 - key 301 type: object 302 x-kubernetes-map-type: atomic 303 type: object 304 required: 305 - name 306 type: object 307 type: array 308 x-kubernetes-preserve-unknown-fields: true 309 image: 310 description: image for Connector when executing the 311 command. 312 type: string 313 required: 314 - image 315 type: object 316 required: 317 - cmdExecutorConfig 318 type: object 319 systemAccountSpec: 320 description: systemAccountSpec define image for the component 321 to connect database or engines. It overrides `image` and `env` 322 attributes defined in ClusterDefinition.spec.componentDefs.systemAccountSpec.cmdExecutorConfig. 323 To clean default envs settings, set `SystemAccountSpec.CmdExecutorConfig.Env` 324 to empty list. 325 properties: 326 cmdExecutorConfig: 327 description: cmdExecutorConfig configs how to get client 328 SDK and perform statements. 329 properties: 330 env: 331 description: envs is a list of environment variables. 332 items: 333 description: EnvVar represents an environment variable 334 present in a Container. 335 properties: 336 name: 337 description: Name of the environment variable. 338 Must be a C_IDENTIFIER. 339 type: string 340 value: 341 description: 'Variable references $(VAR_NAME) 342 are expanded using the previously defined environment 343 variables in the container and any service environment 344 variables. If a variable cannot be resolved, 345 the reference in the input string will be unchanged. 346 Double $$ are reduced to a single $, which allows 347 for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" 348 will produce the string literal "$(VAR_NAME)". 349 Escaped references will never be expanded, regardless 350 of whether the variable exists or not. Defaults 351 to "".' 352 type: string 353 valueFrom: 354 description: Source for the environment variable's 355 value. Cannot be used if value is not empty. 356 properties: 357 configMapKeyRef: 358 description: Selects a key of a ConfigMap. 359 properties: 360 key: 361 description: The key to select. 362 type: string 363 name: 364 description: 'Name of the referent. More 365 info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 366 TODO: Add other useful fields. apiVersion, 367 kind, uid?' 368 type: string 369 optional: 370 description: Specify whether the ConfigMap 371 or its key must be defined 372 type: boolean 373 required: 374 - key 375 type: object 376 x-kubernetes-map-type: atomic 377 fieldRef: 378 description: 'Selects a field of the pod: 379 supports metadata.name, metadata.namespace, 380 `metadata.labels[''<KEY>'']`, `metadata.annotations[''<KEY>'']`, 381 spec.nodeName, spec.serviceAccountName, 382 status.hostIP, status.podIP, status.podIPs.' 383 properties: 384 apiVersion: 385 description: Version of the schema the 386 FieldPath is written in terms of, defaults 387 to "v1". 388 type: string 389 fieldPath: 390 description: Path of the field to select 391 in the specified API version. 392 type: string 393 required: 394 - fieldPath 395 type: object 396 x-kubernetes-map-type: atomic 397 resourceFieldRef: 398 description: 'Selects a resource of the container: 399 only resources limits and requests (limits.cpu, 400 limits.memory, limits.ephemeral-storage, 401 requests.cpu, requests.memory and requests.ephemeral-storage) 402 are currently supported.' 403 properties: 404 containerName: 405 description: 'Container name: required 406 for volumes, optional for env vars' 407 type: string 408 divisor: 409 anyOf: 410 - type: integer 411 - type: string 412 description: Specifies the output format 413 of the exposed resources, defaults to 414 "1" 415 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 416 x-kubernetes-int-or-string: true 417 resource: 418 description: 'Required: resource to select' 419 type: string 420 required: 421 - resource 422 type: object 423 x-kubernetes-map-type: atomic 424 secretKeyRef: 425 description: Selects a key of a secret in 426 the pod's namespace 427 properties: 428 key: 429 description: The key of the secret to 430 select from. Must be a valid secret 431 key. 432 type: string 433 name: 434 description: 'Name of the referent. More 435 info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 436 TODO: Add other useful fields. apiVersion, 437 kind, uid?' 438 type: string 439 optional: 440 description: Specify whether the Secret 441 or its key must be defined 442 type: boolean 443 required: 444 - key 445 type: object 446 x-kubernetes-map-type: atomic 447 type: object 448 required: 449 - name 450 type: object 451 type: array 452 x-kubernetes-preserve-unknown-fields: true 453 image: 454 description: image for Connector when executing the 455 command. 456 type: string 457 required: 458 - image 459 type: object 460 required: 461 - cmdExecutorConfig 462 type: object 463 versionsContext: 464 description: versionContext defines containers images' context 465 for component versions, this value replaces ClusterDefinition.spec.componentDefs.podSpec.[initContainers 466 | containers] 467 properties: 468 containers: 469 description: Provide ClusterDefinition.spec.componentDefs.podSpec.containers 470 override values, typical scenarios are application container 471 image updates. 472 items: 473 description: A single application container that you want 474 to run within a pod. 475 properties: 476 args: 477 description: 'Arguments to the entrypoint. The container 478 image''s CMD is used if this is not provided. Variable 479 references $(VAR_NAME) are expanded using the container''s 480 environment. If a variable cannot be resolved, the 481 reference in the input string will be unchanged. 482 Double $$ are reduced to a single $, which allows 483 for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" 484 will produce the string literal "$(VAR_NAME)". Escaped 485 references will never be expanded, regardless of 486 whether the variable exists or not. Cannot be updated. 487 More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell' 488 items: 489 type: string 490 type: array 491 command: 492 description: 'Entrypoint array. Not executed within 493 a shell. The container image''s ENTRYPOINT is used 494 if this is not provided. Variable references $(VAR_NAME) 495 are expanded using the container''s environment. 496 If a variable cannot be resolved, the reference 497 in the input string will be unchanged. Double $$ 498 are reduced to a single $, which allows for escaping 499 the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will 500 produce the string literal "$(VAR_NAME)". Escaped 501 references will never be expanded, regardless of 502 whether the variable exists or not. Cannot be updated. 503 More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell' 504 items: 505 type: string 506 type: array 507 env: 508 description: List of environment variables to set 509 in the container. Cannot be updated. 510 items: 511 description: EnvVar represents an environment variable 512 present in a Container. 513 properties: 514 name: 515 description: Name of the environment variable. 516 Must be a C_IDENTIFIER. 517 type: string 518 value: 519 description: 'Variable references $(VAR_NAME) 520 are expanded using the previously defined 521 environment variables in the container and 522 any service environment variables. If a variable 523 cannot be resolved, the reference in the input 524 string will be unchanged. Double $$ are reduced 525 to a single $, which allows for escaping the 526 $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will 527 produce the string literal "$(VAR_NAME)". 528 Escaped references will never be expanded, 529 regardless of whether the variable exists 530 or not. Defaults to "".' 531 type: string 532 valueFrom: 533 description: Source for the environment variable's 534 value. Cannot be used if value is not empty. 535 properties: 536 configMapKeyRef: 537 description: Selects a key of a ConfigMap. 538 properties: 539 key: 540 description: The key to select. 541 type: string 542 name: 543 description: 'Name of the referent. 544 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 545 TODO: Add other useful fields. apiVersion, 546 kind, uid?' 547 type: string 548 optional: 549 description: Specify whether the ConfigMap 550 or its key must be defined 551 type: boolean 552 required: 553 - key 554 type: object 555 x-kubernetes-map-type: atomic 556 fieldRef: 557 description: 'Selects a field of the pod: 558 supports metadata.name, metadata.namespace, 559 `metadata.labels[''<KEY>'']`, `metadata.annotations[''<KEY>'']`, 560 spec.nodeName, spec.serviceAccountName, 561 status.hostIP, status.podIP, status.podIPs.' 562 properties: 563 apiVersion: 564 description: Version of the schema the 565 FieldPath is written in terms of, 566 defaults to "v1". 567 type: string 568 fieldPath: 569 description: Path of the field to select 570 in the specified API version. 571 type: string 572 required: 573 - fieldPath 574 type: object 575 x-kubernetes-map-type: atomic 576 resourceFieldRef: 577 description: 'Selects a resource of the 578 container: only resources limits and requests 579 (limits.cpu, limits.memory, limits.ephemeral-storage, 580 requests.cpu, requests.memory and requests.ephemeral-storage) 581 are currently supported.' 582 properties: 583 containerName: 584 description: 'Container name: required 585 for volumes, optional for env vars' 586 type: string 587 divisor: 588 anyOf: 589 - type: integer 590 - type: string 591 description: Specifies the output format 592 of the exposed resources, defaults 593 to "1" 594 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 595 x-kubernetes-int-or-string: true 596 resource: 597 description: 'Required: resource to 598 select' 599 type: string 600 required: 601 - resource 602 type: object 603 x-kubernetes-map-type: atomic 604 secretKeyRef: 605 description: Selects a key of a secret in 606 the pod's namespace 607 properties: 608 key: 609 description: The key of the secret to 610 select from. Must be a valid secret 611 key. 612 type: string 613 name: 614 description: 'Name of the referent. 615 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 616 TODO: Add other useful fields. apiVersion, 617 kind, uid?' 618 type: string 619 optional: 620 description: Specify whether the Secret 621 or its key must be defined 622 type: boolean 623 required: 624 - key 625 type: object 626 x-kubernetes-map-type: atomic 627 type: object 628 required: 629 - name 630 type: object 631 type: array 632 envFrom: 633 description: List of sources to populate environment 634 variables in the container. The keys defined within 635 a source must be a C_IDENTIFIER. All invalid keys 636 will be reported as an event when the container 637 is starting. When a key exists in multiple sources, 638 the value associated with the last source will take 639 precedence. Values defined by an Env with a duplicate 640 key will take precedence. Cannot be updated. 641 items: 642 description: EnvFromSource represents the source 643 of a set of ConfigMaps 644 properties: 645 configMapRef: 646 description: The ConfigMap to select from 647 properties: 648 name: 649 description: 'Name of the referent. More 650 info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 651 TODO: Add other useful fields. apiVersion, 652 kind, uid?' 653 type: string 654 optional: 655 description: Specify whether the ConfigMap 656 must be defined 657 type: boolean 658 type: object 659 x-kubernetes-map-type: atomic 660 prefix: 661 description: An optional identifier to prepend 662 to each key in the ConfigMap. Must be a C_IDENTIFIER. 663 type: string 664 secretRef: 665 description: The Secret to select from 666 properties: 667 name: 668 description: 'Name of the referent. More 669 info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 670 TODO: Add other useful fields. apiVersion, 671 kind, uid?' 672 type: string 673 optional: 674 description: Specify whether the Secret 675 must be defined 676 type: boolean 677 type: object 678 x-kubernetes-map-type: atomic 679 type: object 680 type: array 681 image: 682 description: 'Container image name. More info: https://kubernetes.io/docs/concepts/containers/images 683 This field is optional to allow higher level config 684 management to default or override container images 685 in workload controllers like Deployments and StatefulSets.' 686 type: string 687 imagePullPolicy: 688 description: 'Image pull policy. One of Always, Never, 689 IfNotPresent. Defaults to Always if :latest tag 690 is specified, or IfNotPresent otherwise. Cannot 691 be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images' 692 type: string 693 lifecycle: 694 description: Actions that the management system should 695 take in response to container lifecycle events. 696 Cannot be updated. 697 properties: 698 postStart: 699 description: 'PostStart is called immediately 700 after a container is created. If the handler 701 fails, the container is terminated and restarted 702 according to its restart policy. Other management 703 of the container blocks until the hook completes. 704 More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks' 705 properties: 706 exec: 707 description: Exec specifies the action to 708 take. 709 properties: 710 command: 711 description: Command is the command line 712 to execute inside the container, the 713 working directory for the command is 714 root ('/') in the container's filesystem. 715 The command is simply exec'd, it is 716 not run inside a shell, so traditional 717 shell instructions ('|', etc) won't 718 work. To use a shell, you need to explicitly 719 call out to that shell. Exit status 720 of 0 is treated as live/healthy and 721 non-zero is unhealthy. 722 items: 723 type: string 724 type: array 725 type: object 726 httpGet: 727 description: HTTPGet specifies the http request 728 to perform. 729 properties: 730 host: 731 description: Host name to connect to, 732 defaults to the pod IP. You probably 733 want to set "Host" in httpHeaders instead. 734 type: string 735 httpHeaders: 736 description: Custom headers to set in 737 the request. HTTP allows repeated headers. 738 items: 739 description: HTTPHeader describes a 740 custom header to be used in HTTP probes 741 properties: 742 name: 743 description: The header field name. 744 This will be canonicalized upon 745 output, so case-variant names 746 will be understood as the same 747 header. 748 type: string 749 value: 750 description: The header field value 751 type: string 752 required: 753 - name 754 - value 755 type: object 756 type: array 757 path: 758 description: Path to access on the HTTP 759 server. 760 type: string 761 port: 762 anyOf: 763 - type: integer 764 - type: string 765 description: Name or number of the port 766 to access on the container. Number must 767 be in the range 1 to 65535. Name must 768 be an IANA_SVC_NAME. 769 x-kubernetes-int-or-string: true 770 scheme: 771 description: Scheme to use for connecting 772 to the host. Defaults to HTTP. 773 type: string 774 required: 775 - port 776 type: object 777 tcpSocket: 778 description: Deprecated. TCPSocket is NOT 779 supported as a LifecycleHandler and kept 780 for the backward compatibility. There are 781 no validation of this field and lifecycle 782 hooks will fail in runtime when tcp handler 783 is specified. 784 properties: 785 host: 786 description: 'Optional: Host name to connect 787 to, defaults to the pod IP.' 788 type: string 789 port: 790 anyOf: 791 - type: integer 792 - type: string 793 description: Number or name of the port 794 to access on the container. Number must 795 be in the range 1 to 65535. Name must 796 be an IANA_SVC_NAME. 797 x-kubernetes-int-or-string: true 798 required: 799 - port 800 type: object 801 type: object 802 preStop: 803 description: 'PreStop is called immediately before 804 a container is terminated due to an API request 805 or management event such as liveness/startup 806 probe failure, preemption, resource contention, 807 etc. The handler is not called if the container 808 crashes or exits. The Pod''s termination grace 809 period countdown begins before the PreStop hook 810 is executed. Regardless of the outcome of the 811 handler, the container will eventually terminate 812 within the Pod''s termination grace period (unless 813 delayed by finalizers). Other management of 814 the container blocks until the hook completes 815 or until the termination grace period is reached. 816 More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks' 817 properties: 818 exec: 819 description: Exec specifies the action to 820 take. 821 properties: 822 command: 823 description: Command is the command line 824 to execute inside the container, the 825 working directory for the command is 826 root ('/') in the container's filesystem. 827 The command is simply exec'd, it is 828 not run inside a shell, so traditional 829 shell instructions ('|', etc) won't 830 work. To use a shell, you need to explicitly 831 call out to that shell. Exit status 832 of 0 is treated as live/healthy and 833 non-zero is unhealthy. 834 items: 835 type: string 836 type: array 837 type: object 838 httpGet: 839 description: HTTPGet specifies the http request 840 to perform. 841 properties: 842 host: 843 description: Host name to connect to, 844 defaults to the pod IP. You probably 845 want to set "Host" in httpHeaders instead. 846 type: string 847 httpHeaders: 848 description: Custom headers to set in 849 the request. HTTP allows repeated headers. 850 items: 851 description: HTTPHeader describes a 852 custom header to be used in HTTP probes 853 properties: 854 name: 855 description: The header field name. 856 This will be canonicalized upon 857 output, so case-variant names 858 will be understood as the same 859 header. 860 type: string 861 value: 862 description: The header field value 863 type: string 864 required: 865 - name 866 - value 867 type: object 868 type: array 869 path: 870 description: Path to access on the HTTP 871 server. 872 type: string 873 port: 874 anyOf: 875 - type: integer 876 - type: string 877 description: Name or number of the port 878 to access on the container. Number must 879 be in the range 1 to 65535. Name must 880 be an IANA_SVC_NAME. 881 x-kubernetes-int-or-string: true 882 scheme: 883 description: Scheme to use for connecting 884 to the host. Defaults to HTTP. 885 type: string 886 required: 887 - port 888 type: object 889 tcpSocket: 890 description: Deprecated. TCPSocket is NOT 891 supported as a LifecycleHandler and kept 892 for the backward compatibility. There are 893 no validation of this field and lifecycle 894 hooks will fail in runtime when tcp handler 895 is specified. 896 properties: 897 host: 898 description: 'Optional: Host name to connect 899 to, defaults to the pod IP.' 900 type: string 901 port: 902 anyOf: 903 - type: integer 904 - type: string 905 description: Number or name of the port 906 to access on the container. Number must 907 be in the range 1 to 65535. Name must 908 be an IANA_SVC_NAME. 909 x-kubernetes-int-or-string: true 910 required: 911 - port 912 type: object 913 type: object 914 type: object 915 livenessProbe: 916 description: 'Periodic probe of container liveness. 917 Container will be restarted if the probe fails. 918 Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 919 properties: 920 exec: 921 description: Exec specifies the action to take. 922 properties: 923 command: 924 description: Command is the command line to 925 execute inside the container, the working 926 directory for the command is root ('/') 927 in the container's filesystem. The command 928 is simply exec'd, it is not run inside a 929 shell, so traditional shell instructions 930 ('|', etc) won't work. To use a shell, you 931 need to explicitly call out to that shell. 932 Exit status of 0 is treated as live/healthy 933 and non-zero is unhealthy. 934 items: 935 type: string 936 type: array 937 type: object 938 failureThreshold: 939 description: Minimum consecutive failures for 940 the probe to be considered failed after having 941 succeeded. Defaults to 3. Minimum value is 1. 942 format: int32 943 type: integer 944 grpc: 945 description: GRPC specifies an action involving 946 a GRPC port. 947 properties: 948 port: 949 description: Port number of the gRPC service. 950 Number must be in the range 1 to 65535. 951 format: int32 952 type: integer 953 service: 954 description: "Service is the name of the service 955 to place in the gRPC HealthCheckRequest 956 (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). 957 \n If this is not specified, the default 958 behavior is defined by gRPC." 959 type: string 960 required: 961 - port 962 type: object 963 httpGet: 964 description: HTTPGet specifies the http request 965 to perform. 966 properties: 967 host: 968 description: Host name to connect to, defaults 969 to the pod IP. You probably want to set 970 "Host" in httpHeaders instead. 971 type: string 972 httpHeaders: 973 description: Custom headers to set in the 974 request. HTTP allows repeated headers. 975 items: 976 description: HTTPHeader describes a custom 977 header to be used in HTTP probes 978 properties: 979 name: 980 description: The header field name. 981 This will be canonicalized upon output, 982 so case-variant names will be understood 983 as the same header. 984 type: string 985 value: 986 description: The header field value 987 type: string 988 required: 989 - name 990 - value 991 type: object 992 type: array 993 path: 994 description: Path to access on the HTTP server. 995 type: string 996 port: 997 anyOf: 998 - type: integer 999 - type: string 1000 description: Name or number of the port to 1001 access on the container. Number must be 1002 in the range 1 to 65535. Name must be an 1003 IANA_SVC_NAME. 1004 x-kubernetes-int-or-string: true 1005 scheme: 1006 description: Scheme to use for connecting 1007 to the host. Defaults to HTTP. 1008 type: string 1009 required: 1010 - port 1011 type: object 1012 initialDelaySeconds: 1013 description: 'Number of seconds after the container 1014 has started before liveness probes are initiated. 1015 More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 1016 format: int32 1017 type: integer 1018 periodSeconds: 1019 description: How often (in seconds) to perform 1020 the probe. Default to 10 seconds. Minimum value 1021 is 1. 1022 format: int32 1023 type: integer 1024 successThreshold: 1025 description: Minimum consecutive successes for 1026 the probe to be considered successful after 1027 having failed. Defaults to 1. Must be 1 for 1028 liveness and startup. Minimum value is 1. 1029 format: int32 1030 type: integer 1031 tcpSocket: 1032 description: TCPSocket specifies an action involving 1033 a TCP port. 1034 properties: 1035 host: 1036 description: 'Optional: Host name to connect 1037 to, defaults to the pod IP.' 1038 type: string 1039 port: 1040 anyOf: 1041 - type: integer 1042 - type: string 1043 description: Number or name of the port to 1044 access on the container. Number must be 1045 in the range 1 to 65535. Name must be an 1046 IANA_SVC_NAME. 1047 x-kubernetes-int-or-string: true 1048 required: 1049 - port 1050 type: object 1051 terminationGracePeriodSeconds: 1052 description: Optional duration in seconds the 1053 pod needs to terminate gracefully upon probe 1054 failure. The grace period is the duration in 1055 seconds after the processes running in the pod 1056 are sent a termination signal and the time when 1057 the processes are forcibly halted with a kill 1058 signal. Set this value longer than the expected 1059 cleanup time for your process. If this value 1060 is nil, the pod's terminationGracePeriodSeconds 1061 will be used. Otherwise, this value overrides 1062 the value provided by the pod spec. Value must 1063 be non-negative integer. The value zero indicates 1064 stop immediately via the kill signal (no opportunity 1065 to shut down). This is a beta field and requires 1066 enabling ProbeTerminationGracePeriod feature 1067 gate. Minimum value is 1. spec.terminationGracePeriodSeconds 1068 is used if unset. 1069 format: int64 1070 type: integer 1071 timeoutSeconds: 1072 description: 'Number of seconds after which the 1073 probe times out. Defaults to 1 second. Minimum 1074 value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 1075 format: int32 1076 type: integer 1077 type: object 1078 name: 1079 description: Name of the container specified as a 1080 DNS_LABEL. Each container in a pod must have a unique 1081 name (DNS_LABEL). Cannot be updated. 1082 type: string 1083 ports: 1084 description: List of ports to expose from the container. 1085 Not specifying a port here DOES NOT prevent that 1086 port from being exposed. Any port which is listening 1087 on the default "0.0.0.0" address inside a container 1088 will be accessible from the network. Modifying this 1089 array with strategic merge patch may corrupt the 1090 data. For more information See https://github.com/kubernetes/kubernetes/issues/108255. 1091 Cannot be updated. 1092 items: 1093 description: ContainerPort represents a network 1094 port in a single container. 1095 properties: 1096 containerPort: 1097 description: Number of port to expose on the 1098 pod's IP address. This must be a valid port 1099 number, 0 < x < 65536. 1100 format: int32 1101 type: integer 1102 hostIP: 1103 description: What host IP to bind the external 1104 port to. 1105 type: string 1106 hostPort: 1107 description: Number of port to expose on the 1108 host. If specified, this must be a valid port 1109 number, 0 < x < 65536. If HostNetwork is specified, 1110 this must match ContainerPort. Most containers 1111 do not need this. 1112 format: int32 1113 type: integer 1114 name: 1115 description: If specified, this must be an IANA_SVC_NAME 1116 and unique within the pod. Each named port 1117 in a pod must have a unique name. Name for 1118 the port that can be referred to by services. 1119 type: string 1120 protocol: 1121 default: TCP 1122 description: Protocol for port. Must be UDP, 1123 TCP, or SCTP. Defaults to "TCP". 1124 type: string 1125 required: 1126 - containerPort 1127 type: object 1128 type: array 1129 x-kubernetes-list-map-keys: 1130 - containerPort 1131 - protocol 1132 x-kubernetes-list-type: map 1133 readinessProbe: 1134 description: 'Periodic probe of container service 1135 readiness. Container will be removed from service 1136 endpoints if the probe fails. Cannot be updated. 1137 More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 1138 properties: 1139 exec: 1140 description: Exec specifies the action to take. 1141 properties: 1142 command: 1143 description: Command is the command line to 1144 execute inside the container, the working 1145 directory for the command is root ('/') 1146 in the container's filesystem. The command 1147 is simply exec'd, it is not run inside a 1148 shell, so traditional shell instructions 1149 ('|', etc) won't work. To use a shell, you 1150 need to explicitly call out to that shell. 1151 Exit status of 0 is treated as live/healthy 1152 and non-zero is unhealthy. 1153 items: 1154 type: string 1155 type: array 1156 type: object 1157 failureThreshold: 1158 description: Minimum consecutive failures for 1159 the probe to be considered failed after having 1160 succeeded. Defaults to 3. Minimum value is 1. 1161 format: int32 1162 type: integer 1163 grpc: 1164 description: GRPC specifies an action involving 1165 a GRPC port. 1166 properties: 1167 port: 1168 description: Port number of the gRPC service. 1169 Number must be in the range 1 to 65535. 1170 format: int32 1171 type: integer 1172 service: 1173 description: "Service is the name of the service 1174 to place in the gRPC HealthCheckRequest 1175 (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). 1176 \n If this is not specified, the default 1177 behavior is defined by gRPC." 1178 type: string 1179 required: 1180 - port 1181 type: object 1182 httpGet: 1183 description: HTTPGet specifies the http request 1184 to perform. 1185 properties: 1186 host: 1187 description: Host name to connect to, defaults 1188 to the pod IP. You probably want to set 1189 "Host" in httpHeaders instead. 1190 type: string 1191 httpHeaders: 1192 description: Custom headers to set in the 1193 request. HTTP allows repeated headers. 1194 items: 1195 description: HTTPHeader describes a custom 1196 header to be used in HTTP probes 1197 properties: 1198 name: 1199 description: The header field name. 1200 This will be canonicalized upon output, 1201 so case-variant names will be understood 1202 as the same header. 1203 type: string 1204 value: 1205 description: The header field value 1206 type: string 1207 required: 1208 - name 1209 - value 1210 type: object 1211 type: array 1212 path: 1213 description: Path to access on the HTTP server. 1214 type: string 1215 port: 1216 anyOf: 1217 - type: integer 1218 - type: string 1219 description: Name or number of the port to 1220 access on the container. Number must be 1221 in the range 1 to 65535. Name must be an 1222 IANA_SVC_NAME. 1223 x-kubernetes-int-or-string: true 1224 scheme: 1225 description: Scheme to use for connecting 1226 to the host. Defaults to HTTP. 1227 type: string 1228 required: 1229 - port 1230 type: object 1231 initialDelaySeconds: 1232 description: 'Number of seconds after the container 1233 has started before liveness probes are initiated. 1234 More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 1235 format: int32 1236 type: integer 1237 periodSeconds: 1238 description: How often (in seconds) to perform 1239 the probe. Default to 10 seconds. Minimum value 1240 is 1. 1241 format: int32 1242 type: integer 1243 successThreshold: 1244 description: Minimum consecutive successes for 1245 the probe to be considered successful after 1246 having failed. Defaults to 1. Must be 1 for 1247 liveness and startup. Minimum value is 1. 1248 format: int32 1249 type: integer 1250 tcpSocket: 1251 description: TCPSocket specifies an action involving 1252 a TCP port. 1253 properties: 1254 host: 1255 description: 'Optional: Host name to connect 1256 to, defaults to the pod IP.' 1257 type: string 1258 port: 1259 anyOf: 1260 - type: integer 1261 - type: string 1262 description: Number or name of the port to 1263 access on the container. Number must be 1264 in the range 1 to 65535. Name must be an 1265 IANA_SVC_NAME. 1266 x-kubernetes-int-or-string: true 1267 required: 1268 - port 1269 type: object 1270 terminationGracePeriodSeconds: 1271 description: Optional duration in seconds the 1272 pod needs to terminate gracefully upon probe 1273 failure. The grace period is the duration in 1274 seconds after the processes running in the pod 1275 are sent a termination signal and the time when 1276 the processes are forcibly halted with a kill 1277 signal. Set this value longer than the expected 1278 cleanup time for your process. If this value 1279 is nil, the pod's terminationGracePeriodSeconds 1280 will be used. Otherwise, this value overrides 1281 the value provided by the pod spec. Value must 1282 be non-negative integer. The value zero indicates 1283 stop immediately via the kill signal (no opportunity 1284 to shut down). This is a beta field and requires 1285 enabling ProbeTerminationGracePeriod feature 1286 gate. Minimum value is 1. spec.terminationGracePeriodSeconds 1287 is used if unset. 1288 format: int64 1289 type: integer 1290 timeoutSeconds: 1291 description: 'Number of seconds after which the 1292 probe times out. Defaults to 1 second. Minimum 1293 value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 1294 format: int32 1295 type: integer 1296 type: object 1297 resizePolicy: 1298 description: Resources resize policy for the container. 1299 items: 1300 description: ContainerResizePolicy represents resource 1301 resize policy for the container. 1302 properties: 1303 resourceName: 1304 description: 'Name of the resource to which 1305 this resource resize policy applies. Supported 1306 values: cpu, memory.' 1307 type: string 1308 restartPolicy: 1309 description: Restart policy to apply when specified 1310 resource is resized. If not specified, it 1311 defaults to NotRequired. 1312 type: string 1313 required: 1314 - resourceName 1315 - restartPolicy 1316 type: object 1317 type: array 1318 x-kubernetes-list-type: atomic 1319 resources: 1320 description: 'Compute Resources required by this container. 1321 Cannot be updated. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' 1322 properties: 1323 claims: 1324 description: "Claims lists the names of resources, 1325 defined in spec.resourceClaims, that are used 1326 by this container. \n This is an alpha field 1327 and requires enabling the DynamicResourceAllocation 1328 feature gate. \n This field is immutable. It 1329 can only be set for containers." 1330 items: 1331 description: ResourceClaim references one entry 1332 in PodSpec.ResourceClaims. 1333 properties: 1334 name: 1335 description: Name must match the name of 1336 one entry in pod.spec.resourceClaims of 1337 the Pod where this field is used. It makes 1338 that resource available inside a container. 1339 type: string 1340 required: 1341 - name 1342 type: object 1343 type: array 1344 x-kubernetes-list-map-keys: 1345 - name 1346 x-kubernetes-list-type: map 1347 limits: 1348 additionalProperties: 1349 anyOf: 1350 - type: integer 1351 - type: string 1352 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 1353 x-kubernetes-int-or-string: true 1354 description: 'Limits describes the maximum amount 1355 of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' 1356 type: object 1357 requests: 1358 additionalProperties: 1359 anyOf: 1360 - type: integer 1361 - type: string 1362 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 1363 x-kubernetes-int-or-string: true 1364 description: 'Requests describes the minimum amount 1365 of compute resources required. If Requests is 1366 omitted for a container, it defaults to Limits 1367 if that is explicitly specified, otherwise to 1368 an implementation-defined value. Requests cannot 1369 exceed Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' 1370 type: object 1371 type: object 1372 restartPolicy: 1373 description: 'RestartPolicy defines the restart behavior 1374 of individual containers in a pod. This field may 1375 only be set for init containers, and the only allowed 1376 value is "Always". For non-init containers or when 1377 this field is not specified, the restart behavior 1378 is defined by the Pod''s restart policy and the 1379 container type. Setting the RestartPolicy as "Always" 1380 for the init container will have the following effect: 1381 this init container will be continually restarted 1382 on exit until all regular containers have terminated. 1383 Once all regular containers have completed, all 1384 init containers with restartPolicy "Always" will 1385 be shut down. This lifecycle differs from normal 1386 init containers and is often referred to as a "sidecar" 1387 container. Although this init container still starts 1388 in the init container sequence, it does not wait 1389 for the container to complete before proceeding 1390 to the next init container. Instead, the next init 1391 container starts immediately after this init container 1392 is started, or after any startupProbe has successfully 1393 completed.' 1394 type: string 1395 securityContext: 1396 description: 'SecurityContext defines the security 1397 options the container should be run with. If set, 1398 the fields of SecurityContext override the equivalent 1399 fields of PodSecurityContext. More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/' 1400 properties: 1401 allowPrivilegeEscalation: 1402 description: 'AllowPrivilegeEscalation controls 1403 whether a process can gain more privileges than 1404 its parent process. This bool directly controls 1405 if the no_new_privs flag will be set on the 1406 container process. AllowPrivilegeEscalation 1407 is true always when the container is: 1) run 1408 as Privileged 2) has CAP_SYS_ADMIN Note that 1409 this field cannot be set when spec.os.name is 1410 windows.' 1411 type: boolean 1412 capabilities: 1413 description: The capabilities to add/drop when 1414 running containers. Defaults to the default 1415 set of capabilities granted by the container 1416 runtime. Note that this field cannot be set 1417 when spec.os.name is windows. 1418 properties: 1419 add: 1420 description: Added capabilities 1421 items: 1422 description: Capability represent POSIX 1423 capabilities type 1424 type: string 1425 type: array 1426 drop: 1427 description: Removed capabilities 1428 items: 1429 description: Capability represent POSIX 1430 capabilities type 1431 type: string 1432 type: array 1433 type: object 1434 privileged: 1435 description: Run container in privileged mode. 1436 Processes in privileged containers are essentially 1437 equivalent to root on the host. Defaults to 1438 false. Note that this field cannot be set when 1439 spec.os.name is windows. 1440 type: boolean 1441 procMount: 1442 description: procMount denotes the type of proc 1443 mount to use for the containers. The default 1444 is DefaultProcMount which uses the container 1445 runtime defaults for readonly paths and masked 1446 paths. This requires the ProcMountType feature 1447 flag to be enabled. Note that this field cannot 1448 be set when spec.os.name is windows. 1449 type: string 1450 readOnlyRootFilesystem: 1451 description: Whether this container has a read-only 1452 root filesystem. Default is false. Note that 1453 this field cannot be set when spec.os.name is 1454 windows. 1455 type: boolean 1456 runAsGroup: 1457 description: The GID to run the entrypoint of 1458 the container process. Uses runtime default 1459 if unset. May also be set in PodSecurityContext. If 1460 set in both SecurityContext and PodSecurityContext, 1461 the value specified in SecurityContext takes 1462 precedence. Note that this field cannot be set 1463 when spec.os.name is windows. 1464 format: int64 1465 type: integer 1466 runAsNonRoot: 1467 description: Indicates that the container must 1468 run as a non-root user. If true, the Kubelet 1469 will validate the image at runtime to ensure 1470 that it does not run as UID 0 (root) and fail 1471 to start the container if it does. If unset 1472 or false, no such validation will be performed. 1473 May also be set in PodSecurityContext. If set 1474 in both SecurityContext and PodSecurityContext, 1475 the value specified in SecurityContext takes 1476 precedence. 1477 type: boolean 1478 runAsUser: 1479 description: The UID to run the entrypoint of 1480 the container process. Defaults to user specified 1481 in image metadata if unspecified. May also be 1482 set in PodSecurityContext. If set in both SecurityContext 1483 and PodSecurityContext, the value specified 1484 in SecurityContext takes precedence. Note that 1485 this field cannot be set when spec.os.name is 1486 windows. 1487 format: int64 1488 type: integer 1489 seLinuxOptions: 1490 description: The SELinux context to be applied 1491 to the container. If unspecified, the container 1492 runtime will allocate a random SELinux context 1493 for each container. May also be set in PodSecurityContext. If 1494 set in both SecurityContext and PodSecurityContext, 1495 the value specified in SecurityContext takes 1496 precedence. Note that this field cannot be set 1497 when spec.os.name is windows. 1498 properties: 1499 level: 1500 description: Level is SELinux level label 1501 that applies to the container. 1502 type: string 1503 role: 1504 description: Role is a SELinux role label 1505 that applies to the container. 1506 type: string 1507 type: 1508 description: Type is a SELinux type label 1509 that applies to the container. 1510 type: string 1511 user: 1512 description: User is a SELinux user label 1513 that applies to the container. 1514 type: string 1515 type: object 1516 seccompProfile: 1517 description: The seccomp options to use by this 1518 container. If seccomp options are provided at 1519 both the pod & container level, the container 1520 options override the pod options. Note that 1521 this field cannot be set when spec.os.name is 1522 windows. 1523 properties: 1524 localhostProfile: 1525 description: localhostProfile indicates a 1526 profile defined in a file on the node should 1527 be used. The profile must be preconfigured 1528 on the node to work. Must be a descending 1529 path, relative to the kubelet's configured 1530 seccomp profile location. Must be set if 1531 type is "Localhost". Must NOT be set for 1532 any other type. 1533 type: string 1534 type: 1535 description: "type indicates which kind of 1536 seccomp profile will be applied. Valid options 1537 are: \n Localhost - a profile defined in 1538 a file on the node should be used. RuntimeDefault 1539 - the container runtime default profile 1540 should be used. Unconfined - no profile 1541 should be applied." 1542 type: string 1543 required: 1544 - type 1545 type: object 1546 windowsOptions: 1547 description: The Windows specific settings applied 1548 to all containers. If unspecified, the options 1549 from the PodSecurityContext will be used. If 1550 set in both SecurityContext and PodSecurityContext, 1551 the value specified in SecurityContext takes 1552 precedence. Note that this field cannot be set 1553 when spec.os.name is linux. 1554 properties: 1555 gmsaCredentialSpec: 1556 description: GMSACredentialSpec is where the 1557 GMSA admission webhook (https://github.com/kubernetes-sigs/windows-gmsa) 1558 inlines the contents of the GMSA credential 1559 spec named by the GMSACredentialSpecName 1560 field. 1561 type: string 1562 gmsaCredentialSpecName: 1563 description: GMSACredentialSpecName is the 1564 name of the GMSA credential spec to use. 1565 type: string 1566 hostProcess: 1567 description: HostProcess determines if a container 1568 should be run as a 'Host Process' container. 1569 All of a Pod's containers must have the 1570 same effective HostProcess value (it is 1571 not allowed to have a mix of HostProcess 1572 containers and non-HostProcess containers). 1573 In addition, if HostProcess is true then 1574 HostNetwork must also be set to true. 1575 type: boolean 1576 runAsUserName: 1577 description: The UserName in Windows to run 1578 the entrypoint of the container process. 1579 Defaults to the user specified in image 1580 metadata if unspecified. May also be set 1581 in PodSecurityContext. If set in both SecurityContext 1582 and PodSecurityContext, the value specified 1583 in SecurityContext takes precedence. 1584 type: string 1585 type: object 1586 type: object 1587 startupProbe: 1588 description: 'StartupProbe indicates that the Pod 1589 has successfully initialized. If specified, no other 1590 probes are executed until this completes successfully. 1591 If this probe fails, the Pod will be restarted, 1592 just as if the livenessProbe failed. This can be 1593 used to provide different probe parameters at the 1594 beginning of a Pod''s lifecycle, when it might take 1595 a long time to load data or warm a cache, than during 1596 steady-state operation. This cannot be updated. 1597 More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 1598 properties: 1599 exec: 1600 description: Exec specifies the action to take. 1601 properties: 1602 command: 1603 description: Command is the command line to 1604 execute inside the container, the working 1605 directory for the command is root ('/') 1606 in the container's filesystem. The command 1607 is simply exec'd, it is not run inside a 1608 shell, so traditional shell instructions 1609 ('|', etc) won't work. To use a shell, you 1610 need to explicitly call out to that shell. 1611 Exit status of 0 is treated as live/healthy 1612 and non-zero is unhealthy. 1613 items: 1614 type: string 1615 type: array 1616 type: object 1617 failureThreshold: 1618 description: Minimum consecutive failures for 1619 the probe to be considered failed after having 1620 succeeded. Defaults to 3. Minimum value is 1. 1621 format: int32 1622 type: integer 1623 grpc: 1624 description: GRPC specifies an action involving 1625 a GRPC port. 1626 properties: 1627 port: 1628 description: Port number of the gRPC service. 1629 Number must be in the range 1 to 65535. 1630 format: int32 1631 type: integer 1632 service: 1633 description: "Service is the name of the service 1634 to place in the gRPC HealthCheckRequest 1635 (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). 1636 \n If this is not specified, the default 1637 behavior is defined by gRPC." 1638 type: string 1639 required: 1640 - port 1641 type: object 1642 httpGet: 1643 description: HTTPGet specifies the http request 1644 to perform. 1645 properties: 1646 host: 1647 description: Host name to connect to, defaults 1648 to the pod IP. You probably want to set 1649 "Host" in httpHeaders instead. 1650 type: string 1651 httpHeaders: 1652 description: Custom headers to set in the 1653 request. HTTP allows repeated headers. 1654 items: 1655 description: HTTPHeader describes a custom 1656 header to be used in HTTP probes 1657 properties: 1658 name: 1659 description: The header field name. 1660 This will be canonicalized upon output, 1661 so case-variant names will be understood 1662 as the same header. 1663 type: string 1664 value: 1665 description: The header field value 1666 type: string 1667 required: 1668 - name 1669 - value 1670 type: object 1671 type: array 1672 path: 1673 description: Path to access on the HTTP server. 1674 type: string 1675 port: 1676 anyOf: 1677 - type: integer 1678 - type: string 1679 description: Name or number of the port to 1680 access on the container. Number must be 1681 in the range 1 to 65535. Name must be an 1682 IANA_SVC_NAME. 1683 x-kubernetes-int-or-string: true 1684 scheme: 1685 description: Scheme to use for connecting 1686 to the host. Defaults to HTTP. 1687 type: string 1688 required: 1689 - port 1690 type: object 1691 initialDelaySeconds: 1692 description: 'Number of seconds after the container 1693 has started before liveness probes are initiated. 1694 More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 1695 format: int32 1696 type: integer 1697 periodSeconds: 1698 description: How often (in seconds) to perform 1699 the probe. Default to 10 seconds. Minimum value 1700 is 1. 1701 format: int32 1702 type: integer 1703 successThreshold: 1704 description: Minimum consecutive successes for 1705 the probe to be considered successful after 1706 having failed. Defaults to 1. Must be 1 for 1707 liveness and startup. Minimum value is 1. 1708 format: int32 1709 type: integer 1710 tcpSocket: 1711 description: TCPSocket specifies an action involving 1712 a TCP port. 1713 properties: 1714 host: 1715 description: 'Optional: Host name to connect 1716 to, defaults to the pod IP.' 1717 type: string 1718 port: 1719 anyOf: 1720 - type: integer 1721 - type: string 1722 description: Number or name of the port to 1723 access on the container. Number must be 1724 in the range 1 to 65535. Name must be an 1725 IANA_SVC_NAME. 1726 x-kubernetes-int-or-string: true 1727 required: 1728 - port 1729 type: object 1730 terminationGracePeriodSeconds: 1731 description: Optional duration in seconds the 1732 pod needs to terminate gracefully upon probe 1733 failure. The grace period is the duration in 1734 seconds after the processes running in the pod 1735 are sent a termination signal and the time when 1736 the processes are forcibly halted with a kill 1737 signal. Set this value longer than the expected 1738 cleanup time for your process. If this value 1739 is nil, the pod's terminationGracePeriodSeconds 1740 will be used. Otherwise, this value overrides 1741 the value provided by the pod spec. Value must 1742 be non-negative integer. The value zero indicates 1743 stop immediately via the kill signal (no opportunity 1744 to shut down). This is a beta field and requires 1745 enabling ProbeTerminationGracePeriod feature 1746 gate. Minimum value is 1. spec.terminationGracePeriodSeconds 1747 is used if unset. 1748 format: int64 1749 type: integer 1750 timeoutSeconds: 1751 description: 'Number of seconds after which the 1752 probe times out. Defaults to 1 second. Minimum 1753 value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 1754 format: int32 1755 type: integer 1756 type: object 1757 stdin: 1758 description: Whether this container should allocate 1759 a buffer for stdin in the container runtime. If 1760 this is not set, reads from stdin in the container 1761 will always result in EOF. Default is false. 1762 type: boolean 1763 stdinOnce: 1764 description: Whether the container runtime should 1765 close the stdin channel after it has been opened 1766 by a single attach. When stdin is true the stdin 1767 stream will remain open across multiple attach sessions. 1768 If stdinOnce is set to true, stdin is opened on 1769 container start, is empty until the first client 1770 attaches to stdin, and then remains open and accepts 1771 data until the client disconnects, at which time 1772 stdin is closed and remains closed until the container 1773 is restarted. If this flag is false, a container 1774 processes that reads from stdin will never receive 1775 an EOF. Default is false 1776 type: boolean 1777 terminationMessagePath: 1778 description: 'Optional: Path at which the file to 1779 which the container''s termination message will 1780 be written is mounted into the container''s filesystem. 1781 Message written is intended to be brief final status, 1782 such as an assertion failure message. Will be truncated 1783 by the node if greater than 4096 bytes. The total 1784 message length across all containers will be limited 1785 to 12kb. Defaults to /dev/termination-log. Cannot 1786 be updated.' 1787 type: string 1788 terminationMessagePolicy: 1789 description: Indicate how the termination message 1790 should be populated. File will use the contents 1791 of terminationMessagePath to populate the container 1792 status message on both success and failure. FallbackToLogsOnError 1793 will use the last chunk of container log output 1794 if the termination message file is empty and the 1795 container exited with an error. The log output is 1796 limited to 2048 bytes or 80 lines, whichever is 1797 smaller. Defaults to File. Cannot be updated. 1798 type: string 1799 tty: 1800 description: Whether this container should allocate 1801 a TTY for itself, also requires 'stdin' to be true. 1802 Default is false. 1803 type: boolean 1804 volumeDevices: 1805 description: volumeDevices is the list of block devices 1806 to be used by the container. 1807 items: 1808 description: volumeDevice describes a mapping of 1809 a raw block device within a container. 1810 properties: 1811 devicePath: 1812 description: devicePath is the path inside of 1813 the container that the device will be mapped 1814 to. 1815 type: string 1816 name: 1817 description: name must match the name of a persistentVolumeClaim 1818 in the pod 1819 type: string 1820 required: 1821 - devicePath 1822 - name 1823 type: object 1824 type: array 1825 volumeMounts: 1826 description: Pod volumes to mount into the container's 1827 filesystem. Cannot be updated. 1828 items: 1829 description: VolumeMount describes a mounting of 1830 a Volume within a container. 1831 properties: 1832 mountPath: 1833 description: Path within the container at which 1834 the volume should be mounted. Must not contain 1835 ':'. 1836 type: string 1837 mountPropagation: 1838 description: mountPropagation determines how 1839 mounts are propagated from the host to container 1840 and the other way around. When not set, MountPropagationNone 1841 is used. This field is beta in 1.10. 1842 type: string 1843 name: 1844 description: This must match the Name of a Volume. 1845 type: string 1846 readOnly: 1847 description: Mounted read-only if true, read-write 1848 otherwise (false or unspecified). Defaults 1849 to false. 1850 type: boolean 1851 subPath: 1852 description: Path within the volume from which 1853 the container's volume should be mounted. 1854 Defaults to "" (volume's root). 1855 type: string 1856 subPathExpr: 1857 description: Expanded path within the volume 1858 from which the container's volume should be 1859 mounted. Behaves similarly to SubPath but 1860 environment variable references $(VAR_NAME) 1861 are expanded using the container's environment. 1862 Defaults to "" (volume's root). SubPathExpr 1863 and SubPath are mutually exclusive. 1864 type: string 1865 required: 1866 - mountPath 1867 - name 1868 type: object 1869 type: array 1870 workingDir: 1871 description: Container's working directory. If not 1872 specified, the container runtime's default will 1873 be used, which might be configured in the container 1874 image. Cannot be updated. 1875 type: string 1876 required: 1877 - name 1878 type: object 1879 type: array 1880 x-kubernetes-list-map-keys: 1881 - name 1882 x-kubernetes-list-type: map 1883 x-kubernetes-preserve-unknown-fields: true 1884 initContainers: 1885 description: Provide ClusterDefinition.spec.componentDefs.podSpec.initContainers 1886 override values, typical scenarios are application container 1887 image updates. 1888 items: 1889 description: A single application container that you want 1890 to run within a pod. 1891 properties: 1892 args: 1893 description: 'Arguments to the entrypoint. The container 1894 image''s CMD is used if this is not provided. Variable 1895 references $(VAR_NAME) are expanded using the container''s 1896 environment. If a variable cannot be resolved, the 1897 reference in the input string will be unchanged. 1898 Double $$ are reduced to a single $, which allows 1899 for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" 1900 will produce the string literal "$(VAR_NAME)". Escaped 1901 references will never be expanded, regardless of 1902 whether the variable exists or not. Cannot be updated. 1903 More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell' 1904 items: 1905 type: string 1906 type: array 1907 command: 1908 description: 'Entrypoint array. Not executed within 1909 a shell. The container image''s ENTRYPOINT is used 1910 if this is not provided. Variable references $(VAR_NAME) 1911 are expanded using the container''s environment. 1912 If a variable cannot be resolved, the reference 1913 in the input string will be unchanged. Double $$ 1914 are reduced to a single $, which allows for escaping 1915 the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will 1916 produce the string literal "$(VAR_NAME)". Escaped 1917 references will never be expanded, regardless of 1918 whether the variable exists or not. Cannot be updated. 1919 More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell' 1920 items: 1921 type: string 1922 type: array 1923 env: 1924 description: List of environment variables to set 1925 in the container. Cannot be updated. 1926 items: 1927 description: EnvVar represents an environment variable 1928 present in a Container. 1929 properties: 1930 name: 1931 description: Name of the environment variable. 1932 Must be a C_IDENTIFIER. 1933 type: string 1934 value: 1935 description: 'Variable references $(VAR_NAME) 1936 are expanded using the previously defined 1937 environment variables in the container and 1938 any service environment variables. If a variable 1939 cannot be resolved, the reference in the input 1940 string will be unchanged. Double $$ are reduced 1941 to a single $, which allows for escaping the 1942 $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will 1943 produce the string literal "$(VAR_NAME)". 1944 Escaped references will never be expanded, 1945 regardless of whether the variable exists 1946 or not. Defaults to "".' 1947 type: string 1948 valueFrom: 1949 description: Source for the environment variable's 1950 value. Cannot be used if value is not empty. 1951 properties: 1952 configMapKeyRef: 1953 description: Selects a key of a ConfigMap. 1954 properties: 1955 key: 1956 description: The key to select. 1957 type: string 1958 name: 1959 description: 'Name of the referent. 1960 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 1961 TODO: Add other useful fields. apiVersion, 1962 kind, uid?' 1963 type: string 1964 optional: 1965 description: Specify whether the ConfigMap 1966 or its key must be defined 1967 type: boolean 1968 required: 1969 - key 1970 type: object 1971 x-kubernetes-map-type: atomic 1972 fieldRef: 1973 description: 'Selects a field of the pod: 1974 supports metadata.name, metadata.namespace, 1975 `metadata.labels[''<KEY>'']`, `metadata.annotations[''<KEY>'']`, 1976 spec.nodeName, spec.serviceAccountName, 1977 status.hostIP, status.podIP, status.podIPs.' 1978 properties: 1979 apiVersion: 1980 description: Version of the schema the 1981 FieldPath is written in terms of, 1982 defaults to "v1". 1983 type: string 1984 fieldPath: 1985 description: Path of the field to select 1986 in the specified API version. 1987 type: string 1988 required: 1989 - fieldPath 1990 type: object 1991 x-kubernetes-map-type: atomic 1992 resourceFieldRef: 1993 description: 'Selects a resource of the 1994 container: only resources limits and requests 1995 (limits.cpu, limits.memory, limits.ephemeral-storage, 1996 requests.cpu, requests.memory and requests.ephemeral-storage) 1997 are currently supported.' 1998 properties: 1999 containerName: 2000 description: 'Container name: required 2001 for volumes, optional for env vars' 2002 type: string 2003 divisor: 2004 anyOf: 2005 - type: integer 2006 - type: string 2007 description: Specifies the output format 2008 of the exposed resources, defaults 2009 to "1" 2010 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 2011 x-kubernetes-int-or-string: true 2012 resource: 2013 description: 'Required: resource to 2014 select' 2015 type: string 2016 required: 2017 - resource 2018 type: object 2019 x-kubernetes-map-type: atomic 2020 secretKeyRef: 2021 description: Selects a key of a secret in 2022 the pod's namespace 2023 properties: 2024 key: 2025 description: The key of the secret to 2026 select from. Must be a valid secret 2027 key. 2028 type: string 2029 name: 2030 description: 'Name of the referent. 2031 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 2032 TODO: Add other useful fields. apiVersion, 2033 kind, uid?' 2034 type: string 2035 optional: 2036 description: Specify whether the Secret 2037 or its key must be defined 2038 type: boolean 2039 required: 2040 - key 2041 type: object 2042 x-kubernetes-map-type: atomic 2043 type: object 2044 required: 2045 - name 2046 type: object 2047 type: array 2048 envFrom: 2049 description: List of sources to populate environment 2050 variables in the container. The keys defined within 2051 a source must be a C_IDENTIFIER. All invalid keys 2052 will be reported as an event when the container 2053 is starting. When a key exists in multiple sources, 2054 the value associated with the last source will take 2055 precedence. Values defined by an Env with a duplicate 2056 key will take precedence. Cannot be updated. 2057 items: 2058 description: EnvFromSource represents the source 2059 of a set of ConfigMaps 2060 properties: 2061 configMapRef: 2062 description: The ConfigMap to select from 2063 properties: 2064 name: 2065 description: 'Name of the referent. More 2066 info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 2067 TODO: Add other useful fields. apiVersion, 2068 kind, uid?' 2069 type: string 2070 optional: 2071 description: Specify whether the ConfigMap 2072 must be defined 2073 type: boolean 2074 type: object 2075 x-kubernetes-map-type: atomic 2076 prefix: 2077 description: An optional identifier to prepend 2078 to each key in the ConfigMap. Must be a C_IDENTIFIER. 2079 type: string 2080 secretRef: 2081 description: The Secret to select from 2082 properties: 2083 name: 2084 description: 'Name of the referent. More 2085 info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 2086 TODO: Add other useful fields. apiVersion, 2087 kind, uid?' 2088 type: string 2089 optional: 2090 description: Specify whether the Secret 2091 must be defined 2092 type: boolean 2093 type: object 2094 x-kubernetes-map-type: atomic 2095 type: object 2096 type: array 2097 image: 2098 description: 'Container image name. More info: https://kubernetes.io/docs/concepts/containers/images 2099 This field is optional to allow higher level config 2100 management to default or override container images 2101 in workload controllers like Deployments and StatefulSets.' 2102 type: string 2103 imagePullPolicy: 2104 description: 'Image pull policy. One of Always, Never, 2105 IfNotPresent. Defaults to Always if :latest tag 2106 is specified, or IfNotPresent otherwise. Cannot 2107 be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images' 2108 type: string 2109 lifecycle: 2110 description: Actions that the management system should 2111 take in response to container lifecycle events. 2112 Cannot be updated. 2113 properties: 2114 postStart: 2115 description: 'PostStart is called immediately 2116 after a container is created. If the handler 2117 fails, the container is terminated and restarted 2118 according to its restart policy. Other management 2119 of the container blocks until the hook completes. 2120 More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks' 2121 properties: 2122 exec: 2123 description: Exec specifies the action to 2124 take. 2125 properties: 2126 command: 2127 description: Command is the command line 2128 to execute inside the container, the 2129 working directory for the command is 2130 root ('/') in the container's filesystem. 2131 The command is simply exec'd, it is 2132 not run inside a shell, so traditional 2133 shell instructions ('|', etc) won't 2134 work. To use a shell, you need to explicitly 2135 call out to that shell. Exit status 2136 of 0 is treated as live/healthy and 2137 non-zero is unhealthy. 2138 items: 2139 type: string 2140 type: array 2141 type: object 2142 httpGet: 2143 description: HTTPGet specifies the http request 2144 to perform. 2145 properties: 2146 host: 2147 description: Host name to connect to, 2148 defaults to the pod IP. You probably 2149 want to set "Host" in httpHeaders instead. 2150 type: string 2151 httpHeaders: 2152 description: Custom headers to set in 2153 the request. HTTP allows repeated headers. 2154 items: 2155 description: HTTPHeader describes a 2156 custom header to be used in HTTP probes 2157 properties: 2158 name: 2159 description: The header field name. 2160 This will be canonicalized upon 2161 output, so case-variant names 2162 will be understood as the same 2163 header. 2164 type: string 2165 value: 2166 description: The header field value 2167 type: string 2168 required: 2169 - name 2170 - value 2171 type: object 2172 type: array 2173 path: 2174 description: Path to access on the HTTP 2175 server. 2176 type: string 2177 port: 2178 anyOf: 2179 - type: integer 2180 - type: string 2181 description: Name or number of the port 2182 to access on the container. Number must 2183 be in the range 1 to 65535. Name must 2184 be an IANA_SVC_NAME. 2185 x-kubernetes-int-or-string: true 2186 scheme: 2187 description: Scheme to use for connecting 2188 to the host. Defaults to HTTP. 2189 type: string 2190 required: 2191 - port 2192 type: object 2193 tcpSocket: 2194 description: Deprecated. TCPSocket is NOT 2195 supported as a LifecycleHandler and kept 2196 for the backward compatibility. There are 2197 no validation of this field and lifecycle 2198 hooks will fail in runtime when tcp handler 2199 is specified. 2200 properties: 2201 host: 2202 description: 'Optional: Host name to connect 2203 to, defaults to the pod IP.' 2204 type: string 2205 port: 2206 anyOf: 2207 - type: integer 2208 - type: string 2209 description: Number or name of the port 2210 to access on the container. Number must 2211 be in the range 1 to 65535. Name must 2212 be an IANA_SVC_NAME. 2213 x-kubernetes-int-or-string: true 2214 required: 2215 - port 2216 type: object 2217 type: object 2218 preStop: 2219 description: 'PreStop is called immediately before 2220 a container is terminated due to an API request 2221 or management event such as liveness/startup 2222 probe failure, preemption, resource contention, 2223 etc. The handler is not called if the container 2224 crashes or exits. The Pod''s termination grace 2225 period countdown begins before the PreStop hook 2226 is executed. Regardless of the outcome of the 2227 handler, the container will eventually terminate 2228 within the Pod''s termination grace period (unless 2229 delayed by finalizers). Other management of 2230 the container blocks until the hook completes 2231 or until the termination grace period is reached. 2232 More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks' 2233 properties: 2234 exec: 2235 description: Exec specifies the action to 2236 take. 2237 properties: 2238 command: 2239 description: Command is the command line 2240 to execute inside the container, the 2241 working directory for the command is 2242 root ('/') in the container's filesystem. 2243 The command is simply exec'd, it is 2244 not run inside a shell, so traditional 2245 shell instructions ('|', etc) won't 2246 work. To use a shell, you need to explicitly 2247 call out to that shell. Exit status 2248 of 0 is treated as live/healthy and 2249 non-zero is unhealthy. 2250 items: 2251 type: string 2252 type: array 2253 type: object 2254 httpGet: 2255 description: HTTPGet specifies the http request 2256 to perform. 2257 properties: 2258 host: 2259 description: Host name to connect to, 2260 defaults to the pod IP. You probably 2261 want to set "Host" in httpHeaders instead. 2262 type: string 2263 httpHeaders: 2264 description: Custom headers to set in 2265 the request. HTTP allows repeated headers. 2266 items: 2267 description: HTTPHeader describes a 2268 custom header to be used in HTTP probes 2269 properties: 2270 name: 2271 description: The header field name. 2272 This will be canonicalized upon 2273 output, so case-variant names 2274 will be understood as the same 2275 header. 2276 type: string 2277 value: 2278 description: The header field value 2279 type: string 2280 required: 2281 - name 2282 - value 2283 type: object 2284 type: array 2285 path: 2286 description: Path to access on the HTTP 2287 server. 2288 type: string 2289 port: 2290 anyOf: 2291 - type: integer 2292 - type: string 2293 description: Name or number of the port 2294 to access on the container. Number must 2295 be in the range 1 to 65535. Name must 2296 be an IANA_SVC_NAME. 2297 x-kubernetes-int-or-string: true 2298 scheme: 2299 description: Scheme to use for connecting 2300 to the host. Defaults to HTTP. 2301 type: string 2302 required: 2303 - port 2304 type: object 2305 tcpSocket: 2306 description: Deprecated. TCPSocket is NOT 2307 supported as a LifecycleHandler and kept 2308 for the backward compatibility. There are 2309 no validation of this field and lifecycle 2310 hooks will fail in runtime when tcp handler 2311 is specified. 2312 properties: 2313 host: 2314 description: 'Optional: Host name to connect 2315 to, defaults to the pod IP.' 2316 type: string 2317 port: 2318 anyOf: 2319 - type: integer 2320 - type: string 2321 description: Number or name of the port 2322 to access on the container. Number must 2323 be in the range 1 to 65535. Name must 2324 be an IANA_SVC_NAME. 2325 x-kubernetes-int-or-string: true 2326 required: 2327 - port 2328 type: object 2329 type: object 2330 type: object 2331 livenessProbe: 2332 description: 'Periodic probe of container liveness. 2333 Container will be restarted if the probe fails. 2334 Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 2335 properties: 2336 exec: 2337 description: Exec specifies the action to take. 2338 properties: 2339 command: 2340 description: Command is the command line to 2341 execute inside the container, the working 2342 directory for the command is root ('/') 2343 in the container's filesystem. The command 2344 is simply exec'd, it is not run inside a 2345 shell, so traditional shell instructions 2346 ('|', etc) won't work. To use a shell, you 2347 need to explicitly call out to that shell. 2348 Exit status of 0 is treated as live/healthy 2349 and non-zero is unhealthy. 2350 items: 2351 type: string 2352 type: array 2353 type: object 2354 failureThreshold: 2355 description: Minimum consecutive failures for 2356 the probe to be considered failed after having 2357 succeeded. Defaults to 3. Minimum value is 1. 2358 format: int32 2359 type: integer 2360 grpc: 2361 description: GRPC specifies an action involving 2362 a GRPC port. 2363 properties: 2364 port: 2365 description: Port number of the gRPC service. 2366 Number must be in the range 1 to 65535. 2367 format: int32 2368 type: integer 2369 service: 2370 description: "Service is the name of the service 2371 to place in the gRPC HealthCheckRequest 2372 (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). 2373 \n If this is not specified, the default 2374 behavior is defined by gRPC." 2375 type: string 2376 required: 2377 - port 2378 type: object 2379 httpGet: 2380 description: HTTPGet specifies the http request 2381 to perform. 2382 properties: 2383 host: 2384 description: Host name to connect to, defaults 2385 to the pod IP. You probably want to set 2386 "Host" in httpHeaders instead. 2387 type: string 2388 httpHeaders: 2389 description: Custom headers to set in the 2390 request. HTTP allows repeated headers. 2391 items: 2392 description: HTTPHeader describes a custom 2393 header to be used in HTTP probes 2394 properties: 2395 name: 2396 description: The header field name. 2397 This will be canonicalized upon output, 2398 so case-variant names will be understood 2399 as the same header. 2400 type: string 2401 value: 2402 description: The header field value 2403 type: string 2404 required: 2405 - name 2406 - value 2407 type: object 2408 type: array 2409 path: 2410 description: Path to access on the HTTP server. 2411 type: string 2412 port: 2413 anyOf: 2414 - type: integer 2415 - type: string 2416 description: Name or number of the port to 2417 access on the container. Number must be 2418 in the range 1 to 65535. Name must be an 2419 IANA_SVC_NAME. 2420 x-kubernetes-int-or-string: true 2421 scheme: 2422 description: Scheme to use for connecting 2423 to the host. Defaults to HTTP. 2424 type: string 2425 required: 2426 - port 2427 type: object 2428 initialDelaySeconds: 2429 description: 'Number of seconds after the container 2430 has started before liveness probes are initiated. 2431 More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 2432 format: int32 2433 type: integer 2434 periodSeconds: 2435 description: How often (in seconds) to perform 2436 the probe. Default to 10 seconds. Minimum value 2437 is 1. 2438 format: int32 2439 type: integer 2440 successThreshold: 2441 description: Minimum consecutive successes for 2442 the probe to be considered successful after 2443 having failed. Defaults to 1. Must be 1 for 2444 liveness and startup. Minimum value is 1. 2445 format: int32 2446 type: integer 2447 tcpSocket: 2448 description: TCPSocket specifies an action involving 2449 a TCP port. 2450 properties: 2451 host: 2452 description: 'Optional: Host name to connect 2453 to, defaults to the pod IP.' 2454 type: string 2455 port: 2456 anyOf: 2457 - type: integer 2458 - type: string 2459 description: Number or name of the port to 2460 access on the container. Number must be 2461 in the range 1 to 65535. Name must be an 2462 IANA_SVC_NAME. 2463 x-kubernetes-int-or-string: true 2464 required: 2465 - port 2466 type: object 2467 terminationGracePeriodSeconds: 2468 description: Optional duration in seconds the 2469 pod needs to terminate gracefully upon probe 2470 failure. The grace period is the duration in 2471 seconds after the processes running in the pod 2472 are sent a termination signal and the time when 2473 the processes are forcibly halted with a kill 2474 signal. Set this value longer than the expected 2475 cleanup time for your process. If this value 2476 is nil, the pod's terminationGracePeriodSeconds 2477 will be used. Otherwise, this value overrides 2478 the value provided by the pod spec. Value must 2479 be non-negative integer. The value zero indicates 2480 stop immediately via the kill signal (no opportunity 2481 to shut down). This is a beta field and requires 2482 enabling ProbeTerminationGracePeriod feature 2483 gate. Minimum value is 1. spec.terminationGracePeriodSeconds 2484 is used if unset. 2485 format: int64 2486 type: integer 2487 timeoutSeconds: 2488 description: 'Number of seconds after which the 2489 probe times out. Defaults to 1 second. Minimum 2490 value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 2491 format: int32 2492 type: integer 2493 type: object 2494 name: 2495 description: Name of the container specified as a 2496 DNS_LABEL. Each container in a pod must have a unique 2497 name (DNS_LABEL). Cannot be updated. 2498 type: string 2499 ports: 2500 description: List of ports to expose from the container. 2501 Not specifying a port here DOES NOT prevent that 2502 port from being exposed. Any port which is listening 2503 on the default "0.0.0.0" address inside a container 2504 will be accessible from the network. Modifying this 2505 array with strategic merge patch may corrupt the 2506 data. For more information See https://github.com/kubernetes/kubernetes/issues/108255. 2507 Cannot be updated. 2508 items: 2509 description: ContainerPort represents a network 2510 port in a single container. 2511 properties: 2512 containerPort: 2513 description: Number of port to expose on the 2514 pod's IP address. This must be a valid port 2515 number, 0 < x < 65536. 2516 format: int32 2517 type: integer 2518 hostIP: 2519 description: What host IP to bind the external 2520 port to. 2521 type: string 2522 hostPort: 2523 description: Number of port to expose on the 2524 host. If specified, this must be a valid port 2525 number, 0 < x < 65536. If HostNetwork is specified, 2526 this must match ContainerPort. Most containers 2527 do not need this. 2528 format: int32 2529 type: integer 2530 name: 2531 description: If specified, this must be an IANA_SVC_NAME 2532 and unique within the pod. Each named port 2533 in a pod must have a unique name. Name for 2534 the port that can be referred to by services. 2535 type: string 2536 protocol: 2537 default: TCP 2538 description: Protocol for port. Must be UDP, 2539 TCP, or SCTP. Defaults to "TCP". 2540 type: string 2541 required: 2542 - containerPort 2543 type: object 2544 type: array 2545 x-kubernetes-list-map-keys: 2546 - containerPort 2547 - protocol 2548 x-kubernetes-list-type: map 2549 readinessProbe: 2550 description: 'Periodic probe of container service 2551 readiness. Container will be removed from service 2552 endpoints if the probe fails. Cannot be updated. 2553 More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 2554 properties: 2555 exec: 2556 description: Exec specifies the action to take. 2557 properties: 2558 command: 2559 description: Command is the command line to 2560 execute inside the container, the working 2561 directory for the command is root ('/') 2562 in the container's filesystem. The command 2563 is simply exec'd, it is not run inside a 2564 shell, so traditional shell instructions 2565 ('|', etc) won't work. To use a shell, you 2566 need to explicitly call out to that shell. 2567 Exit status of 0 is treated as live/healthy 2568 and non-zero is unhealthy. 2569 items: 2570 type: string 2571 type: array 2572 type: object 2573 failureThreshold: 2574 description: Minimum consecutive failures for 2575 the probe to be considered failed after having 2576 succeeded. Defaults to 3. Minimum value is 1. 2577 format: int32 2578 type: integer 2579 grpc: 2580 description: GRPC specifies an action involving 2581 a GRPC port. 2582 properties: 2583 port: 2584 description: Port number of the gRPC service. 2585 Number must be in the range 1 to 65535. 2586 format: int32 2587 type: integer 2588 service: 2589 description: "Service is the name of the service 2590 to place in the gRPC HealthCheckRequest 2591 (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). 2592 \n If this is not specified, the default 2593 behavior is defined by gRPC." 2594 type: string 2595 required: 2596 - port 2597 type: object 2598 httpGet: 2599 description: HTTPGet specifies the http request 2600 to perform. 2601 properties: 2602 host: 2603 description: Host name to connect to, defaults 2604 to the pod IP. You probably want to set 2605 "Host" in httpHeaders instead. 2606 type: string 2607 httpHeaders: 2608 description: Custom headers to set in the 2609 request. HTTP allows repeated headers. 2610 items: 2611 description: HTTPHeader describes a custom 2612 header to be used in HTTP probes 2613 properties: 2614 name: 2615 description: The header field name. 2616 This will be canonicalized upon output, 2617 so case-variant names will be understood 2618 as the same header. 2619 type: string 2620 value: 2621 description: The header field value 2622 type: string 2623 required: 2624 - name 2625 - value 2626 type: object 2627 type: array 2628 path: 2629 description: Path to access on the HTTP server. 2630 type: string 2631 port: 2632 anyOf: 2633 - type: integer 2634 - type: string 2635 description: Name or number of the port to 2636 access on the container. Number must be 2637 in the range 1 to 65535. Name must be an 2638 IANA_SVC_NAME. 2639 x-kubernetes-int-or-string: true 2640 scheme: 2641 description: Scheme to use for connecting 2642 to the host. Defaults to HTTP. 2643 type: string 2644 required: 2645 - port 2646 type: object 2647 initialDelaySeconds: 2648 description: 'Number of seconds after the container 2649 has started before liveness probes are initiated. 2650 More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 2651 format: int32 2652 type: integer 2653 periodSeconds: 2654 description: How often (in seconds) to perform 2655 the probe. Default to 10 seconds. Minimum value 2656 is 1. 2657 format: int32 2658 type: integer 2659 successThreshold: 2660 description: Minimum consecutive successes for 2661 the probe to be considered successful after 2662 having failed. Defaults to 1. Must be 1 for 2663 liveness and startup. Minimum value is 1. 2664 format: int32 2665 type: integer 2666 tcpSocket: 2667 description: TCPSocket specifies an action involving 2668 a TCP port. 2669 properties: 2670 host: 2671 description: 'Optional: Host name to connect 2672 to, defaults to the pod IP.' 2673 type: string 2674 port: 2675 anyOf: 2676 - type: integer 2677 - type: string 2678 description: Number or name of the port to 2679 access on the container. Number must be 2680 in the range 1 to 65535. Name must be an 2681 IANA_SVC_NAME. 2682 x-kubernetes-int-or-string: true 2683 required: 2684 - port 2685 type: object 2686 terminationGracePeriodSeconds: 2687 description: Optional duration in seconds the 2688 pod needs to terminate gracefully upon probe 2689 failure. The grace period is the duration in 2690 seconds after the processes running in the pod 2691 are sent a termination signal and the time when 2692 the processes are forcibly halted with a kill 2693 signal. Set this value longer than the expected 2694 cleanup time for your process. If this value 2695 is nil, the pod's terminationGracePeriodSeconds 2696 will be used. Otherwise, this value overrides 2697 the value provided by the pod spec. Value must 2698 be non-negative integer. The value zero indicates 2699 stop immediately via the kill signal (no opportunity 2700 to shut down). This is a beta field and requires 2701 enabling ProbeTerminationGracePeriod feature 2702 gate. Minimum value is 1. spec.terminationGracePeriodSeconds 2703 is used if unset. 2704 format: int64 2705 type: integer 2706 timeoutSeconds: 2707 description: 'Number of seconds after which the 2708 probe times out. Defaults to 1 second. Minimum 2709 value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 2710 format: int32 2711 type: integer 2712 type: object 2713 resizePolicy: 2714 description: Resources resize policy for the container. 2715 items: 2716 description: ContainerResizePolicy represents resource 2717 resize policy for the container. 2718 properties: 2719 resourceName: 2720 description: 'Name of the resource to which 2721 this resource resize policy applies. Supported 2722 values: cpu, memory.' 2723 type: string 2724 restartPolicy: 2725 description: Restart policy to apply when specified 2726 resource is resized. If not specified, it 2727 defaults to NotRequired. 2728 type: string 2729 required: 2730 - resourceName 2731 - restartPolicy 2732 type: object 2733 type: array 2734 x-kubernetes-list-type: atomic 2735 resources: 2736 description: 'Compute Resources required by this container. 2737 Cannot be updated. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' 2738 properties: 2739 claims: 2740 description: "Claims lists the names of resources, 2741 defined in spec.resourceClaims, that are used 2742 by this container. \n This is an alpha field 2743 and requires enabling the DynamicResourceAllocation 2744 feature gate. \n This field is immutable. It 2745 can only be set for containers." 2746 items: 2747 description: ResourceClaim references one entry 2748 in PodSpec.ResourceClaims. 2749 properties: 2750 name: 2751 description: Name must match the name of 2752 one entry in pod.spec.resourceClaims of 2753 the Pod where this field is used. It makes 2754 that resource available inside a container. 2755 type: string 2756 required: 2757 - name 2758 type: object 2759 type: array 2760 x-kubernetes-list-map-keys: 2761 - name 2762 x-kubernetes-list-type: map 2763 limits: 2764 additionalProperties: 2765 anyOf: 2766 - type: integer 2767 - type: string 2768 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 2769 x-kubernetes-int-or-string: true 2770 description: 'Limits describes the maximum amount 2771 of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' 2772 type: object 2773 requests: 2774 additionalProperties: 2775 anyOf: 2776 - type: integer 2777 - type: string 2778 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 2779 x-kubernetes-int-or-string: true 2780 description: 'Requests describes the minimum amount 2781 of compute resources required. If Requests is 2782 omitted for a container, it defaults to Limits 2783 if that is explicitly specified, otherwise to 2784 an implementation-defined value. Requests cannot 2785 exceed Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' 2786 type: object 2787 type: object 2788 restartPolicy: 2789 description: 'RestartPolicy defines the restart behavior 2790 of individual containers in a pod. This field may 2791 only be set for init containers, and the only allowed 2792 value is "Always". For non-init containers or when 2793 this field is not specified, the restart behavior 2794 is defined by the Pod''s restart policy and the 2795 container type. Setting the RestartPolicy as "Always" 2796 for the init container will have the following effect: 2797 this init container will be continually restarted 2798 on exit until all regular containers have terminated. 2799 Once all regular containers have completed, all 2800 init containers with restartPolicy "Always" will 2801 be shut down. This lifecycle differs from normal 2802 init containers and is often referred to as a "sidecar" 2803 container. Although this init container still starts 2804 in the init container sequence, it does not wait 2805 for the container to complete before proceeding 2806 to the next init container. Instead, the next init 2807 container starts immediately after this init container 2808 is started, or after any startupProbe has successfully 2809 completed.' 2810 type: string 2811 securityContext: 2812 description: 'SecurityContext defines the security 2813 options the container should be run with. If set, 2814 the fields of SecurityContext override the equivalent 2815 fields of PodSecurityContext. More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/' 2816 properties: 2817 allowPrivilegeEscalation: 2818 description: 'AllowPrivilegeEscalation controls 2819 whether a process can gain more privileges than 2820 its parent process. This bool directly controls 2821 if the no_new_privs flag will be set on the 2822 container process. AllowPrivilegeEscalation 2823 is true always when the container is: 1) run 2824 as Privileged 2) has CAP_SYS_ADMIN Note that 2825 this field cannot be set when spec.os.name is 2826 windows.' 2827 type: boolean 2828 capabilities: 2829 description: The capabilities to add/drop when 2830 running containers. Defaults to the default 2831 set of capabilities granted by the container 2832 runtime. Note that this field cannot be set 2833 when spec.os.name is windows. 2834 properties: 2835 add: 2836 description: Added capabilities 2837 items: 2838 description: Capability represent POSIX 2839 capabilities type 2840 type: string 2841 type: array 2842 drop: 2843 description: Removed capabilities 2844 items: 2845 description: Capability represent POSIX 2846 capabilities type 2847 type: string 2848 type: array 2849 type: object 2850 privileged: 2851 description: Run container in privileged mode. 2852 Processes in privileged containers are essentially 2853 equivalent to root on the host. Defaults to 2854 false. Note that this field cannot be set when 2855 spec.os.name is windows. 2856 type: boolean 2857 procMount: 2858 description: procMount denotes the type of proc 2859 mount to use for the containers. The default 2860 is DefaultProcMount which uses the container 2861 runtime defaults for readonly paths and masked 2862 paths. This requires the ProcMountType feature 2863 flag to be enabled. Note that this field cannot 2864 be set when spec.os.name is windows. 2865 type: string 2866 readOnlyRootFilesystem: 2867 description: Whether this container has a read-only 2868 root filesystem. Default is false. Note that 2869 this field cannot be set when spec.os.name is 2870 windows. 2871 type: boolean 2872 runAsGroup: 2873 description: The GID to run the entrypoint of 2874 the container process. Uses runtime default 2875 if unset. May also be set in PodSecurityContext. If 2876 set in both SecurityContext and PodSecurityContext, 2877 the value specified in SecurityContext takes 2878 precedence. Note that this field cannot be set 2879 when spec.os.name is windows. 2880 format: int64 2881 type: integer 2882 runAsNonRoot: 2883 description: Indicates that the container must 2884 run as a non-root user. If true, the Kubelet 2885 will validate the image at runtime to ensure 2886 that it does not run as UID 0 (root) and fail 2887 to start the container if it does. If unset 2888 or false, no such validation will be performed. 2889 May also be set in PodSecurityContext. If set 2890 in both SecurityContext and PodSecurityContext, 2891 the value specified in SecurityContext takes 2892 precedence. 2893 type: boolean 2894 runAsUser: 2895 description: The UID to run the entrypoint of 2896 the container process. Defaults to user specified 2897 in image metadata if unspecified. May also be 2898 set in PodSecurityContext. If set in both SecurityContext 2899 and PodSecurityContext, the value specified 2900 in SecurityContext takes precedence. Note that 2901 this field cannot be set when spec.os.name is 2902 windows. 2903 format: int64 2904 type: integer 2905 seLinuxOptions: 2906 description: The SELinux context to be applied 2907 to the container. If unspecified, the container 2908 runtime will allocate a random SELinux context 2909 for each container. May also be set in PodSecurityContext. If 2910 set in both SecurityContext and PodSecurityContext, 2911 the value specified in SecurityContext takes 2912 precedence. Note that this field cannot be set 2913 when spec.os.name is windows. 2914 properties: 2915 level: 2916 description: Level is SELinux level label 2917 that applies to the container. 2918 type: string 2919 role: 2920 description: Role is a SELinux role label 2921 that applies to the container. 2922 type: string 2923 type: 2924 description: Type is a SELinux type label 2925 that applies to the container. 2926 type: string 2927 user: 2928 description: User is a SELinux user label 2929 that applies to the container. 2930 type: string 2931 type: object 2932 seccompProfile: 2933 description: The seccomp options to use by this 2934 container. If seccomp options are provided at 2935 both the pod & container level, the container 2936 options override the pod options. Note that 2937 this field cannot be set when spec.os.name is 2938 windows. 2939 properties: 2940 localhostProfile: 2941 description: localhostProfile indicates a 2942 profile defined in a file on the node should 2943 be used. The profile must be preconfigured 2944 on the node to work. Must be a descending 2945 path, relative to the kubelet's configured 2946 seccomp profile location. Must be set if 2947 type is "Localhost". Must NOT be set for 2948 any other type. 2949 type: string 2950 type: 2951 description: "type indicates which kind of 2952 seccomp profile will be applied. Valid options 2953 are: \n Localhost - a profile defined in 2954 a file on the node should be used. RuntimeDefault 2955 - the container runtime default profile 2956 should be used. Unconfined - no profile 2957 should be applied." 2958 type: string 2959 required: 2960 - type 2961 type: object 2962 windowsOptions: 2963 description: The Windows specific settings applied 2964 to all containers. If unspecified, the options 2965 from the PodSecurityContext will be used. If 2966 set in both SecurityContext and PodSecurityContext, 2967 the value specified in SecurityContext takes 2968 precedence. Note that this field cannot be set 2969 when spec.os.name is linux. 2970 properties: 2971 gmsaCredentialSpec: 2972 description: GMSACredentialSpec is where the 2973 GMSA admission webhook (https://github.com/kubernetes-sigs/windows-gmsa) 2974 inlines the contents of the GMSA credential 2975 spec named by the GMSACredentialSpecName 2976 field. 2977 type: string 2978 gmsaCredentialSpecName: 2979 description: GMSACredentialSpecName is the 2980 name of the GMSA credential spec to use. 2981 type: string 2982 hostProcess: 2983 description: HostProcess determines if a container 2984 should be run as a 'Host Process' container. 2985 All of a Pod's containers must have the 2986 same effective HostProcess value (it is 2987 not allowed to have a mix of HostProcess 2988 containers and non-HostProcess containers). 2989 In addition, if HostProcess is true then 2990 HostNetwork must also be set to true. 2991 type: boolean 2992 runAsUserName: 2993 description: The UserName in Windows to run 2994 the entrypoint of the container process. 2995 Defaults to the user specified in image 2996 metadata if unspecified. May also be set 2997 in PodSecurityContext. If set in both SecurityContext 2998 and PodSecurityContext, the value specified 2999 in SecurityContext takes precedence. 3000 type: string 3001 type: object 3002 type: object 3003 startupProbe: 3004 description: 'StartupProbe indicates that the Pod 3005 has successfully initialized. If specified, no other 3006 probes are executed until this completes successfully. 3007 If this probe fails, the Pod will be restarted, 3008 just as if the livenessProbe failed. This can be 3009 used to provide different probe parameters at the 3010 beginning of a Pod''s lifecycle, when it might take 3011 a long time to load data or warm a cache, than during 3012 steady-state operation. This cannot be updated. 3013 More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 3014 properties: 3015 exec: 3016 description: Exec specifies the action to take. 3017 properties: 3018 command: 3019 description: Command is the command line to 3020 execute inside the container, the working 3021 directory for the command is root ('/') 3022 in the container's filesystem. The command 3023 is simply exec'd, it is not run inside a 3024 shell, so traditional shell instructions 3025 ('|', etc) won't work. To use a shell, you 3026 need to explicitly call out to that shell. 3027 Exit status of 0 is treated as live/healthy 3028 and non-zero is unhealthy. 3029 items: 3030 type: string 3031 type: array 3032 type: object 3033 failureThreshold: 3034 description: Minimum consecutive failures for 3035 the probe to be considered failed after having 3036 succeeded. Defaults to 3. Minimum value is 1. 3037 format: int32 3038 type: integer 3039 grpc: 3040 description: GRPC specifies an action involving 3041 a GRPC port. 3042 properties: 3043 port: 3044 description: Port number of the gRPC service. 3045 Number must be in the range 1 to 65535. 3046 format: int32 3047 type: integer 3048 service: 3049 description: "Service is the name of the service 3050 to place in the gRPC HealthCheckRequest 3051 (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). 3052 \n If this is not specified, the default 3053 behavior is defined by gRPC." 3054 type: string 3055 required: 3056 - port 3057 type: object 3058 httpGet: 3059 description: HTTPGet specifies the http request 3060 to perform. 3061 properties: 3062 host: 3063 description: Host name to connect to, defaults 3064 to the pod IP. You probably want to set 3065 "Host" in httpHeaders instead. 3066 type: string 3067 httpHeaders: 3068 description: Custom headers to set in the 3069 request. HTTP allows repeated headers. 3070 items: 3071 description: HTTPHeader describes a custom 3072 header to be used in HTTP probes 3073 properties: 3074 name: 3075 description: The header field name. 3076 This will be canonicalized upon output, 3077 so case-variant names will be understood 3078 as the same header. 3079 type: string 3080 value: 3081 description: The header field value 3082 type: string 3083 required: 3084 - name 3085 - value 3086 type: object 3087 type: array 3088 path: 3089 description: Path to access on the HTTP server. 3090 type: string 3091 port: 3092 anyOf: 3093 - type: integer 3094 - type: string 3095 description: Name or number of the port to 3096 access on the container. Number must be 3097 in the range 1 to 65535. Name must be an 3098 IANA_SVC_NAME. 3099 x-kubernetes-int-or-string: true 3100 scheme: 3101 description: Scheme to use for connecting 3102 to the host. Defaults to HTTP. 3103 type: string 3104 required: 3105 - port 3106 type: object 3107 initialDelaySeconds: 3108 description: 'Number of seconds after the container 3109 has started before liveness probes are initiated. 3110 More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 3111 format: int32 3112 type: integer 3113 periodSeconds: 3114 description: How often (in seconds) to perform 3115 the probe. Default to 10 seconds. Minimum value 3116 is 1. 3117 format: int32 3118 type: integer 3119 successThreshold: 3120 description: Minimum consecutive successes for 3121 the probe to be considered successful after 3122 having failed. Defaults to 1. Must be 1 for 3123 liveness and startup. Minimum value is 1. 3124 format: int32 3125 type: integer 3126 tcpSocket: 3127 description: TCPSocket specifies an action involving 3128 a TCP port. 3129 properties: 3130 host: 3131 description: 'Optional: Host name to connect 3132 to, defaults to the pod IP.' 3133 type: string 3134 port: 3135 anyOf: 3136 - type: integer 3137 - type: string 3138 description: Number or name of the port to 3139 access on the container. Number must be 3140 in the range 1 to 65535. Name must be an 3141 IANA_SVC_NAME. 3142 x-kubernetes-int-or-string: true 3143 required: 3144 - port 3145 type: object 3146 terminationGracePeriodSeconds: 3147 description: Optional duration in seconds the 3148 pod needs to terminate gracefully upon probe 3149 failure. The grace period is the duration in 3150 seconds after the processes running in the pod 3151 are sent a termination signal and the time when 3152 the processes are forcibly halted with a kill 3153 signal. Set this value longer than the expected 3154 cleanup time for your process. If this value 3155 is nil, the pod's terminationGracePeriodSeconds 3156 will be used. Otherwise, this value overrides 3157 the value provided by the pod spec. Value must 3158 be non-negative integer. The value zero indicates 3159 stop immediately via the kill signal (no opportunity 3160 to shut down). This is a beta field and requires 3161 enabling ProbeTerminationGracePeriod feature 3162 gate. Minimum value is 1. spec.terminationGracePeriodSeconds 3163 is used if unset. 3164 format: int64 3165 type: integer 3166 timeoutSeconds: 3167 description: 'Number of seconds after which the 3168 probe times out. Defaults to 1 second. Minimum 3169 value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 3170 format: int32 3171 type: integer 3172 type: object 3173 stdin: 3174 description: Whether this container should allocate 3175 a buffer for stdin in the container runtime. If 3176 this is not set, reads from stdin in the container 3177 will always result in EOF. Default is false. 3178 type: boolean 3179 stdinOnce: 3180 description: Whether the container runtime should 3181 close the stdin channel after it has been opened 3182 by a single attach. When stdin is true the stdin 3183 stream will remain open across multiple attach sessions. 3184 If stdinOnce is set to true, stdin is opened on 3185 container start, is empty until the first client 3186 attaches to stdin, and then remains open and accepts 3187 data until the client disconnects, at which time 3188 stdin is closed and remains closed until the container 3189 is restarted. If this flag is false, a container 3190 processes that reads from stdin will never receive 3191 an EOF. Default is false 3192 type: boolean 3193 terminationMessagePath: 3194 description: 'Optional: Path at which the file to 3195 which the container''s termination message will 3196 be written is mounted into the container''s filesystem. 3197 Message written is intended to be brief final status, 3198 such as an assertion failure message. Will be truncated 3199 by the node if greater than 4096 bytes. The total 3200 message length across all containers will be limited 3201 to 12kb. Defaults to /dev/termination-log. Cannot 3202 be updated.' 3203 type: string 3204 terminationMessagePolicy: 3205 description: Indicate how the termination message 3206 should be populated. File will use the contents 3207 of terminationMessagePath to populate the container 3208 status message on both success and failure. FallbackToLogsOnError 3209 will use the last chunk of container log output 3210 if the termination message file is empty and the 3211 container exited with an error. The log output is 3212 limited to 2048 bytes or 80 lines, whichever is 3213 smaller. Defaults to File. Cannot be updated. 3214 type: string 3215 tty: 3216 description: Whether this container should allocate 3217 a TTY for itself, also requires 'stdin' to be true. 3218 Default is false. 3219 type: boolean 3220 volumeDevices: 3221 description: volumeDevices is the list of block devices 3222 to be used by the container. 3223 items: 3224 description: volumeDevice describes a mapping of 3225 a raw block device within a container. 3226 properties: 3227 devicePath: 3228 description: devicePath is the path inside of 3229 the container that the device will be mapped 3230 to. 3231 type: string 3232 name: 3233 description: name must match the name of a persistentVolumeClaim 3234 in the pod 3235 type: string 3236 required: 3237 - devicePath 3238 - name 3239 type: object 3240 type: array 3241 volumeMounts: 3242 description: Pod volumes to mount into the container's 3243 filesystem. Cannot be updated. 3244 items: 3245 description: VolumeMount describes a mounting of 3246 a Volume within a container. 3247 properties: 3248 mountPath: 3249 description: Path within the container at which 3250 the volume should be mounted. Must not contain 3251 ':'. 3252 type: string 3253 mountPropagation: 3254 description: mountPropagation determines how 3255 mounts are propagated from the host to container 3256 and the other way around. When not set, MountPropagationNone 3257 is used. This field is beta in 1.10. 3258 type: string 3259 name: 3260 description: This must match the Name of a Volume. 3261 type: string 3262 readOnly: 3263 description: Mounted read-only if true, read-write 3264 otherwise (false or unspecified). Defaults 3265 to false. 3266 type: boolean 3267 subPath: 3268 description: Path within the volume from which 3269 the container's volume should be mounted. 3270 Defaults to "" (volume's root). 3271 type: string 3272 subPathExpr: 3273 description: Expanded path within the volume 3274 from which the container's volume should be 3275 mounted. Behaves similarly to SubPath but 3276 environment variable references $(VAR_NAME) 3277 are expanded using the container's environment. 3278 Defaults to "" (volume's root). SubPathExpr 3279 and SubPath are mutually exclusive. 3280 type: string 3281 required: 3282 - mountPath 3283 - name 3284 type: object 3285 type: array 3286 workingDir: 3287 description: Container's working directory. If not 3288 specified, the container runtime's default will 3289 be used, which might be configured in the container 3290 image. Cannot be updated. 3291 type: string 3292 required: 3293 - name 3294 type: object 3295 type: array 3296 x-kubernetes-list-map-keys: 3297 - name 3298 x-kubernetes-list-type: map 3299 x-kubernetes-preserve-unknown-fields: true 3300 type: object 3301 required: 3302 - componentDefRef 3303 - versionsContext 3304 type: object 3305 minItems: 1 3306 type: array 3307 x-kubernetes-list-map-keys: 3308 - componentDefRef 3309 x-kubernetes-list-type: map 3310 required: 3311 - clusterDefinitionRef 3312 - componentVersions 3313 type: object 3314 status: 3315 description: ClusterVersionStatus defines the observed state of ClusterVersion 3316 properties: 3317 clusterDefGeneration: 3318 description: clusterDefGeneration represents the generation number 3319 of ClusterDefinition referenced. 3320 format: int64 3321 type: integer 3322 message: 3323 description: A human readable message indicating details about why 3324 the ClusterVersion is in this phase. 3325 type: string 3326 observedGeneration: 3327 description: generation number 3328 format: int64 3329 type: integer 3330 phase: 3331 description: phase - in list of [Available,Unavailable] 3332 enum: 3333 - Available 3334 - Unavailable 3335 type: string 3336 type: object 3337 type: object 3338 served: true 3339 storage: true 3340 subresources: 3341 status: {}