github.com/zppinho/prow@v0.0.0-20240510014325-1738badeb017/test/integration/config/prow/cluster/50_crd.yaml (about) 1 --- 2 apiVersion: apiextensions.k8s.io/v1 3 kind: CustomResourceDefinition 4 metadata: 5 annotations: 6 api-approved.kubernetes.io: https://github.com/kubernetes/test-infra/pull/8669 7 controller-gen.kubebuilder.io/version: v0.6.3-0.20210827222652-7b3a8699fa04 8 creationTimestamp: null 9 name: prowjobs.prow.k8s.io 10 spec: 11 preserveUnknownFields: false 12 group: prow.k8s.io 13 names: 14 kind: ProwJob 15 listKind: ProwJobList 16 plural: prowjobs 17 singular: prowjob 18 scope: Namespaced 19 versions: 20 - additionalPrinterColumns: 21 - description: The name of the job being run 22 jsonPath: .spec.job 23 name: Job 24 type: string 25 - description: The ID of the job being run. 26 jsonPath: .status.build_id 27 name: BuildId 28 type: string 29 - description: The type of job being run. 30 jsonPath: .spec.type 31 name: Type 32 type: string 33 - description: The org for which the job is running. 34 jsonPath: .spec.refs.org 35 name: Org 36 type: string 37 - description: The repo for which the job is running. 38 jsonPath: .spec.refs.repo 39 name: Repo 40 type: string 41 - description: The pulls for which the job is running. 42 jsonPath: .spec.refs.pulls[*].number 43 name: Pulls 44 type: string 45 - description: When the job started running. 46 jsonPath: .status.startTime 47 name: StartTime 48 type: date 49 - description: When the job finished running. 50 jsonPath: .status.completionTime 51 name: CompletionTime 52 type: date 53 - description: The state of the job. 54 jsonPath: .status.state 55 name: State 56 type: string 57 name: v1 58 schema: 59 openAPIV3Schema: 60 description: ProwJob contains the spec as well as runtime metadata. 61 properties: 62 apiVersion: 63 description: 'APIVersion defines the versioned schema of this representation 64 of an object. Servers should convert recognized schemas to the latest 65 internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' 66 type: string 67 kind: 68 description: 'Kind is a string value representing the REST resource this 69 object represents. Servers may infer this from the endpoint the client 70 submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 71 type: string 72 metadata: 73 type: object 74 spec: 75 description: "ProwJobSpec configures the details of the prow job. \n Details 76 include the podspec, code to clone, the cluster it runs any child jobs, 77 concurrency limitations, etc." 78 properties: 79 agent: 80 description: Agent determines which controller fulfills this specific 81 ProwJobSpec and runs the job 82 type: string 83 cluster: 84 description: Cluster is which Kubernetes cluster is used to run the 85 job, only applicable for that specific agent 86 type: string 87 context: 88 description: Context is the name of the status context used to report 89 back to GitHub 90 type: string 91 decoration_config: 92 description: DecorationConfig holds configuration options for decorating 93 PodSpecs that users provide 94 properties: 95 blobless_fetch: 96 description: BloblessFetch tells Prow to avoid fetching objects 97 when cloning using the --filter=blob:none flag. 98 type: boolean 99 censor_secrets: 100 description: CensorSecrets enables censoring output logs and artifacts. 101 type: boolean 102 censoring_options: 103 description: CensoringOptions exposes options for censoring output 104 logs and artifacts. 105 properties: 106 censoring_buffer_size: 107 description: CensoringBufferSize is the size in bytes of the 108 buffer allocated for every file being censored. We want 109 to keep as little of the file in memory as possible in order 110 for censoring to be reasonably performant in space. However, 111 to guarantee that we censor every instance of every secret, 112 our buffer size must be at least two times larger than the 113 largest secret we are about to censor. While that size is 114 the smallest possible buffer we could use, if the secrets 115 being censored are small, censoring will not be performant 116 as the number of I/O actions per file would increase. If 117 unset, defaults to 10MiB. 118 type: integer 119 censoring_concurrency: 120 description: CensoringConcurrency is the maximum number of 121 goroutines that should be censoring artifacts and logs at 122 any time. If unset, defaults to 10. 123 format: int64 124 type: integer 125 exclude_directories: 126 description: ExcludeDirectories are directories which should 127 not have their content censored. If present, content in 128 these directories will not be censored even if the directory 129 also matches a glob in IncludeDirectories. Entries in this 130 list are relative to $ARTIFACTS, and are parsed with the 131 go-zglob library, allowing for globbed matches. 132 items: 133 type: string 134 type: array 135 include_directories: 136 description: IncludeDirectories are directories which should 137 have their content censored. If present, only content in 138 these directories will be censored. Entries in this list 139 are relative to $ARTIFACTS and are parsed with the go-zglob 140 library, allowing for globbed matches. 141 items: 142 type: string 143 type: array 144 type: object 145 cookiefile_secret: 146 description: CookieFileSecret is the name of a kubernetes secret 147 that contains a git http.cookiefile, which should be used during 148 the cloning process. 149 type: string 150 default_memory_request: 151 anyOf: 152 - type: integer 153 - type: string 154 description: DefaultMemoryRequest is the default requested memory 155 on a test container. If SetLimitEqualsMemoryRequest is also 156 true then the Limit will also be set the same as this request. 157 Could be overridden by memory request defined explicitly on 158 prowjob. 159 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 160 x-kubernetes-int-or-string: true 161 default_service_account_name: 162 description: DefaultServiceAccountName is the name of the Kubernetes 163 service account that should be used by the pod if one is not 164 specified in the podspec. 165 type: string 166 fs_group: 167 description: FsGroup defines special supplemental group ID used 168 in all containers in a Pod. This allows to change the ownership 169 of particular volumes by kubelet. This field will not override 170 the existing ProwJob's PodSecurityContext. Equivalent to PodSecurityContext's 171 FsGroup 172 format: int64 173 type: integer 174 gcs_configuration: 175 description: GCSConfiguration holds options for pushing logs and 176 artifacts to GCS from a job. 177 properties: 178 bucket: 179 description: 'Bucket is the bucket to upload to, it can be: 180 * a GCS bucket: with gs:// prefix * a S3 bucket: with s3:// 181 prefix * a GCS bucket: without a prefix (deprecated, it''s 182 discouraged to use Bucket without prefix please add the 183 gs:// prefix)' 184 type: string 185 compress_file_types: 186 description: 'CompressFileTypes specify file types that should 187 be gzipped prior to upload. Matching files will be compressed 188 prior to upload, and the content-encoding on these files 189 will be set to gzip. GCS will transcode these gzipped files 190 transparently when viewing. See: https://cloud.google.com/storage/docs/transcoding 191 Example: "txt", "json" Use "*" for all' 192 items: 193 type: string 194 type: array 195 default_org: 196 description: DefaultOrg is omitted from GCS paths when using 197 the legacy or simple strategy 198 type: string 199 default_repo: 200 description: DefaultRepo is omitted from GCS paths when using 201 the legacy or simple strategy 202 type: string 203 job_url_prefix: 204 description: JobURLPrefix holds the baseURL under which the 205 jobs output can be viewed. If unset, this will be derived 206 based on org/repo from the job_url_prefix_config. 207 type: string 208 local_output_dir: 209 description: LocalOutputDir specifies a directory where files 210 should be copied INSTEAD of uploading to blob storage. This 211 option is useful for testing jobs that use the pod-utilities 212 without actually uploading. 213 type: string 214 mediaTypes: 215 additionalProperties: 216 type: string 217 description: 'MediaTypes holds additional extension media 218 types to add to Go''s builtin''s and the local system''s 219 defaults. This maps extensions to media types, for example: 220 MediaTypes["log"] = "text/plain"' 221 type: object 222 path_prefix: 223 description: PathPrefix is an optional path that follows the 224 bucket name and comes before any structure 225 type: string 226 path_strategy: 227 description: PathStrategy dictates how the org and repo are 228 used when calculating the full path to an artifact in GCS 229 type: string 230 type: object 231 gcs_credentials_secret: 232 description: GCSCredentialsSecret is the name of the Kubernetes 233 secret that holds GCS push credentials. 234 type: string 235 github_api_endpoints: 236 description: GitHubAPIEndpoints are the endpoints of GitHub APIs. 237 items: 238 type: string 239 type: array 240 github_app_id: 241 description: GitHubAppID is the ID of GitHub App, which is going 242 to be used for fetching a private repository. 243 type: string 244 github_app_private_key_secret: 245 description: GitHubAppPrivateKeySecret is a Kubernetes secret 246 that contains the GitHub App private key, which is going to 247 be used for fetching a private repository. 248 properties: 249 key: 250 description: Key is the key of the corresponding kubernetes 251 secret that holds the value of the GitHub App private key. 252 type: string 253 name: 254 description: Name is the name of a kubernetes secret. 255 type: string 256 type: object 257 grace_period: 258 description: GracePeriod is how long the pod utilities will wait 259 after sending SIGINT to send SIGKILL when aborting a job. Only 260 applicable if decorating the PodSpec. 261 type: string 262 oauth_token_secret: 263 description: OauthTokenSecret is a Kubernetes secret that contains 264 the OAuth token, which is going to be used for fetching a private 265 repository. 266 properties: 267 key: 268 description: Key is the key of the corresponding kubernetes 269 secret that holds the value of the OAuth token. 270 type: string 271 name: 272 description: Name is the name of a kubernetes secret. 273 type: string 274 type: object 275 pod_pending_timeout: 276 description: PodPendingTimeout defines how long the controller 277 will wait to perform garbage collection on pending pods. Specific 278 for OrgRepo or Cluster. If not set, it has a fallback inside 279 plank field. 280 type: string 281 pod_running_timeout: 282 description: PodRunningTimeout defines how long the controller 283 will wait to abort a prowjob pod stuck in running state. Specific 284 for OrgRepo or Cluster. If not set, it has a fallback inside 285 plank field. 286 type: string 287 pod_unscheduled_timeout: 288 description: PodUnscheduledTimeout defines how long the controller 289 will wait to abort a prowjob stuck in an unscheduled state. 290 Specific for OrgRepo or Cluster. If not set, it has a fallback 291 inside plank field. 292 type: string 293 resources: 294 description: Resources holds resource requests and limits for 295 utility containers used to decorate a PodSpec. 296 properties: 297 clonerefs: 298 description: ResourceRequirements describes the compute resource 299 requirements. 300 properties: 301 limits: 302 additionalProperties: 303 anyOf: 304 - type: integer 305 - type: string 306 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 307 x-kubernetes-int-or-string: true 308 description: 'Limits describes the maximum amount of compute 309 resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' 310 type: object 311 requests: 312 additionalProperties: 313 anyOf: 314 - type: integer 315 - type: string 316 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 317 x-kubernetes-int-or-string: true 318 description: 'Requests describes the minimum amount of 319 compute resources required. If Requests is omitted for 320 a container, it defaults to Limits if that is explicitly 321 specified, otherwise to an implementation-defined value. 322 More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' 323 type: object 324 type: object 325 initupload: 326 description: ResourceRequirements describes the compute resource 327 requirements. 328 properties: 329 limits: 330 additionalProperties: 331 anyOf: 332 - type: integer 333 - type: string 334 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 335 x-kubernetes-int-or-string: true 336 description: 'Limits describes the maximum amount of compute 337 resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' 338 type: object 339 requests: 340 additionalProperties: 341 anyOf: 342 - type: integer 343 - type: string 344 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 345 x-kubernetes-int-or-string: true 346 description: 'Requests describes the minimum amount of 347 compute resources required. If Requests is omitted for 348 a container, it defaults to Limits if that is explicitly 349 specified, otherwise to an implementation-defined value. 350 More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' 351 type: object 352 type: object 353 place_entrypoint: 354 description: ResourceRequirements describes the compute resource 355 requirements. 356 properties: 357 limits: 358 additionalProperties: 359 anyOf: 360 - type: integer 361 - type: string 362 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 363 x-kubernetes-int-or-string: true 364 description: 'Limits describes the maximum amount of compute 365 resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' 366 type: object 367 requests: 368 additionalProperties: 369 anyOf: 370 - type: integer 371 - type: string 372 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 373 x-kubernetes-int-or-string: true 374 description: 'Requests describes the minimum amount of 375 compute resources required. If Requests is omitted for 376 a container, it defaults to Limits if that is explicitly 377 specified, otherwise to an implementation-defined value. 378 More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' 379 type: object 380 type: object 381 sidecar: 382 description: ResourceRequirements describes the compute resource 383 requirements. 384 properties: 385 limits: 386 additionalProperties: 387 anyOf: 388 - type: integer 389 - type: string 390 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 391 x-kubernetes-int-or-string: true 392 description: 'Limits describes the maximum amount of compute 393 resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' 394 type: object 395 requests: 396 additionalProperties: 397 anyOf: 398 - type: integer 399 - type: string 400 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 401 x-kubernetes-int-or-string: true 402 description: 'Requests describes the minimum amount of 403 compute resources required. If Requests is omitted for 404 a container, it defaults to Limits if that is explicitly 405 specified, otherwise to an implementation-defined value. 406 More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' 407 type: object 408 type: object 409 type: object 410 run_as_group: 411 description: RunAsGroup defines GID of process in all containers 412 running in a Pod. This field will not override the existing 413 ProwJob's PodSecurityContext. Equivalent to PodSecurityContext's 414 RunAsGroup 415 format: int64 416 type: integer 417 run_as_user: 418 description: RunAsUser defines UID for process in all containers 419 running in a Pod. This field will not override the existing 420 ProwJob's PodSecurityContext. Equivalent to PodSecurityContext's 421 RunAsUser 422 format: int64 423 type: integer 424 s3_credentials_secret: 425 description: S3CredentialsSecret is the name of the Kubernetes 426 secret that holds blob storage push credentials. 427 type: string 428 set_limit_equals_memory_request: 429 description: SetLimitEqualsMemoryRequest sets memory limit equal 430 to request. 431 type: boolean 432 skip_cloning: 433 description: SkipCloning determines if we should clone source 434 code in the initcontainers for jobs that specify refs 435 type: boolean 436 ssh_host_fingerprints: 437 description: SSHHostFingerprints are the fingerprints of known 438 SSH hosts that the cloning process can trust. Create with ssh-keyscan 439 [-t rsa] host 440 items: 441 type: string 442 type: array 443 ssh_key_secrets: 444 description: SSHKeySecrets are the names of Kubernetes secrets 445 that contain SSK keys which should be used during the cloning 446 process. 447 items: 448 type: string 449 type: array 450 timeout: 451 description: Timeout is how long the pod utilities will wait before 452 aborting a job with SIGINT. 453 type: string 454 upload_ignores_interrupts: 455 description: UploadIgnoresInterrupts causes sidecar to ignore 456 interrupts for the upload process in hope that the test process 457 exits cleanly before starting an upload. 458 type: boolean 459 utility_images: 460 description: UtilityImages holds pull specs for utility container 461 images used to decorate a PodSpec. 462 properties: 463 clonerefs: 464 description: CloneRefs is the pull spec used for the clonerefs 465 utility 466 type: string 467 entrypoint: 468 description: Entrypoint is the pull spec used for the entrypoint 469 utility 470 type: string 471 initupload: 472 description: InitUpload is the pull spec used for the initupload 473 utility 474 type: string 475 sidecar: 476 description: sidecar is the pull spec used for the sidecar 477 utility 478 type: string 479 type: object 480 type: object 481 error_on_eviction: 482 description: ErrorOnEviction indicates that the ProwJob should be 483 completed and given the ErrorState status if the pod that is executing 484 the job is evicted. If this field is unspecified or false, a new 485 pod will be created to replace the evicted one. 486 type: boolean 487 extra_refs: 488 description: ExtraRefs are auxiliary repositories that need to be 489 cloned, determined from config 490 items: 491 description: Refs describes how the repo was constructed. 492 properties: 493 base_link: 494 description: BaseLink is a link to the commit identified by 495 BaseSHA. 496 type: string 497 base_ref: 498 type: string 499 base_sha: 500 type: string 501 blobless_fetch: 502 description: BloblessFetch tells prow to avoid fetching objects 503 when cloning using the --filter=blob:none flag. If unspecified, 504 defaults to DecorationConfig.BloblessFetch. 505 type: boolean 506 clone_depth: 507 description: CloneDepth is the depth of the clone that will 508 be used. A depth of zero will do a full clone. 509 type: integer 510 clone_uri: 511 description: CloneURI is the URI that is used to clone the repository. 512 If unset, will default to `https://github.com/org/repo.git`. 513 type: string 514 org: 515 description: Org is something like kubernetes or k8s.io 516 type: string 517 path_alias: 518 description: PathAlias is the location under <root-dir>/src 519 where this repository is cloned. If this is not set, <root-dir>/src/github.com/org/repo 520 will be used as the default. 521 type: string 522 pulls: 523 items: 524 description: Pull describes a pull request at a particular 525 point in time. 526 properties: 527 author: 528 type: string 529 author_link: 530 description: AuthorLink links to the author of the pull 531 request. 532 type: string 533 commit_link: 534 description: CommitLink links to the commit identified 535 by the SHA. 536 type: string 537 head_ref: 538 description: 'HeadRef is the git ref (branch name) of 539 the proposed change. This can be more human-readable 540 than just a PR #, and some tools want this metadata 541 to help associate the work with a pull request (e.g. 542 some code scanning services, or chromatic.com).' 543 type: string 544 link: 545 description: Link links to the pull request itself. 546 type: string 547 number: 548 type: integer 549 ref: 550 description: 'Ref is git ref can be checked out for a 551 change for example, github: pull/123/head gerrit: refs/changes/00/123/1' 552 type: string 553 sha: 554 type: string 555 title: 556 type: string 557 required: 558 - author 559 - number 560 - sha 561 type: object 562 type: array 563 repo: 564 description: Repo is something like test-infra 565 type: string 566 repo_link: 567 description: RepoLink links to the source for Repo. 568 type: string 569 skip_fetch_head: 570 description: SkipFetchHead tells prow to avoid a git fetch <remote> 571 call. Multiheaded repos may need to not make this call. The 572 git fetch <remote> <BaseRef> call occurs regardless. 573 type: boolean 574 skip_submodules: 575 description: SkipSubmodules determines if submodules should 576 be cloned when the job is run. Defaults to false. 577 type: boolean 578 workdir: 579 description: WorkDir defines if the location of the cloned repository 580 will be used as the default working directory. 581 type: boolean 582 required: 583 - org 584 - repo 585 type: object 586 type: array 587 hidden: 588 description: Hidden specifies if the Job is considered hidden. Hidden 589 jobs are only shown by deck instances that have the `--hiddenOnly=true` 590 or `--show-hidden=true` flag set. Presubmits and Postsubmits can 591 also be set to hidden by adding their repository in Decks `hidden_repo` 592 setting. 593 type: boolean 594 jenkins_spec: 595 description: JenkinsSpec holds configuration specific to Jenkins jobs 596 properties: 597 github_branch_source_job: 598 type: boolean 599 type: object 600 job: 601 description: Job is the name of the job 602 type: string 603 job_queue_name: 604 description: JobQueueName is an optional field with name of a queue 605 defining max concurrency. When several jobs from the same queue 606 try to run at the same time, the number of them that is actually 607 started is limited by JobQueueCapacities (part of Plank's config). 608 If this field is left undefined inifinite concurrency is assumed. 609 This behaviour may be superseded by MaxConcurrency field, if it 610 is set to a constraining value. 611 type: string 612 max_concurrency: 613 description: MaxConcurrency restricts the total number of instances 614 of this job that can run in parallel at once. This is a separate 615 mechanism to JobQueueName and the lowest max concurrency is selected 616 from these two. 617 minimum: 0 618 type: integer 619 namespace: 620 description: Namespace defines where to create pods/resources. 621 type: string 622 pipeline_run_spec: 623 description: PipelineRunSpec provides the basis for running the test 624 as a pipeline-crd resource https://github.com/tektoncd/pipeline 625 properties: 626 params: 627 description: Params is a list of parameter names and values. 628 items: 629 description: Param declares an ParamValues to use for the parameter 630 called name. 631 properties: 632 name: 633 type: string 634 value: 635 description: ParamValue is a type that can hold a single 636 string or string array. Used in JSON unmarshalling so 637 that a single JSON field can accept either an individual 638 string or an array of strings. 639 properties: 640 arrayVal: 641 items: 642 type: string 643 type: array 644 x-kubernetes-list-type: atomic 645 objectVal: 646 additionalProperties: 647 type: string 648 type: object 649 stringVal: 650 type: string 651 type: 652 description: ParamType indicates the type of an input 653 parameter; Used to distinguish between a single string 654 and an array of strings. 655 type: string 656 required: 657 - arrayVal 658 - objectVal 659 - stringVal 660 - type 661 type: object 662 required: 663 - name 664 - value 665 type: object 666 type: array 667 x-kubernetes-list-type: atomic 668 pipelineRef: 669 description: PipelineRef can be used to refer to a specific instance 670 of a Pipeline. 671 properties: 672 apiVersion: 673 description: API version of the referent 674 type: string 675 bundle: 676 description: 'Bundle url reference to a Tekton Bundle. Deprecated: 677 Please use ResolverRef with the bundles resolver instead.' 678 type: string 679 name: 680 description: 'Name of the referent; More info: http://kubernetes.io/docs/user-guide/identifiers#names' 681 type: string 682 params: 683 description: Params contains the parameters used to identify 684 the referenced Tekton resource. Example entries might include 685 "repo" or "path" but the set of params ultimately depends 686 on the chosen resolver. 687 items: 688 description: Param declares an ParamValues to use for the 689 parameter called name. 690 properties: 691 name: 692 type: string 693 value: 694 description: ParamValue is a type that can hold a single 695 string or string array. Used in JSON unmarshalling 696 so that a single JSON field can accept either an individual 697 string or an array of strings. 698 properties: 699 arrayVal: 700 items: 701 type: string 702 type: array 703 x-kubernetes-list-type: atomic 704 objectVal: 705 additionalProperties: 706 type: string 707 type: object 708 stringVal: 709 type: string 710 type: 711 description: ParamType indicates the type of an 712 input parameter; Used to distinguish between a 713 single string and an array of strings. 714 type: string 715 required: 716 - arrayVal 717 - objectVal 718 - stringVal 719 - type 720 type: object 721 required: 722 - name 723 - value 724 type: object 725 type: array 726 x-kubernetes-list-type: atomic 727 resolver: 728 description: Resolver is the name of the resolver that should 729 perform resolution of the referenced Tekton resource, such 730 as "git". 731 type: string 732 type: object 733 pipelineSpec: 734 description: PipelineSpec defines the desired state of Pipeline. 735 properties: 736 description: 737 description: Description is a user-facing description of the 738 pipeline that may be used to populate a UI. 739 type: string 740 finally: 741 description: Finally declares the list of Tasks that execute 742 just before leaving the Pipeline i.e. either after all Tasks 743 are finished executing successfully or after a failure which 744 would result in ending the Pipeline 745 items: 746 description: PipelineTask defines a task in a Pipeline, 747 passing inputs from both Params and from the output of 748 previous tasks. 749 properties: 750 matrix: 751 description: Matrix declares parameters used to fan 752 out this task. 753 properties: 754 params: 755 description: Params is a list of parameters used 756 to fan out the pipelineTask Params takes only 757 `Parameters` of type `"array"` Each array element 758 is supplied to the `PipelineTask` by substituting 759 `params` of type `"string"` in the underlying 760 `Task`. The names of the `params` in the `Matrix` 761 must match the names of the `params` in the underlying 762 `Task` that they will be substituting. 763 items: 764 description: Param declares an ParamValues to 765 use for the parameter called name. 766 properties: 767 name: 768 type: string 769 value: 770 description: ParamValue is a type that can 771 hold a single string or string array. Used 772 in JSON unmarshalling so that a single JSON 773 field can accept either an individual string 774 or an array of strings. 775 properties: 776 arrayVal: 777 items: 778 type: string 779 type: array 780 x-kubernetes-list-type: atomic 781 objectVal: 782 additionalProperties: 783 type: string 784 type: object 785 stringVal: 786 type: string 787 type: 788 description: ParamType indicates the type 789 of an input parameter; Used to distinguish 790 between a single string and an array 791 of strings. 792 type: string 793 required: 794 - arrayVal 795 - objectVal 796 - stringVal 797 - type 798 type: object 799 required: 800 - name 801 - value 802 type: object 803 type: array 804 x-kubernetes-list-type: atomic 805 type: object 806 name: 807 description: Name is the name of this task within the 808 context of a Pipeline. Name is used as a coordinate 809 with the `from` and `runAfter` fields to establish 810 the execution order of tasks relative to one another. 811 type: string 812 params: 813 description: Parameters declares parameters passed to 814 this task. 815 items: 816 description: Param declares an ParamValues to use 817 for the parameter called name. 818 properties: 819 name: 820 type: string 821 value: 822 description: ParamValue is a type that can hold 823 a single string or string array. Used in JSON 824 unmarshalling so that a single JSON field can 825 accept either an individual string or an array 826 of strings. 827 properties: 828 arrayVal: 829 items: 830 type: string 831 type: array 832 x-kubernetes-list-type: atomic 833 objectVal: 834 additionalProperties: 835 type: string 836 type: object 837 stringVal: 838 type: string 839 type: 840 description: ParamType indicates the type 841 of an input parameter; Used to distinguish 842 between a single string and an array of 843 strings. 844 type: string 845 required: 846 - arrayVal 847 - objectVal 848 - stringVal 849 - type 850 type: object 851 required: 852 - name 853 - value 854 type: object 855 type: array 856 x-kubernetes-list-type: atomic 857 resources: 858 description: Resources declares the resources given 859 to this task as inputs and outputs. 860 properties: 861 inputs: 862 description: Inputs holds the mapping from the PipelineResources 863 declared in DeclaredPipelineResources to the input 864 PipelineResources required by the Task. 865 items: 866 description: PipelineTaskInputResource maps the 867 name of a declared PipelineResource input dependency 868 in a Task to the resource in the Pipeline's 869 DeclaredPipelineResources that should be used. 870 This input may come from a previous task. 871 properties: 872 from: 873 description: From is the list of PipelineTask 874 names that the resource has to come from. 875 (Implies an ordering in the execution graph.) 876 items: 877 type: string 878 type: array 879 x-kubernetes-list-type: atomic 880 name: 881 description: Name is the name of the PipelineResource 882 as declared by the Task. 883 type: string 884 resource: 885 description: Resource is the name of the DeclaredPipelineResource 886 to use. 887 type: string 888 required: 889 - name 890 - resource 891 type: object 892 type: array 893 x-kubernetes-list-type: atomic 894 outputs: 895 description: Outputs holds the mapping from the 896 PipelineResources declared in DeclaredPipelineResources 897 to the input PipelineResources required by the 898 Task. 899 items: 900 description: PipelineTaskOutputResource maps the 901 name of a declared PipelineResource output dependency 902 in a Task to the resource in the Pipeline's 903 DeclaredPipelineResources that should be used. 904 properties: 905 name: 906 description: Name is the name of the PipelineResource 907 as declared by the Task. 908 type: string 909 resource: 910 description: Resource is the name of the DeclaredPipelineResource 911 to use. 912 type: string 913 required: 914 - name 915 - resource 916 type: object 917 type: array 918 x-kubernetes-list-type: atomic 919 type: object 920 retries: 921 description: 'Retries represents how many times this 922 task should be retried in case of task failure: ConditionSucceeded 923 set to False' 924 type: integer 925 runAfter: 926 description: RunAfter is the list of PipelineTask names 927 that should be executed before this Task executes. 928 (Used to force a specific ordering in graph execution.) 929 items: 930 type: string 931 type: array 932 x-kubernetes-list-type: atomic 933 taskRef: 934 description: TaskRef is a reference to a task definition. 935 properties: 936 apiVersion: 937 description: API version of the referent 938 type: string 939 bundle: 940 description: 'Bundle url reference to a Tekton Bundle. 941 Deprecated: Please use ResolverRef with the bundles 942 resolver instead.' 943 type: string 944 kind: 945 description: TaskKind indicates the kind of the 946 task, namespaced or cluster scoped. 947 type: string 948 name: 949 description: 'Name of the referent; More info: http://kubernetes.io/docs/user-guide/identifiers#names' 950 type: string 951 params: 952 description: Params contains the parameters used 953 to identify the referenced Tekton resource. Example 954 entries might include "repo" or "path" but the 955 set of params ultimately depends on the chosen 956 resolver. 957 items: 958 description: Param declares an ParamValues to 959 use for the parameter called name. 960 properties: 961 name: 962 type: string 963 value: 964 description: ParamValue is a type that can 965 hold a single string or string array. Used 966 in JSON unmarshalling so that a single JSON 967 field can accept either an individual string 968 or an array of strings. 969 properties: 970 arrayVal: 971 items: 972 type: string 973 type: array 974 x-kubernetes-list-type: atomic 975 objectVal: 976 additionalProperties: 977 type: string 978 type: object 979 stringVal: 980 type: string 981 type: 982 description: ParamType indicates the type 983 of an input parameter; Used to distinguish 984 between a single string and an array 985 of strings. 986 type: string 987 required: 988 - arrayVal 989 - objectVal 990 - stringVal 991 - type 992 type: object 993 required: 994 - name 995 - value 996 type: object 997 type: array 998 x-kubernetes-list-type: atomic 999 resolver: 1000 description: Resolver is the name of the resolver 1001 that should perform resolution of the referenced 1002 Tekton resource, such as "git". 1003 type: string 1004 type: object 1005 taskSpec: 1006 description: TaskSpec is a specification of a task 1007 properties: 1008 apiVersion: 1009 type: string 1010 description: 1011 description: Description is a user-facing description 1012 of the task that may be used to populate a UI. 1013 type: string 1014 kind: 1015 type: string 1016 metadata: 1017 description: PipelineTaskMetadata contains the labels 1018 or annotations for an EmbeddedTask 1019 properties: 1020 annotations: 1021 additionalProperties: 1022 type: string 1023 type: object 1024 labels: 1025 additionalProperties: 1026 type: string 1027 type: object 1028 type: object 1029 params: 1030 description: Params is a list of input parameters 1031 required to run the task. Params must be supplied 1032 as inputs in TaskRuns unless they declare a default 1033 value. 1034 items: 1035 description: ParamSpec defines arbitrary parameters 1036 needed beyond typed inputs (such as resources). 1037 Parameter values are provided by users as inputs 1038 on a TaskRun or PipelineRun. 1039 properties: 1040 default: 1041 description: Default is the value a parameter 1042 takes if no input value is supplied. If 1043 default is set, a Task may be executed without 1044 a supplied value for the parameter. 1045 properties: 1046 arrayVal: 1047 items: 1048 type: string 1049 type: array 1050 x-kubernetes-list-type: atomic 1051 objectVal: 1052 additionalProperties: 1053 type: string 1054 type: object 1055 stringVal: 1056 type: string 1057 type: 1058 description: ParamType indicates the type 1059 of an input parameter; Used to distinguish 1060 between a single string and an array 1061 of strings. 1062 type: string 1063 required: 1064 - arrayVal 1065 - objectVal 1066 - stringVal 1067 - type 1068 type: object 1069 description: 1070 description: Description is a user-facing 1071 description of the parameter that may be 1072 used to populate a UI. 1073 type: string 1074 name: 1075 description: Name declares the name by which 1076 a parameter is referenced. 1077 type: string 1078 properties: 1079 additionalProperties: 1080 description: PropertySpec defines the struct 1081 for object keys 1082 properties: 1083 type: 1084 description: ParamType indicates the 1085 type of an input parameter; Used to 1086 distinguish between a single string 1087 and an array of strings. 1088 type: string 1089 type: object 1090 description: Properties is the JSON Schema 1091 properties to support key-value pairs parameter. 1092 type: object 1093 type: 1094 description: Type is the user-specified type 1095 of the parameter. The possible types are 1096 currently "string", "array" and "object", 1097 and "string" is the default. 1098 type: string 1099 required: 1100 - name 1101 type: object 1102 type: array 1103 x-kubernetes-list-type: atomic 1104 resources: 1105 description: Resources is a list input and output 1106 resource to run the task Resources are represented 1107 in TaskRuns as bindings to instances of PipelineResources. 1108 properties: 1109 inputs: 1110 description: Inputs holds the mapping from the 1111 PipelineResources declared in DeclaredPipelineResources 1112 to the input PipelineResources required by 1113 the Task. 1114 items: 1115 description: TaskResource defines an input 1116 or output Resource declared as a requirement 1117 by a Task. The Name field will be used to 1118 refer to these Resources within the Task 1119 definition, and when provided as an Input, 1120 the Name will be the path to the volume 1121 mounted containing this Resource as an input 1122 (e.g. an input Resource named `workspace` 1123 will be mounted at `/workspace`). 1124 properties: 1125 description: 1126 description: Description is a user-facing 1127 description of the declared resource 1128 that may be used to populate a UI. 1129 type: string 1130 name: 1131 description: Name declares the name by 1132 which a resource is referenced in the 1133 definition. Resources may be referenced 1134 by name in the definition of a Task's 1135 steps. 1136 type: string 1137 optional: 1138 description: 'Optional declares the resource 1139 as optional. By default optional is 1140 set to false which makes a resource 1141 required. optional: true - the resource 1142 is considered optional optional: false 1143 - the resource is considered required 1144 (equivalent of not specifying it)' 1145 type: boolean 1146 targetPath: 1147 description: TargetPath is the path in 1148 workspace directory where the resource 1149 will be copied. 1150 type: string 1151 type: 1152 description: Type is the type of this 1153 resource; 1154 type: string 1155 required: 1156 - name 1157 - type 1158 type: object 1159 type: array 1160 x-kubernetes-list-type: atomic 1161 outputs: 1162 description: Outputs holds the mapping from 1163 the PipelineResources declared in DeclaredPipelineResources 1164 to the input PipelineResources required by 1165 the Task. 1166 items: 1167 description: TaskResource defines an input 1168 or output Resource declared as a requirement 1169 by a Task. The Name field will be used to 1170 refer to these Resources within the Task 1171 definition, and when provided as an Input, 1172 the Name will be the path to the volume 1173 mounted containing this Resource as an input 1174 (e.g. an input Resource named `workspace` 1175 will be mounted at `/workspace`). 1176 properties: 1177 description: 1178 description: Description is a user-facing 1179 description of the declared resource 1180 that may be used to populate a UI. 1181 type: string 1182 name: 1183 description: Name declares the name by 1184 which a resource is referenced in the 1185 definition. Resources may be referenced 1186 by name in the definition of a Task's 1187 steps. 1188 type: string 1189 optional: 1190 description: 'Optional declares the resource 1191 as optional. By default optional is 1192 set to false which makes a resource 1193 required. optional: true - the resource 1194 is considered optional optional: false 1195 - the resource is considered required 1196 (equivalent of not specifying it)' 1197 type: boolean 1198 targetPath: 1199 description: TargetPath is the path in 1200 workspace directory where the resource 1201 will be copied. 1202 type: string 1203 type: 1204 description: Type is the type of this 1205 resource; 1206 type: string 1207 required: 1208 - name 1209 - type 1210 type: object 1211 type: array 1212 x-kubernetes-list-type: atomic 1213 type: object 1214 results: 1215 description: Results are values that this Task can 1216 output 1217 items: 1218 description: TaskResult used to describe the results 1219 of a task 1220 properties: 1221 description: 1222 description: Description is a human-readable 1223 description of the result 1224 type: string 1225 name: 1226 description: Name the given name 1227 type: string 1228 properties: 1229 additionalProperties: 1230 description: PropertySpec defines the struct 1231 for object keys 1232 properties: 1233 type: 1234 description: ParamType indicates the 1235 type of an input parameter; Used to 1236 distinguish between a single string 1237 and an array of strings. 1238 type: string 1239 type: object 1240 description: Properties is the JSON Schema 1241 properties to support key-value pairs results. 1242 type: object 1243 type: 1244 description: Type is the user-specified type 1245 of the result. The possible type is currently 1246 "string" and will support "array" in following 1247 work. 1248 type: string 1249 required: 1250 - name 1251 type: object 1252 type: array 1253 x-kubernetes-list-type: atomic 1254 sidecars: 1255 description: Sidecars are run alongside the Task's 1256 step containers. They begin before the steps start 1257 and end after the steps complete. 1258 items: 1259 description: Sidecar has nearly the same data 1260 structure as Step but does not have the ability 1261 to timeout. 1262 properties: 1263 args: 1264 description: 'Arguments to the entrypoint. 1265 The image''s CMD is used if this is not 1266 provided. Variable references $(VAR_NAME) 1267 are expanded using the container''s environment. 1268 If a variable cannot be resolved, the reference 1269 in the input string will be unchanged. Double 1270 $$ are reduced to a single $, which allows 1271 for escaping the $(VAR_NAME) syntax: i.e. 1272 "$$(VAR_NAME)" will produce the string literal 1273 "$(VAR_NAME)". Escaped references will never 1274 be expanded, regardless of whether the variable 1275 exists or not. Cannot be updated. More info: 1276 https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell' 1277 items: 1278 type: string 1279 type: array 1280 x-kubernetes-list-type: atomic 1281 command: 1282 description: 'Entrypoint array. Not executed 1283 within a shell. The image''s ENTRYPOINT 1284 is used if this is not provided. Variable 1285 references $(VAR_NAME) are expanded using 1286 the Sidecar''s environment. If a variable 1287 cannot be resolved, the reference in the 1288 input string will be unchanged. Double $$ 1289 are reduced to a single $, which allows 1290 for escaping the $(VAR_NAME) syntax: i.e. 1291 "$$(VAR_NAME)" will produce the string literal 1292 "$(VAR_NAME)". Escaped references will never 1293 be expanded, regardless of whether the variable 1294 exists or not. Cannot be updated. More info: 1295 https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell' 1296 items: 1297 type: string 1298 type: array 1299 x-kubernetes-list-type: atomic 1300 env: 1301 description: List of environment variables 1302 to set in the Sidecar. Cannot be updated. 1303 items: 1304 description: EnvVar represents an environment 1305 variable present in a Container. 1306 properties: 1307 name: 1308 description: Name of the environment 1309 variable. Must be a C_IDENTIFIER. 1310 type: string 1311 value: 1312 description: 'Variable references $(VAR_NAME) 1313 are expanded using the previously 1314 defined environment variables in the 1315 container and any service environment 1316 variables. If a variable cannot be 1317 resolved, the reference in the input 1318 string will be unchanged. Double $$ 1319 are reduced to a single $, which allows 1320 for escaping the $(VAR_NAME) syntax: 1321 i.e. "$$(VAR_NAME)" will produce the 1322 string literal "$(VAR_NAME)". Escaped 1323 references will never be expanded, 1324 regardless of whether the variable 1325 exists or not. Defaults to "".' 1326 type: string 1327 valueFrom: 1328 description: Source for the environment 1329 variable's value. Cannot be used if 1330 value is not empty. 1331 properties: 1332 configMapKeyRef: 1333 description: Selects a key of a 1334 ConfigMap. 1335 properties: 1336 key: 1337 description: The key to select. 1338 type: string 1339 name: 1340 description: 'Name of the referent. 1341 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 1342 TODO: Add other useful fields. 1343 apiVersion, kind, uid?' 1344 type: string 1345 optional: 1346 description: Specify whether 1347 the ConfigMap or its key must 1348 be defined 1349 type: boolean 1350 required: 1351 - key 1352 type: object 1353 fieldRef: 1354 description: 'Selects a field of 1355 the pod: supports metadata.name, 1356 metadata.namespace, `metadata.labels[''<KEY>'']`, 1357 `metadata.annotations[''<KEY>'']`, 1358 spec.nodeName, spec.serviceAccountName, 1359 status.hostIP, status.podIP, status.podIPs.' 1360 properties: 1361 apiVersion: 1362 description: Version of the 1363 schema the FieldPath is written 1364 in terms of, defaults to "v1". 1365 type: string 1366 fieldPath: 1367 description: Path of the field 1368 to select in the specified 1369 API version. 1370 type: string 1371 required: 1372 - fieldPath 1373 type: object 1374 resourceFieldRef: 1375 description: 'Selects a resource 1376 of the container: only resources 1377 limits and requests (limits.cpu, 1378 limits.memory, limits.ephemeral-storage, 1379 requests.cpu, requests.memory 1380 and requests.ephemeral-storage) 1381 are currently supported.' 1382 properties: 1383 containerName: 1384 description: 'Container name: 1385 required for volumes, optional 1386 for env vars' 1387 type: string 1388 divisor: 1389 anyOf: 1390 - type: integer 1391 - type: string 1392 description: Specifies the output 1393 format of the exposed resources, 1394 defaults to "1" 1395 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 1396 x-kubernetes-int-or-string: true 1397 resource: 1398 description: 'Required: resource 1399 to select' 1400 type: string 1401 required: 1402 - resource 1403 type: object 1404 secretKeyRef: 1405 description: Selects a key of a 1406 secret in the pod's namespace 1407 properties: 1408 key: 1409 description: The key of the 1410 secret to select from. Must 1411 be a valid secret key. 1412 type: string 1413 name: 1414 description: 'Name of the referent. 1415 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 1416 TODO: Add other useful fields. 1417 apiVersion, kind, uid?' 1418 type: string 1419 optional: 1420 description: Specify whether 1421 the Secret or its key must 1422 be defined 1423 type: boolean 1424 required: 1425 - key 1426 type: object 1427 type: object 1428 required: 1429 - name 1430 type: object 1431 type: array 1432 x-kubernetes-list-type: atomic 1433 envFrom: 1434 description: List of sources to populate environment 1435 variables in the Sidecar. The keys defined 1436 within a source must be a C_IDENTIFIER. 1437 All invalid keys will be reported as an 1438 event when the Sidecar is starting. When 1439 a key exists in multiple sources, the value 1440 associated with the last source will take 1441 precedence. Values defined by an Env with 1442 a duplicate key will take precedence. Cannot 1443 be updated. 1444 items: 1445 description: EnvFromSource represents the 1446 source of a set of ConfigMaps 1447 properties: 1448 configMapRef: 1449 description: The ConfigMap to select 1450 from 1451 properties: 1452 name: 1453 description: 'Name of the referent. 1454 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 1455 TODO: Add other useful fields. 1456 apiVersion, kind, uid?' 1457 type: string 1458 optional: 1459 description: Specify whether the 1460 ConfigMap must be defined 1461 type: boolean 1462 type: object 1463 prefix: 1464 description: An optional identifier 1465 to prepend to each key in the ConfigMap. 1466 Must be a C_IDENTIFIER. 1467 type: string 1468 secretRef: 1469 description: The Secret to select from 1470 properties: 1471 name: 1472 description: 'Name of the referent. 1473 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 1474 TODO: Add other useful fields. 1475 apiVersion, kind, uid?' 1476 type: string 1477 optional: 1478 description: Specify whether the 1479 Secret must be defined 1480 type: boolean 1481 type: object 1482 type: object 1483 type: array 1484 x-kubernetes-list-type: atomic 1485 image: 1486 description: 'Image name to be used by the 1487 Sidecar. More info: https://kubernetes.io/docs/concepts/containers/images' 1488 type: string 1489 imagePullPolicy: 1490 description: 'Image pull policy. One of Always, 1491 Never, IfNotPresent. Defaults to Always 1492 if :latest tag is specified, or IfNotPresent 1493 otherwise. Cannot be updated. More info: 1494 https://kubernetes.io/docs/concepts/containers/images#updating-images' 1495 type: string 1496 lifecycle: 1497 description: Actions that the management system 1498 should take in response to Sidecar lifecycle 1499 events. Cannot be updated. 1500 properties: 1501 postStart: 1502 description: 'PostStart is called immediately 1503 after a container is created. If the 1504 handler fails, the container is terminated 1505 and restarted according to its restart 1506 policy. Other management of the container 1507 blocks until the hook completes. More 1508 info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks' 1509 properties: 1510 exec: 1511 description: Exec specifies the action 1512 to take. 1513 properties: 1514 command: 1515 description: Command is the command 1516 line to execute inside the container, 1517 the working directory for the 1518 command is root ('/') in the 1519 container's filesystem. The 1520 command is simply exec'd, it 1521 is not run inside a shell, so 1522 traditional shell instructions 1523 ('|', etc) won't work. To use 1524 a shell, you need to explicitly 1525 call out to that shell. Exit 1526 status of 0 is treated as live/healthy 1527 and non-zero is unhealthy. 1528 items: 1529 type: string 1530 type: array 1531 type: object 1532 httpGet: 1533 description: HTTPGet specifies the 1534 http request to perform. 1535 properties: 1536 host: 1537 description: Host name to connect 1538 to, defaults to the pod IP. 1539 You probably want to set "Host" 1540 in httpHeaders instead. 1541 type: string 1542 httpHeaders: 1543 description: Custom headers to 1544 set in the request. HTTP allows 1545 repeated headers. 1546 items: 1547 description: HTTPHeader describes 1548 a custom header to be used 1549 in HTTP probes 1550 properties: 1551 name: 1552 description: The header 1553 field name 1554 type: string 1555 value: 1556 description: The header 1557 field value 1558 type: string 1559 required: 1560 - name 1561 - value 1562 type: object 1563 type: array 1564 path: 1565 description: Path to access on 1566 the HTTP server. 1567 type: string 1568 port: 1569 anyOf: 1570 - type: integer 1571 - type: string 1572 description: Name or number of 1573 the port to access on the container. 1574 Number must be in the range 1575 1 to 65535. Name must be an 1576 IANA_SVC_NAME. 1577 x-kubernetes-int-or-string: true 1578 scheme: 1579 description: Scheme to use for 1580 connecting to the host. Defaults 1581 to HTTP. 1582 type: string 1583 required: 1584 - port 1585 type: object 1586 tcpSocket: 1587 description: Deprecated. TCPSocket 1588 is NOT supported as a LifecycleHandler 1589 and kept for the backward compatibility. 1590 There are no validation of this 1591 field and lifecycle hooks will fail 1592 in runtime when tcp handler is specified. 1593 properties: 1594 host: 1595 description: 'Optional: Host name 1596 to connect to, defaults to the 1597 pod IP.' 1598 type: string 1599 port: 1600 anyOf: 1601 - type: integer 1602 - type: string 1603 description: Number or name of 1604 the port to access on the container. 1605 Number must be in the range 1606 1 to 65535. Name must be an 1607 IANA_SVC_NAME. 1608 x-kubernetes-int-or-string: true 1609 required: 1610 - port 1611 type: object 1612 type: object 1613 preStop: 1614 description: 'PreStop is called immediately 1615 before a container is terminated due 1616 to an API request or management event 1617 such as liveness/startup probe failure, 1618 preemption, resource contention, etc. 1619 The handler is not called if the container 1620 crashes or exits. The Pod''s termination 1621 grace period countdown begins before 1622 the PreStop hook is executed. Regardless 1623 of the outcome of the handler, the container 1624 will eventually terminate within the 1625 Pod''s termination grace period (unless 1626 delayed by finalizers). Other management 1627 of the container blocks until the hook 1628 completes or until the termination grace 1629 period is reached. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks' 1630 properties: 1631 exec: 1632 description: Exec specifies the action 1633 to take. 1634 properties: 1635 command: 1636 description: Command is the command 1637 line to execute inside the container, 1638 the working directory for the 1639 command is root ('/') in the 1640 container's filesystem. The 1641 command is simply exec'd, it 1642 is not run inside a shell, so 1643 traditional shell instructions 1644 ('|', etc) won't work. To use 1645 a shell, you need to explicitly 1646 call out to that shell. Exit 1647 status of 0 is treated as live/healthy 1648 and non-zero is unhealthy. 1649 items: 1650 type: string 1651 type: array 1652 type: object 1653 httpGet: 1654 description: HTTPGet specifies the 1655 http request to perform. 1656 properties: 1657 host: 1658 description: Host name to connect 1659 to, defaults to the pod IP. 1660 You probably want to set "Host" 1661 in httpHeaders instead. 1662 type: string 1663 httpHeaders: 1664 description: Custom headers to 1665 set in the request. HTTP allows 1666 repeated headers. 1667 items: 1668 description: HTTPHeader describes 1669 a custom header to be used 1670 in HTTP probes 1671 properties: 1672 name: 1673 description: The header 1674 field name 1675 type: string 1676 value: 1677 description: The header 1678 field value 1679 type: string 1680 required: 1681 - name 1682 - value 1683 type: object 1684 type: array 1685 path: 1686 description: Path to access on 1687 the HTTP server. 1688 type: string 1689 port: 1690 anyOf: 1691 - type: integer 1692 - type: string 1693 description: Name or number of 1694 the port to access on the container. 1695 Number must be in the range 1696 1 to 65535. Name must be an 1697 IANA_SVC_NAME. 1698 x-kubernetes-int-or-string: true 1699 scheme: 1700 description: Scheme to use for 1701 connecting to the host. Defaults 1702 to HTTP. 1703 type: string 1704 required: 1705 - port 1706 type: object 1707 tcpSocket: 1708 description: Deprecated. TCPSocket 1709 is NOT supported as a LifecycleHandler 1710 and kept for the backward compatibility. 1711 There are no validation of this 1712 field and lifecycle hooks will fail 1713 in runtime when tcp handler is specified. 1714 properties: 1715 host: 1716 description: 'Optional: Host name 1717 to connect to, defaults to the 1718 pod IP.' 1719 type: string 1720 port: 1721 anyOf: 1722 - type: integer 1723 - type: string 1724 description: Number or name of 1725 the port to access on the container. 1726 Number must be in the range 1727 1 to 65535. Name must be an 1728 IANA_SVC_NAME. 1729 x-kubernetes-int-or-string: true 1730 required: 1731 - port 1732 type: object 1733 type: object 1734 type: object 1735 livenessProbe: 1736 description: 'Periodic probe of Sidecar liveness. 1737 Container will be restarted if the probe 1738 fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 1739 properties: 1740 exec: 1741 description: Exec specifies the action 1742 to take. 1743 properties: 1744 command: 1745 description: Command is the command 1746 line to execute inside the container, 1747 the working directory for the command is 1748 root ('/') in the container's filesystem. 1749 The command is simply exec'd, it 1750 is not run inside a shell, so traditional 1751 shell instructions ('|', etc) won't 1752 work. To use a shell, you need to 1753 explicitly call out to that shell. 1754 Exit status of 0 is treated as live/healthy 1755 and non-zero is unhealthy. 1756 items: 1757 type: string 1758 type: array 1759 type: object 1760 failureThreshold: 1761 description: Minimum consecutive failures 1762 for the probe to be considered failed 1763 after having succeeded. Defaults to 1764 3. Minimum value is 1. 1765 format: int32 1766 type: integer 1767 grpc: 1768 description: GRPC specifies an action 1769 involving a GRPC port. This is a beta 1770 field and requires enabling GRPCContainerProbe 1771 feature gate. 1772 properties: 1773 port: 1774 description: Port number of the gRPC 1775 service. Number must be in the range 1776 1 to 65535. 1777 format: int32 1778 type: integer 1779 service: 1780 description: "Service is the name 1781 of the service to place in the gRPC 1782 HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). 1783 \n If this is not specified, the 1784 default behavior is defined by gRPC." 1785 type: string 1786 required: 1787 - port 1788 type: object 1789 httpGet: 1790 description: HTTPGet specifies the http 1791 request to perform. 1792 properties: 1793 host: 1794 description: Host name to connect 1795 to, defaults to the pod IP. You 1796 probably want to set "Host" in httpHeaders 1797 instead. 1798 type: string 1799 httpHeaders: 1800 description: Custom headers to set 1801 in the request. HTTP allows repeated 1802 headers. 1803 items: 1804 description: HTTPHeader describes 1805 a custom header to be used in 1806 HTTP probes 1807 properties: 1808 name: 1809 description: The header field 1810 name 1811 type: string 1812 value: 1813 description: The header field 1814 value 1815 type: string 1816 required: 1817 - name 1818 - value 1819 type: object 1820 type: array 1821 path: 1822 description: Path to access on the 1823 HTTP server. 1824 type: string 1825 port: 1826 anyOf: 1827 - type: integer 1828 - type: string 1829 description: Name or number of the 1830 port to access on the container. 1831 Number must be in the range 1 to 1832 65535. Name must be an IANA_SVC_NAME. 1833 x-kubernetes-int-or-string: true 1834 scheme: 1835 description: Scheme to use for connecting 1836 to the host. Defaults to HTTP. 1837 type: string 1838 required: 1839 - port 1840 type: object 1841 initialDelaySeconds: 1842 description: 'Number of seconds after 1843 the container has started before liveness 1844 probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 1845 format: int32 1846 type: integer 1847 periodSeconds: 1848 description: How often (in seconds) to 1849 perform the probe. Default to 10 seconds. 1850 Minimum value is 1. 1851 format: int32 1852 type: integer 1853 successThreshold: 1854 description: Minimum consecutive successes 1855 for the probe to be considered successful 1856 after having failed. Defaults to 1. 1857 Must be 1 for liveness and startup. 1858 Minimum value is 1. 1859 format: int32 1860 type: integer 1861 tcpSocket: 1862 description: TCPSocket specifies an action 1863 involving a TCP port. 1864 properties: 1865 host: 1866 description: 'Optional: Host name 1867 to connect to, defaults to the pod 1868 IP.' 1869 type: string 1870 port: 1871 anyOf: 1872 - type: integer 1873 - type: string 1874 description: Number or name of the 1875 port to access on the container. 1876 Number must be in the range 1 to 1877 65535. Name must be an IANA_SVC_NAME. 1878 x-kubernetes-int-or-string: true 1879 required: 1880 - port 1881 type: object 1882 terminationGracePeriodSeconds: 1883 description: Optional duration in seconds 1884 the pod needs to terminate gracefully 1885 upon probe failure. The grace period 1886 is the duration in seconds after the 1887 processes running in the pod are sent 1888 a termination signal and the time when 1889 the processes are forcibly halted with 1890 a kill signal. Set this value longer 1891 than the expected cleanup time for your 1892 process. If this value is nil, the pod's 1893 terminationGracePeriodSeconds will be 1894 used. Otherwise, this value overrides 1895 the value provided by the pod spec. 1896 Value must be non-negative integer. 1897 The value zero indicates stop immediately 1898 via the kill signal (no opportunity 1899 to shut down). This is a beta field 1900 and requires enabling ProbeTerminationGracePeriod 1901 feature gate. Minimum value is 1. spec.terminationGracePeriodSeconds 1902 is used if unset. 1903 format: int64 1904 type: integer 1905 timeoutSeconds: 1906 description: 'Number of seconds after 1907 which the probe times out. Defaults 1908 to 1 second. Minimum value is 1. More 1909 info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 1910 format: int32 1911 type: integer 1912 type: object 1913 name: 1914 description: Name of the Sidecar specified 1915 as a DNS_LABEL. Each Sidecar in a Task must 1916 have a unique name (DNS_LABEL). Cannot be 1917 updated. 1918 type: string 1919 ports: 1920 description: List of ports to expose from 1921 the Sidecar. Exposing a port here gives 1922 the system additional information about 1923 the network connections a container uses, 1924 but is primarily informational. Not specifying 1925 a port here DOES NOT prevent that port from 1926 being exposed. Any port which is listening 1927 on the default "0.0.0.0" address inside 1928 a container will be accessible from the 1929 network. Cannot be updated. 1930 items: 1931 description: ContainerPort represents a 1932 network port in a single container. 1933 properties: 1934 containerPort: 1935 description: Number of port to expose 1936 on the pod's IP address. This must 1937 be a valid port number, 0 < x < 65536. 1938 format: int32 1939 type: integer 1940 hostIP: 1941 description: What host IP to bind the 1942 external port to. 1943 type: string 1944 hostPort: 1945 description: Number of port to expose 1946 on the host. If specified, this must 1947 be a valid port number, 0 < x < 65536. 1948 If HostNetwork is specified, this 1949 must match ContainerPort. Most containers 1950 do not need this. 1951 format: int32 1952 type: integer 1953 name: 1954 description: If specified, this must 1955 be an IANA_SVC_NAME and unique within 1956 the pod. Each named port in a pod 1957 must have a unique name. Name for 1958 the port that can be referred to by 1959 services. 1960 type: string 1961 protocol: 1962 default: TCP 1963 description: Protocol for port. Must 1964 be UDP, TCP, or SCTP. Defaults to 1965 "TCP". 1966 type: string 1967 required: 1968 - containerPort 1969 type: object 1970 type: array 1971 x-kubernetes-list-map-keys: 1972 - containerPort 1973 - protocol 1974 x-kubernetes-list-type: map 1975 readinessProbe: 1976 description: 'Periodic probe of Sidecar service 1977 readiness. Container will be removed from 1978 service endpoints if the probe fails. Cannot 1979 be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 1980 properties: 1981 exec: 1982 description: Exec specifies the action 1983 to take. 1984 properties: 1985 command: 1986 description: Command is the command 1987 line to execute inside the container, 1988 the working directory for the command is 1989 root ('/') in the container's filesystem. 1990 The command is simply exec'd, it 1991 is not run inside a shell, so traditional 1992 shell instructions ('|', etc) won't 1993 work. To use a shell, you need to 1994 explicitly call out to that shell. 1995 Exit status of 0 is treated as live/healthy 1996 and non-zero is unhealthy. 1997 items: 1998 type: string 1999 type: array 2000 type: object 2001 failureThreshold: 2002 description: Minimum consecutive failures 2003 for the probe to be considered failed 2004 after having succeeded. Defaults to 2005 3. Minimum value is 1. 2006 format: int32 2007 type: integer 2008 grpc: 2009 description: GRPC specifies an action 2010 involving a GRPC port. This is a beta 2011 field and requires enabling GRPCContainerProbe 2012 feature gate. 2013 properties: 2014 port: 2015 description: Port number of the gRPC 2016 service. Number must be in the range 2017 1 to 65535. 2018 format: int32 2019 type: integer 2020 service: 2021 description: "Service is the name 2022 of the service to place in the gRPC 2023 HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). 2024 \n If this is not specified, the 2025 default behavior is defined by gRPC." 2026 type: string 2027 required: 2028 - port 2029 type: object 2030 httpGet: 2031 description: HTTPGet specifies the http 2032 request to perform. 2033 properties: 2034 host: 2035 description: Host name to connect 2036 to, defaults to the pod IP. You 2037 probably want to set "Host" in httpHeaders 2038 instead. 2039 type: string 2040 httpHeaders: 2041 description: Custom headers to set 2042 in the request. HTTP allows repeated 2043 headers. 2044 items: 2045 description: HTTPHeader describes 2046 a custom header to be used in 2047 HTTP probes 2048 properties: 2049 name: 2050 description: The header field 2051 name 2052 type: string 2053 value: 2054 description: The header field 2055 value 2056 type: string 2057 required: 2058 - name 2059 - value 2060 type: object 2061 type: array 2062 path: 2063 description: Path to access on the 2064 HTTP server. 2065 type: string 2066 port: 2067 anyOf: 2068 - type: integer 2069 - type: string 2070 description: Name or number of the 2071 port to access on the container. 2072 Number must be in the range 1 to 2073 65535. Name must be an IANA_SVC_NAME. 2074 x-kubernetes-int-or-string: true 2075 scheme: 2076 description: Scheme to use for connecting 2077 to the host. Defaults to HTTP. 2078 type: string 2079 required: 2080 - port 2081 type: object 2082 initialDelaySeconds: 2083 description: 'Number of seconds after 2084 the container has started before liveness 2085 probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 2086 format: int32 2087 type: integer 2088 periodSeconds: 2089 description: How often (in seconds) to 2090 perform the probe. Default to 10 seconds. 2091 Minimum value is 1. 2092 format: int32 2093 type: integer 2094 successThreshold: 2095 description: Minimum consecutive successes 2096 for the probe to be considered successful 2097 after having failed. Defaults to 1. 2098 Must be 1 for liveness and startup. 2099 Minimum value is 1. 2100 format: int32 2101 type: integer 2102 tcpSocket: 2103 description: TCPSocket specifies an action 2104 involving a TCP port. 2105 properties: 2106 host: 2107 description: 'Optional: Host name 2108 to connect to, defaults to the pod 2109 IP.' 2110 type: string 2111 port: 2112 anyOf: 2113 - type: integer 2114 - type: string 2115 description: Number or name of the 2116 port to access on the container. 2117 Number must be in the range 1 to 2118 65535. Name must be an IANA_SVC_NAME. 2119 x-kubernetes-int-or-string: true 2120 required: 2121 - port 2122 type: object 2123 terminationGracePeriodSeconds: 2124 description: Optional duration in seconds 2125 the pod needs to terminate gracefully 2126 upon probe failure. The grace period 2127 is the duration in seconds after the 2128 processes running in the pod are sent 2129 a termination signal and the time when 2130 the processes are forcibly halted with 2131 a kill signal. Set this value longer 2132 than the expected cleanup time for your 2133 process. If this value is nil, the pod's 2134 terminationGracePeriodSeconds will be 2135 used. Otherwise, this value overrides 2136 the value provided by the pod spec. 2137 Value must be non-negative integer. 2138 The value zero indicates stop immediately 2139 via the kill signal (no opportunity 2140 to shut down). This is a beta field 2141 and requires enabling ProbeTerminationGracePeriod 2142 feature gate. Minimum value is 1. spec.terminationGracePeriodSeconds 2143 is used if unset. 2144 format: int64 2145 type: integer 2146 timeoutSeconds: 2147 description: 'Number of seconds after 2148 which the probe times out. Defaults 2149 to 1 second. Minimum value is 1. More 2150 info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 2151 format: int32 2152 type: integer 2153 type: object 2154 resources: 2155 description: 'Compute Resources required by 2156 this Sidecar. Cannot be updated. More info: 2157 https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' 2158 properties: 2159 limits: 2160 additionalProperties: 2161 anyOf: 2162 - type: integer 2163 - type: string 2164 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 2165 x-kubernetes-int-or-string: true 2166 description: 'Limits describes the maximum 2167 amount of compute resources allowed. 2168 More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' 2169 type: object 2170 requests: 2171 additionalProperties: 2172 anyOf: 2173 - type: integer 2174 - type: string 2175 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 2176 x-kubernetes-int-or-string: true 2177 description: 'Requests describes the minimum 2178 amount of compute resources required. 2179 If Requests is omitted for a container, 2180 it defaults to Limits if that is explicitly 2181 specified, otherwise to an implementation-defined 2182 value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' 2183 type: object 2184 type: object 2185 script: 2186 description: "Script is the contents of an 2187 executable file to execute. \n If Script 2188 is not empty, the Step cannot have an Command 2189 or Args." 2190 type: string 2191 securityContext: 2192 description: 'SecurityContext defines the 2193 security options the Sidecar should be run 2194 with. If set, the fields of SecurityContext 2195 override the equivalent fields of PodSecurityContext. 2196 More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/' 2197 properties: 2198 allowPrivilegeEscalation: 2199 description: 'AllowPrivilegeEscalation 2200 controls whether a process can gain 2201 more privileges than its parent process. 2202 This bool directly controls if the no_new_privs 2203 flag will be set on the container process. 2204 AllowPrivilegeEscalation is true always 2205 when the container is: 1) run as Privileged 2206 2) has CAP_SYS_ADMIN Note that this 2207 field cannot be set when spec.os.name 2208 is windows.' 2209 type: boolean 2210 capabilities: 2211 description: The capabilities to add/drop 2212 when running containers. Defaults to 2213 the default set of capabilities granted 2214 by the container runtime. Note that 2215 this field cannot be set when spec.os.name 2216 is windows. 2217 properties: 2218 add: 2219 description: Added capabilities 2220 items: 2221 description: Capability represent 2222 POSIX capabilities type 2223 type: string 2224 type: array 2225 drop: 2226 description: Removed capabilities 2227 items: 2228 description: Capability represent 2229 POSIX capabilities type 2230 type: string 2231 type: array 2232 type: object 2233 privileged: 2234 description: Run container in privileged 2235 mode. Processes in privileged containers 2236 are essentially equivalent to root on 2237 the host. Defaults to false. Note that 2238 this field cannot be set when spec.os.name 2239 is windows. 2240 type: boolean 2241 procMount: 2242 description: procMount denotes the type 2243 of proc mount to use for the containers. 2244 The default is DefaultProcMount which 2245 uses the container runtime defaults 2246 for readonly paths and masked paths. 2247 This requires the ProcMountType feature 2248 flag to be enabled. Note that this field 2249 cannot be set when spec.os.name is windows. 2250 type: string 2251 readOnlyRootFilesystem: 2252 description: Whether this container has 2253 a read-only root filesystem. Default 2254 is false. Note that this field cannot 2255 be set when spec.os.name is windows. 2256 type: boolean 2257 runAsGroup: 2258 description: The GID to run the entrypoint 2259 of the container process. Uses runtime 2260 default if unset. May also be set in 2261 PodSecurityContext. If set in both 2262 SecurityContext and PodSecurityContext, 2263 the value specified in SecurityContext 2264 takes precedence. Note that this field 2265 cannot be set when spec.os.name is windows. 2266 format: int64 2267 type: integer 2268 runAsNonRoot: 2269 description: Indicates that the container 2270 must run as a non-root user. If true, 2271 the Kubelet will validate the image 2272 at runtime to ensure that it does not 2273 run as UID 0 (root) and fail to start 2274 the container if it does. If unset or 2275 false, no such validation will be performed. 2276 May also be set in PodSecurityContext. If 2277 set in both SecurityContext and PodSecurityContext, 2278 the value specified in SecurityContext 2279 takes precedence. 2280 type: boolean 2281 runAsUser: 2282 description: The UID to run the entrypoint 2283 of the container process. Defaults to 2284 user specified in image metadata if 2285 unspecified. May also be set in PodSecurityContext. If 2286 set in both SecurityContext and PodSecurityContext, 2287 the value specified in SecurityContext 2288 takes precedence. Note that this field 2289 cannot be set when spec.os.name is windows. 2290 format: int64 2291 type: integer 2292 seLinuxOptions: 2293 description: The SELinux context to be 2294 applied to the container. If unspecified, 2295 the container runtime will allocate 2296 a random SELinux context for each container. May 2297 also be set in PodSecurityContext. If 2298 set in both SecurityContext and PodSecurityContext, 2299 the value specified in SecurityContext 2300 takes precedence. Note that this field 2301 cannot be set when spec.os.name is windows. 2302 properties: 2303 level: 2304 description: Level is SELinux level 2305 label that applies to the container. 2306 type: string 2307 role: 2308 description: Role is a SELinux role 2309 label that applies to the container. 2310 type: string 2311 type: 2312 description: Type is a SELinux type 2313 label that applies to the container. 2314 type: string 2315 user: 2316 description: User is a SELinux user 2317 label that applies to the container. 2318 type: string 2319 type: object 2320 seccompProfile: 2321 description: The seccomp options to use 2322 by this container. If seccomp options 2323 are provided at both the pod & container 2324 level, the container options override 2325 the pod options. Note that this field 2326 cannot be set when spec.os.name is windows. 2327 properties: 2328 localhostProfile: 2329 description: localhostProfile indicates 2330 a profile defined in a file on the 2331 node should be used. The profile 2332 must be preconfigured on the node 2333 to work. Must be a descending path, 2334 relative to the kubelet's configured 2335 seccomp profile location. Must only 2336 be set if type is "Localhost". 2337 type: string 2338 type: 2339 description: "type indicates which 2340 kind of seccomp profile will be 2341 applied. Valid options are: \n Localhost 2342 - a profile defined in a file on 2343 the node should be used. RuntimeDefault 2344 - the container runtime default 2345 profile should be used. Unconfined 2346 - no profile should be applied." 2347 type: string 2348 required: 2349 - type 2350 type: object 2351 windowsOptions: 2352 description: The Windows specific settings 2353 applied to all containers. If unspecified, 2354 the options from the PodSecurityContext 2355 will be used. If set in both SecurityContext 2356 and PodSecurityContext, the value specified 2357 in SecurityContext takes precedence. 2358 Note that this field cannot be set when 2359 spec.os.name is linux. 2360 properties: 2361 gmsaCredentialSpec: 2362 description: GMSACredentialSpec is 2363 where the GMSA admission webhook 2364 (https://github.com/kubernetes-sigs/windows-gmsa) 2365 inlines the contents of the GMSA 2366 credential spec named by the GMSACredentialSpecName 2367 field. 2368 type: string 2369 gmsaCredentialSpecName: 2370 description: GMSACredentialSpecName 2371 is the name of the GMSA credential 2372 spec to use. 2373 type: string 2374 hostProcess: 2375 description: HostProcess determines 2376 if a container should be run as 2377 a 'Host Process' container. This 2378 field is alpha-level and will only 2379 be honored by components that enable 2380 the WindowsHostProcessContainers 2381 feature flag. Setting this field 2382 without the feature flag will result 2383 in errors when validating the Pod. 2384 All of a Pod's containers must have 2385 the same effective HostProcess value 2386 (it is not allowed to have a mix 2387 of HostProcess containers and non-HostProcess 2388 containers). In addition, if HostProcess 2389 is true then HostNetwork must also 2390 be set to true. 2391 type: boolean 2392 runAsUserName: 2393 description: The UserName in Windows 2394 to run the entrypoint of the container 2395 process. Defaults to the user specified 2396 in image metadata if unspecified. 2397 May also be set in PodSecurityContext. 2398 If set in both SecurityContext and 2399 PodSecurityContext, the value specified 2400 in SecurityContext takes precedence. 2401 type: string 2402 type: object 2403 type: object 2404 startupProbe: 2405 description: 'StartupProbe indicates that 2406 the Pod the Sidecar is running in has successfully 2407 initialized. If specified, no other probes 2408 are executed until this completes successfully. 2409 If this probe fails, the Pod will be restarted, 2410 just as if the livenessProbe failed. This 2411 can be used to provide different probe parameters 2412 at the beginning of a Pod''s lifecycle, 2413 when it might take a long time to load data 2414 or warm a cache, than during steady-state 2415 operation. This cannot be updated. More 2416 info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 2417 properties: 2418 exec: 2419 description: Exec specifies the action 2420 to take. 2421 properties: 2422 command: 2423 description: Command is the command 2424 line to execute inside the container, 2425 the working directory for the command is 2426 root ('/') in the container's filesystem. 2427 The command is simply exec'd, it 2428 is not run inside a shell, so traditional 2429 shell instructions ('|', etc) won't 2430 work. To use a shell, you need to 2431 explicitly call out to that shell. 2432 Exit status of 0 is treated as live/healthy 2433 and non-zero is unhealthy. 2434 items: 2435 type: string 2436 type: array 2437 type: object 2438 failureThreshold: 2439 description: Minimum consecutive failures 2440 for the probe to be considered failed 2441 after having succeeded. Defaults to 2442 3. Minimum value is 1. 2443 format: int32 2444 type: integer 2445 grpc: 2446 description: GRPC specifies an action 2447 involving a GRPC port. This is a beta 2448 field and requires enabling GRPCContainerProbe 2449 feature gate. 2450 properties: 2451 port: 2452 description: Port number of the gRPC 2453 service. Number must be in the range 2454 1 to 65535. 2455 format: int32 2456 type: integer 2457 service: 2458 description: "Service is the name 2459 of the service to place in the gRPC 2460 HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). 2461 \n If this is not specified, the 2462 default behavior is defined by gRPC." 2463 type: string 2464 required: 2465 - port 2466 type: object 2467 httpGet: 2468 description: HTTPGet specifies the http 2469 request to perform. 2470 properties: 2471 host: 2472 description: Host name to connect 2473 to, defaults to the pod IP. You 2474 probably want to set "Host" in httpHeaders 2475 instead. 2476 type: string 2477 httpHeaders: 2478 description: Custom headers to set 2479 in the request. HTTP allows repeated 2480 headers. 2481 items: 2482 description: HTTPHeader describes 2483 a custom header to be used in 2484 HTTP probes 2485 properties: 2486 name: 2487 description: The header field 2488 name 2489 type: string 2490 value: 2491 description: The header field 2492 value 2493 type: string 2494 required: 2495 - name 2496 - value 2497 type: object 2498 type: array 2499 path: 2500 description: Path to access on the 2501 HTTP server. 2502 type: string 2503 port: 2504 anyOf: 2505 - type: integer 2506 - type: string 2507 description: Name or number of the 2508 port to access on the container. 2509 Number must be in the range 1 to 2510 65535. Name must be an IANA_SVC_NAME. 2511 x-kubernetes-int-or-string: true 2512 scheme: 2513 description: Scheme to use for connecting 2514 to the host. Defaults to HTTP. 2515 type: string 2516 required: 2517 - port 2518 type: object 2519 initialDelaySeconds: 2520 description: 'Number of seconds after 2521 the container has started before liveness 2522 probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 2523 format: int32 2524 type: integer 2525 periodSeconds: 2526 description: How often (in seconds) to 2527 perform the probe. Default to 10 seconds. 2528 Minimum value is 1. 2529 format: int32 2530 type: integer 2531 successThreshold: 2532 description: Minimum consecutive successes 2533 for the probe to be considered successful 2534 after having failed. Defaults to 1. 2535 Must be 1 for liveness and startup. 2536 Minimum value is 1. 2537 format: int32 2538 type: integer 2539 tcpSocket: 2540 description: TCPSocket specifies an action 2541 involving a TCP port. 2542 properties: 2543 host: 2544 description: 'Optional: Host name 2545 to connect to, defaults to the pod 2546 IP.' 2547 type: string 2548 port: 2549 anyOf: 2550 - type: integer 2551 - type: string 2552 description: Number or name of the 2553 port to access on the container. 2554 Number must be in the range 1 to 2555 65535. Name must be an IANA_SVC_NAME. 2556 x-kubernetes-int-or-string: true 2557 required: 2558 - port 2559 type: object 2560 terminationGracePeriodSeconds: 2561 description: Optional duration in seconds 2562 the pod needs to terminate gracefully 2563 upon probe failure. The grace period 2564 is the duration in seconds after the 2565 processes running in the pod are sent 2566 a termination signal and the time when 2567 the processes are forcibly halted with 2568 a kill signal. Set this value longer 2569 than the expected cleanup time for your 2570 process. If this value is nil, the pod's 2571 terminationGracePeriodSeconds will be 2572 used. Otherwise, this value overrides 2573 the value provided by the pod spec. 2574 Value must be non-negative integer. 2575 The value zero indicates stop immediately 2576 via the kill signal (no opportunity 2577 to shut down). This is a beta field 2578 and requires enabling ProbeTerminationGracePeriod 2579 feature gate. Minimum value is 1. spec.terminationGracePeriodSeconds 2580 is used if unset. 2581 format: int64 2582 type: integer 2583 timeoutSeconds: 2584 description: 'Number of seconds after 2585 which the probe times out. Defaults 2586 to 1 second. Minimum value is 1. More 2587 info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 2588 format: int32 2589 type: integer 2590 type: object 2591 stdin: 2592 description: Whether this Sidecar should allocate 2593 a buffer for stdin in the container runtime. 2594 If this is not set, reads from stdin in 2595 the Sidecar will always result in EOF. Default 2596 is false. 2597 type: boolean 2598 stdinOnce: 2599 description: Whether the container runtime 2600 should close the stdin channel after it 2601 has been opened by a single attach. When 2602 stdin is true the stdin stream will remain 2603 open across multiple attach sessions. If 2604 stdinOnce is set to true, stdin is opened 2605 on Sidecar start, is empty until the first 2606 client attaches to stdin, and then remains 2607 open and accepts data until the client disconnects, 2608 at which time stdin is closed and remains 2609 closed until the Sidecar is restarted. If 2610 this flag is false, a container processes 2611 that reads from stdin will never receive 2612 an EOF. Default is false 2613 type: boolean 2614 terminationMessagePath: 2615 description: 'Optional: Path at which the 2616 file to which the Sidecar''s termination 2617 message will be written is mounted into 2618 the Sidecar''s filesystem. Message written 2619 is intended to be brief final status, such 2620 as an assertion failure message. Will be 2621 truncated by the node if greater than 4096 2622 bytes. The total message length across all 2623 containers will be limited to 12kb. Defaults 2624 to /dev/termination-log. Cannot be updated.' 2625 type: string 2626 terminationMessagePolicy: 2627 description: Indicate how the termination 2628 message should be populated. File will use 2629 the contents of terminationMessagePath to 2630 populate the Sidecar status message on both 2631 success and failure. FallbackToLogsOnError 2632 will use the last chunk of Sidecar log output 2633 if the termination message file is empty 2634 and the Sidecar exited with an error. The 2635 log output is limited to 2048 bytes or 80 2636 lines, whichever is smaller. Defaults to 2637 File. Cannot be updated. 2638 type: string 2639 tty: 2640 description: Whether this Sidecar should allocate 2641 a TTY for itself, also requires 'stdin' 2642 to be true. Default is false. 2643 type: boolean 2644 volumeDevices: 2645 description: volumeDevices is the list of 2646 block devices to be used by the Sidecar. 2647 items: 2648 description: volumeDevice describes a mapping 2649 of a raw block device within a container. 2650 properties: 2651 devicePath: 2652 description: devicePath is the path 2653 inside of the container that the device 2654 will be mapped to. 2655 type: string 2656 name: 2657 description: name must match the name 2658 of a persistentVolumeClaim in the 2659 pod 2660 type: string 2661 required: 2662 - devicePath 2663 - name 2664 type: object 2665 type: array 2666 x-kubernetes-list-type: atomic 2667 volumeMounts: 2668 description: Volumes to mount into the Sidecar's 2669 filesystem. Cannot be updated. 2670 items: 2671 description: VolumeMount describes a mounting 2672 of a Volume within a container. 2673 properties: 2674 mountPath: 2675 description: Path within the container 2676 at which the volume should be mounted. Must 2677 not contain ':'. 2678 type: string 2679 mountPropagation: 2680 description: mountPropagation determines 2681 how mounts are propagated from the 2682 host to container and the other way 2683 around. When not set, MountPropagationNone 2684 is used. This field is beta in 1.10. 2685 type: string 2686 name: 2687 description: This must match the Name 2688 of a Volume. 2689 type: string 2690 readOnly: 2691 description: Mounted read-only if true, 2692 read-write otherwise (false or unspecified). 2693 Defaults to false. 2694 type: boolean 2695 subPath: 2696 description: Path within the volume 2697 from which the container's volume 2698 should be mounted. Defaults to "" 2699 (volume's root). 2700 type: string 2701 subPathExpr: 2702 description: Expanded path within the 2703 volume from which the container's 2704 volume should be mounted. Behaves 2705 similarly to SubPath but environment 2706 variable references $(VAR_NAME) are 2707 expanded using the container's environment. 2708 Defaults to "" (volume's root). SubPathExpr 2709 and SubPath are mutually exclusive. 2710 type: string 2711 required: 2712 - mountPath 2713 - name 2714 type: object 2715 type: array 2716 x-kubernetes-list-type: atomic 2717 workingDir: 2718 description: Sidecar's working directory. 2719 If not specified, the container runtime's 2720 default will be used, which might be configured 2721 in the container image. Cannot be updated. 2722 type: string 2723 workspaces: 2724 description: "This is an alpha field. You 2725 must set the \"enable-api-fields\" feature 2726 flag to \"alpha\" for this field to be supported. 2727 \n Workspaces is a list of workspaces from 2728 the Task that this Sidecar wants exclusive 2729 access to. Adding a workspace to this list 2730 means that any other Step or Sidecar that 2731 does not also request this Workspace will 2732 not have access to it." 2733 items: 2734 description: WorkspaceUsage is used by a 2735 Step or Sidecar to declare that it wants 2736 isolated access to a Workspace defined 2737 in a Task. 2738 properties: 2739 mountPath: 2740 description: MountPath is the path that 2741 the workspace should be mounted to 2742 inside the Step or Sidecar, overriding 2743 any MountPath specified in the Task's 2744 WorkspaceDeclaration. 2745 type: string 2746 name: 2747 description: Name is the name of the 2748 workspace this Step or Sidecar wants 2749 access to. 2750 type: string 2751 required: 2752 - mountPath 2753 - name 2754 type: object 2755 type: array 2756 x-kubernetes-list-type: atomic 2757 required: 2758 - name 2759 type: object 2760 type: array 2761 x-kubernetes-list-type: atomic 2762 spec: 2763 description: Spec is a specification of a custom 2764 task 2765 type: object 2766 stepTemplate: 2767 description: StepTemplate can be used as the basis 2768 for all step containers within the Task, so that 2769 the steps inherit settings on the base container. 2770 properties: 2771 args: 2772 description: 'Arguments to the entrypoint. The 2773 image''s CMD is used if this is not provided. 2774 Variable references $(VAR_NAME) are expanded 2775 using the Step''s environment. If a variable 2776 cannot be resolved, the reference in the input 2777 string will be unchanged. Double $$ are reduced 2778 to a single $, which allows for escaping the 2779 $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will 2780 produce the string literal "$(VAR_NAME)". 2781 Escaped references will never be expanded, 2782 regardless of whether the variable exists 2783 or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell' 2784 items: 2785 type: string 2786 type: array 2787 x-kubernetes-list-type: atomic 2788 command: 2789 description: 'Entrypoint array. Not executed 2790 within a shell. The docker image''s ENTRYPOINT 2791 is used if this is not provided. Variable 2792 references $(VAR_NAME) are expanded using 2793 the Step''s environment. If a variable cannot 2794 be resolved, the reference in the input string 2795 will be unchanged. Double $$ are reduced to 2796 a single $, which allows for escaping the 2797 $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will 2798 produce the string literal "$(VAR_NAME)". 2799 Escaped references will never be expanded, 2800 regardless of whether the variable exists 2801 or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell' 2802 items: 2803 type: string 2804 type: array 2805 x-kubernetes-list-type: atomic 2806 env: 2807 description: List of environment variables to 2808 set in the container. Cannot be updated. 2809 items: 2810 description: EnvVar represents an environment 2811 variable present in a Container. 2812 properties: 2813 name: 2814 description: Name of the environment variable. 2815 Must be a C_IDENTIFIER. 2816 type: string 2817 value: 2818 description: 'Variable references $(VAR_NAME) 2819 are expanded using the previously defined 2820 environment variables in the container 2821 and any service environment variables. 2822 If a variable cannot be resolved, the 2823 reference in the input string will be 2824 unchanged. Double $$ are reduced to 2825 a single $, which allows for escaping 2826 the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" 2827 will produce the string literal "$(VAR_NAME)". 2828 Escaped references will never be expanded, 2829 regardless of whether the variable exists 2830 or not. Defaults to "".' 2831 type: string 2832 valueFrom: 2833 description: Source for the environment 2834 variable's value. Cannot be used if 2835 value is not empty. 2836 properties: 2837 configMapKeyRef: 2838 description: Selects a key of a ConfigMap. 2839 properties: 2840 key: 2841 description: The key to select. 2842 type: string 2843 name: 2844 description: 'Name of the referent. 2845 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 2846 TODO: Add other useful fields. 2847 apiVersion, kind, uid?' 2848 type: string 2849 optional: 2850 description: Specify whether the 2851 ConfigMap or its key must be 2852 defined 2853 type: boolean 2854 required: 2855 - key 2856 type: object 2857 fieldRef: 2858 description: 'Selects a field of the 2859 pod: supports metadata.name, metadata.namespace, 2860 `metadata.labels[''<KEY>'']`, `metadata.annotations[''<KEY>'']`, 2861 spec.nodeName, spec.serviceAccountName, 2862 status.hostIP, status.podIP, status.podIPs.' 2863 properties: 2864 apiVersion: 2865 description: Version of the schema 2866 the FieldPath is written in 2867 terms of, defaults to "v1". 2868 type: string 2869 fieldPath: 2870 description: Path of the field 2871 to select in the specified API 2872 version. 2873 type: string 2874 required: 2875 - fieldPath 2876 type: object 2877 resourceFieldRef: 2878 description: 'Selects a resource of 2879 the container: only resources limits 2880 and requests (limits.cpu, limits.memory, 2881 limits.ephemeral-storage, requests.cpu, 2882 requests.memory and requests.ephemeral-storage) 2883 are currently supported.' 2884 properties: 2885 containerName: 2886 description: 'Container name: 2887 required for volumes, optional 2888 for env vars' 2889 type: string 2890 divisor: 2891 anyOf: 2892 - type: integer 2893 - type: string 2894 description: Specifies the output 2895 format of the exposed resources, 2896 defaults to "1" 2897 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 2898 x-kubernetes-int-or-string: true 2899 resource: 2900 description: 'Required: resource 2901 to select' 2902 type: string 2903 required: 2904 - resource 2905 type: object 2906 secretKeyRef: 2907 description: Selects a key of a secret 2908 in the pod's namespace 2909 properties: 2910 key: 2911 description: The key of the secret 2912 to select from. Must be a valid 2913 secret key. 2914 type: string 2915 name: 2916 description: 'Name of the referent. 2917 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 2918 TODO: Add other useful fields. 2919 apiVersion, kind, uid?' 2920 type: string 2921 optional: 2922 description: Specify whether the 2923 Secret or its key must be defined 2924 type: boolean 2925 required: 2926 - key 2927 type: object 2928 type: object 2929 required: 2930 - name 2931 type: object 2932 type: array 2933 x-kubernetes-list-type: atomic 2934 envFrom: 2935 description: List of sources to populate environment 2936 variables in the Step. The keys defined within 2937 a source must be a C_IDENTIFIER. All invalid 2938 keys will be reported as an event when the 2939 container is starting. When a key exists in 2940 multiple sources, the value associated with 2941 the last source will take precedence. Values 2942 defined by an Env with a duplicate key will 2943 take precedence. Cannot be updated. 2944 items: 2945 description: EnvFromSource represents the 2946 source of a set of ConfigMaps 2947 properties: 2948 configMapRef: 2949 description: The ConfigMap to select from 2950 properties: 2951 name: 2952 description: 'Name of the referent. 2953 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 2954 TODO: Add other useful fields. apiVersion, 2955 kind, uid?' 2956 type: string 2957 optional: 2958 description: Specify whether the ConfigMap 2959 must be defined 2960 type: boolean 2961 type: object 2962 prefix: 2963 description: An optional identifier to 2964 prepend to each key in the ConfigMap. 2965 Must be a C_IDENTIFIER. 2966 type: string 2967 secretRef: 2968 description: The Secret to select from 2969 properties: 2970 name: 2971 description: 'Name of the referent. 2972 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 2973 TODO: Add other useful fields. apiVersion, 2974 kind, uid?' 2975 type: string 2976 optional: 2977 description: Specify whether the Secret 2978 must be defined 2979 type: boolean 2980 type: object 2981 type: object 2982 type: array 2983 x-kubernetes-list-type: atomic 2984 image: 2985 description: 'Default image name to use for 2986 each Step. More info: https://kubernetes.io/docs/concepts/containers/images 2987 This field is optional to allow higher level 2988 config management to default or override container 2989 images in workload controllers like Deployments 2990 and StatefulSets.' 2991 type: string 2992 imagePullPolicy: 2993 description: 'Image pull policy. One of Always, 2994 Never, IfNotPresent. Defaults to Always if 2995 :latest tag is specified, or IfNotPresent 2996 otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images' 2997 type: string 2998 lifecycle: 2999 description: Deprecated. This field will be 3000 removed in a future release. Actions that 3001 the management system should take in response 3002 to container lifecycle events. Cannot be updated. 3003 properties: 3004 postStart: 3005 description: 'PostStart is called immediately 3006 after a container is created. If the handler 3007 fails, the container is terminated and 3008 restarted according to its restart policy. 3009 Other management of the container blocks 3010 until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks' 3011 properties: 3012 exec: 3013 description: Exec specifies the action 3014 to take. 3015 properties: 3016 command: 3017 description: Command is the command 3018 line to execute inside the container, 3019 the working directory for the 3020 command is root ('/') in the 3021 container's filesystem. The command 3022 is simply exec'd, it is not run 3023 inside a shell, so traditional 3024 shell instructions ('|', etc) 3025 won't work. To use a shell, you 3026 need to explicitly call out to 3027 that shell. Exit status of 0 is 3028 treated as live/healthy and non-zero 3029 is unhealthy. 3030 items: 3031 type: string 3032 type: array 3033 type: object 3034 httpGet: 3035 description: HTTPGet specifies the http 3036 request to perform. 3037 properties: 3038 host: 3039 description: Host name to connect 3040 to, defaults to the pod IP. You 3041 probably want to set "Host" in 3042 httpHeaders instead. 3043 type: string 3044 httpHeaders: 3045 description: Custom headers to set 3046 in the request. HTTP allows repeated 3047 headers. 3048 items: 3049 description: HTTPHeader describes 3050 a custom header to be used in 3051 HTTP probes 3052 properties: 3053 name: 3054 description: The header field 3055 name 3056 type: string 3057 value: 3058 description: The header field 3059 value 3060 type: string 3061 required: 3062 - name 3063 - value 3064 type: object 3065 type: array 3066 path: 3067 description: Path to access on the 3068 HTTP server. 3069 type: string 3070 port: 3071 anyOf: 3072 - type: integer 3073 - type: string 3074 description: Name or number of the 3075 port to access on the container. 3076 Number must be in the range 1 3077 to 65535. Name must be an IANA_SVC_NAME. 3078 x-kubernetes-int-or-string: true 3079 scheme: 3080 description: Scheme to use for connecting 3081 to the host. Defaults to HTTP. 3082 type: string 3083 required: 3084 - port 3085 type: object 3086 tcpSocket: 3087 description: Deprecated. TCPSocket is 3088 NOT supported as a LifecycleHandler 3089 and kept for the backward compatibility. 3090 There are no validation of this field 3091 and lifecycle hooks will fail in runtime 3092 when tcp handler is specified. 3093 properties: 3094 host: 3095 description: 'Optional: Host name 3096 to connect to, defaults to the 3097 pod IP.' 3098 type: string 3099 port: 3100 anyOf: 3101 - type: integer 3102 - type: string 3103 description: Number or name of the 3104 port to access on the container. 3105 Number must be in the range 1 3106 to 65535. Name must be an IANA_SVC_NAME. 3107 x-kubernetes-int-or-string: true 3108 required: 3109 - port 3110 type: object 3111 type: object 3112 preStop: 3113 description: 'PreStop is called immediately 3114 before a container is terminated due to 3115 an API request or management event such 3116 as liveness/startup probe failure, preemption, 3117 resource contention, etc. The handler 3118 is not called if the container crashes 3119 or exits. The Pod''s termination grace 3120 period countdown begins before the PreStop 3121 hook is executed. Regardless of the outcome 3122 of the handler, the container will eventually 3123 terminate within the Pod''s termination 3124 grace period (unless delayed by finalizers). 3125 Other management of the container blocks 3126 until the hook completes or until the 3127 termination grace period is reached. More 3128 info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks' 3129 properties: 3130 exec: 3131 description: Exec specifies the action 3132 to take. 3133 properties: 3134 command: 3135 description: Command is the command 3136 line to execute inside the container, 3137 the working directory for the 3138 command is root ('/') in the 3139 container's filesystem. The command 3140 is simply exec'd, it is not run 3141 inside a shell, so traditional 3142 shell instructions ('|', etc) 3143 won't work. To use a shell, you 3144 need to explicitly call out to 3145 that shell. Exit status of 0 is 3146 treated as live/healthy and non-zero 3147 is unhealthy. 3148 items: 3149 type: string 3150 type: array 3151 type: object 3152 httpGet: 3153 description: HTTPGet specifies the http 3154 request to perform. 3155 properties: 3156 host: 3157 description: Host name to connect 3158 to, defaults to the pod IP. You 3159 probably want to set "Host" in 3160 httpHeaders instead. 3161 type: string 3162 httpHeaders: 3163 description: Custom headers to set 3164 in the request. HTTP allows repeated 3165 headers. 3166 items: 3167 description: HTTPHeader describes 3168 a custom header to be used in 3169 HTTP probes 3170 properties: 3171 name: 3172 description: The header field 3173 name 3174 type: string 3175 value: 3176 description: The header field 3177 value 3178 type: string 3179 required: 3180 - name 3181 - value 3182 type: object 3183 type: array 3184 path: 3185 description: Path to access on the 3186 HTTP server. 3187 type: string 3188 port: 3189 anyOf: 3190 - type: integer 3191 - type: string 3192 description: Name or number of the 3193 port to access on the container. 3194 Number must be in the range 1 3195 to 65535. Name must be an IANA_SVC_NAME. 3196 x-kubernetes-int-or-string: true 3197 scheme: 3198 description: Scheme to use for connecting 3199 to the host. Defaults to HTTP. 3200 type: string 3201 required: 3202 - port 3203 type: object 3204 tcpSocket: 3205 description: Deprecated. TCPSocket is 3206 NOT supported as a LifecycleHandler 3207 and kept for the backward compatibility. 3208 There are no validation of this field 3209 and lifecycle hooks will fail in runtime 3210 when tcp handler is specified. 3211 properties: 3212 host: 3213 description: 'Optional: Host name 3214 to connect to, defaults to the 3215 pod IP.' 3216 type: string 3217 port: 3218 anyOf: 3219 - type: integer 3220 - type: string 3221 description: Number or name of the 3222 port to access on the container. 3223 Number must be in the range 1 3224 to 65535. Name must be an IANA_SVC_NAME. 3225 x-kubernetes-int-or-string: true 3226 required: 3227 - port 3228 type: object 3229 type: object 3230 type: object 3231 livenessProbe: 3232 description: 'Deprecated. This field will be 3233 removed in a future release. Periodic probe 3234 of container liveness. Container will be restarted 3235 if the probe fails. Cannot be updated. More 3236 info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 3237 properties: 3238 exec: 3239 description: Exec specifies the action to 3240 take. 3241 properties: 3242 command: 3243 description: Command is the command 3244 line to execute inside the container, 3245 the working directory for the command is 3246 root ('/') in the container's filesystem. 3247 The command is simply exec'd, it is 3248 not run inside a shell, so traditional 3249 shell instructions ('|', etc) won't 3250 work. To use a shell, you need to 3251 explicitly call out to that shell. 3252 Exit status of 0 is treated as live/healthy 3253 and non-zero is unhealthy. 3254 items: 3255 type: string 3256 type: array 3257 type: object 3258 failureThreshold: 3259 description: Minimum consecutive failures 3260 for the probe to be considered failed 3261 after having succeeded. Defaults to 3. 3262 Minimum value is 1. 3263 format: int32 3264 type: integer 3265 grpc: 3266 description: GRPC specifies an action involving 3267 a GRPC port. This is a beta field and 3268 requires enabling GRPCContainerProbe feature 3269 gate. 3270 properties: 3271 port: 3272 description: Port number of the gRPC 3273 service. Number must be in the range 3274 1 to 65535. 3275 format: int32 3276 type: integer 3277 service: 3278 description: "Service is the name of 3279 the service to place in the gRPC HealthCheckRequest 3280 (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). 3281 \n If this is not specified, the default 3282 behavior is defined by gRPC." 3283 type: string 3284 required: 3285 - port 3286 type: object 3287 httpGet: 3288 description: HTTPGet specifies the http 3289 request to perform. 3290 properties: 3291 host: 3292 description: Host name to connect to, 3293 defaults to the pod IP. You probably 3294 want to set "Host" in httpHeaders 3295 instead. 3296 type: string 3297 httpHeaders: 3298 description: Custom headers to set in 3299 the request. HTTP allows repeated 3300 headers. 3301 items: 3302 description: HTTPHeader describes 3303 a custom header to be used in HTTP 3304 probes 3305 properties: 3306 name: 3307 description: The header field 3308 name 3309 type: string 3310 value: 3311 description: The header field 3312 value 3313 type: string 3314 required: 3315 - name 3316 - value 3317 type: object 3318 type: array 3319 path: 3320 description: Path to access on the HTTP 3321 server. 3322 type: string 3323 port: 3324 anyOf: 3325 - type: integer 3326 - type: string 3327 description: Name or number of the port 3328 to access on the container. Number 3329 must be in the range 1 to 65535. Name 3330 must be an IANA_SVC_NAME. 3331 x-kubernetes-int-or-string: true 3332 scheme: 3333 description: Scheme to use for connecting 3334 to the host. Defaults to HTTP. 3335 type: string 3336 required: 3337 - port 3338 type: object 3339 initialDelaySeconds: 3340 description: 'Number of seconds after the 3341 container has started before liveness 3342 probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 3343 format: int32 3344 type: integer 3345 periodSeconds: 3346 description: How often (in seconds) to perform 3347 the probe. Default to 10 seconds. Minimum 3348 value is 1. 3349 format: int32 3350 type: integer 3351 successThreshold: 3352 description: Minimum consecutive successes 3353 for the probe to be considered successful 3354 after having failed. Defaults to 1. Must 3355 be 1 for liveness and startup. Minimum 3356 value is 1. 3357 format: int32 3358 type: integer 3359 tcpSocket: 3360 description: TCPSocket specifies an action 3361 involving a TCP port. 3362 properties: 3363 host: 3364 description: 'Optional: Host name to 3365 connect to, defaults to the pod IP.' 3366 type: string 3367 port: 3368 anyOf: 3369 - type: integer 3370 - type: string 3371 description: Number or name of the port 3372 to access on the container. Number 3373 must be in the range 1 to 65535. Name 3374 must be an IANA_SVC_NAME. 3375 x-kubernetes-int-or-string: true 3376 required: 3377 - port 3378 type: object 3379 terminationGracePeriodSeconds: 3380 description: Optional duration in seconds 3381 the pod needs to terminate gracefully 3382 upon probe failure. The grace period is 3383 the duration in seconds after the processes 3384 running in the pod are sent a termination 3385 signal and the time when the processes 3386 are forcibly halted with a kill signal. 3387 Set this value longer than the expected 3388 cleanup time for your process. If this 3389 value is nil, the pod's terminationGracePeriodSeconds 3390 will be used. Otherwise, this value overrides 3391 the value provided by the pod spec. Value 3392 must be non-negative integer. The value 3393 zero indicates stop immediately via the 3394 kill signal (no opportunity to shut down). 3395 This is a beta field and requires enabling 3396 ProbeTerminationGracePeriod feature gate. 3397 Minimum value is 1. spec.terminationGracePeriodSeconds 3398 is used if unset. 3399 format: int64 3400 type: integer 3401 timeoutSeconds: 3402 description: 'Number of seconds after which 3403 the probe times out. Defaults to 1 second. 3404 Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 3405 format: int32 3406 type: integer 3407 type: object 3408 name: 3409 description: Deprecated. This field will be 3410 removed in a future release. Default name 3411 for each Step specified as a DNS_LABEL. Each 3412 Step in a Task must have a unique name. Cannot 3413 be updated. 3414 type: string 3415 ports: 3416 description: Deprecated. This field will be 3417 removed in a future release. List of ports 3418 to expose from the Step's container. Exposing 3419 a port here gives the system additional information 3420 about the network connections a container 3421 uses, but is primarily informational. Not 3422 specifying a port here DOES NOT prevent that 3423 port from being exposed. Any port which is 3424 listening on the default "0.0.0.0" address 3425 inside a container will be accessible from 3426 the network. Cannot be updated. 3427 items: 3428 description: ContainerPort represents a network 3429 port in a single container. 3430 properties: 3431 containerPort: 3432 description: Number of port to expose 3433 on the pod's IP address. This must be 3434 a valid port number, 0 < x < 65536. 3435 format: int32 3436 type: integer 3437 hostIP: 3438 description: What host IP to bind the 3439 external port to. 3440 type: string 3441 hostPort: 3442 description: Number of port to expose 3443 on the host. If specified, this must 3444 be a valid port number, 0 < x < 65536. 3445 If HostNetwork is specified, this must 3446 match ContainerPort. Most containers 3447 do not need this. 3448 format: int32 3449 type: integer 3450 name: 3451 description: If specified, this must be 3452 an IANA_SVC_NAME and unique within the 3453 pod. Each named port in a pod must have 3454 a unique name. Name for the port that 3455 can be referred to by services. 3456 type: string 3457 protocol: 3458 default: TCP 3459 description: Protocol for port. Must be 3460 UDP, TCP, or SCTP. Defaults to "TCP". 3461 type: string 3462 required: 3463 - containerPort 3464 type: object 3465 type: array 3466 x-kubernetes-list-map-keys: 3467 - containerPort 3468 - protocol 3469 x-kubernetes-list-type: map 3470 readinessProbe: 3471 description: 'Deprecated. This field will be 3472 removed in a future release. Periodic probe 3473 of container service readiness. Container 3474 will be removed from service endpoints if 3475 the probe fails. Cannot be updated. More info: 3476 https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 3477 properties: 3478 exec: 3479 description: Exec specifies the action to 3480 take. 3481 properties: 3482 command: 3483 description: Command is the command 3484 line to execute inside the container, 3485 the working directory for the command is 3486 root ('/') in the container's filesystem. 3487 The command is simply exec'd, it is 3488 not run inside a shell, so traditional 3489 shell instructions ('|', etc) won't 3490 work. To use a shell, you need to 3491 explicitly call out to that shell. 3492 Exit status of 0 is treated as live/healthy 3493 and non-zero is unhealthy. 3494 items: 3495 type: string 3496 type: array 3497 type: object 3498 failureThreshold: 3499 description: Minimum consecutive failures 3500 for the probe to be considered failed 3501 after having succeeded. Defaults to 3. 3502 Minimum value is 1. 3503 format: int32 3504 type: integer 3505 grpc: 3506 description: GRPC specifies an action involving 3507 a GRPC port. This is a beta field and 3508 requires enabling GRPCContainerProbe feature 3509 gate. 3510 properties: 3511 port: 3512 description: Port number of the gRPC 3513 service. Number must be in the range 3514 1 to 65535. 3515 format: int32 3516 type: integer 3517 service: 3518 description: "Service is the name of 3519 the service to place in the gRPC HealthCheckRequest 3520 (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). 3521 \n If this is not specified, the default 3522 behavior is defined by gRPC." 3523 type: string 3524 required: 3525 - port 3526 type: object 3527 httpGet: 3528 description: HTTPGet specifies the http 3529 request to perform. 3530 properties: 3531 host: 3532 description: Host name to connect to, 3533 defaults to the pod IP. You probably 3534 want to set "Host" in httpHeaders 3535 instead. 3536 type: string 3537 httpHeaders: 3538 description: Custom headers to set in 3539 the request. HTTP allows repeated 3540 headers. 3541 items: 3542 description: HTTPHeader describes 3543 a custom header to be used in HTTP 3544 probes 3545 properties: 3546 name: 3547 description: The header field 3548 name 3549 type: string 3550 value: 3551 description: The header field 3552 value 3553 type: string 3554 required: 3555 - name 3556 - value 3557 type: object 3558 type: array 3559 path: 3560 description: Path to access on the HTTP 3561 server. 3562 type: string 3563 port: 3564 anyOf: 3565 - type: integer 3566 - type: string 3567 description: Name or number of the port 3568 to access on the container. Number 3569 must be in the range 1 to 65535. Name 3570 must be an IANA_SVC_NAME. 3571 x-kubernetes-int-or-string: true 3572 scheme: 3573 description: Scheme to use for connecting 3574 to the host. Defaults to HTTP. 3575 type: string 3576 required: 3577 - port 3578 type: object 3579 initialDelaySeconds: 3580 description: 'Number of seconds after the 3581 container has started before liveness 3582 probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 3583 format: int32 3584 type: integer 3585 periodSeconds: 3586 description: How often (in seconds) to perform 3587 the probe. Default to 10 seconds. Minimum 3588 value is 1. 3589 format: int32 3590 type: integer 3591 successThreshold: 3592 description: Minimum consecutive successes 3593 for the probe to be considered successful 3594 after having failed. Defaults to 1. Must 3595 be 1 for liveness and startup. Minimum 3596 value is 1. 3597 format: int32 3598 type: integer 3599 tcpSocket: 3600 description: TCPSocket specifies an action 3601 involving a TCP port. 3602 properties: 3603 host: 3604 description: 'Optional: Host name to 3605 connect to, defaults to the pod IP.' 3606 type: string 3607 port: 3608 anyOf: 3609 - type: integer 3610 - type: string 3611 description: Number or name of the port 3612 to access on the container. Number 3613 must be in the range 1 to 65535. Name 3614 must be an IANA_SVC_NAME. 3615 x-kubernetes-int-or-string: true 3616 required: 3617 - port 3618 type: object 3619 terminationGracePeriodSeconds: 3620 description: Optional duration in seconds 3621 the pod needs to terminate gracefully 3622 upon probe failure. The grace period is 3623 the duration in seconds after the processes 3624 running in the pod are sent a termination 3625 signal and the time when the processes 3626 are forcibly halted with a kill signal. 3627 Set this value longer than the expected 3628 cleanup time for your process. If this 3629 value is nil, the pod's terminationGracePeriodSeconds 3630 will be used. Otherwise, this value overrides 3631 the value provided by the pod spec. Value 3632 must be non-negative integer. The value 3633 zero indicates stop immediately via the 3634 kill signal (no opportunity to shut down). 3635 This is a beta field and requires enabling 3636 ProbeTerminationGracePeriod feature gate. 3637 Minimum value is 1. spec.terminationGracePeriodSeconds 3638 is used if unset. 3639 format: int64 3640 type: integer 3641 timeoutSeconds: 3642 description: 'Number of seconds after which 3643 the probe times out. Defaults to 1 second. 3644 Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 3645 format: int32 3646 type: integer 3647 type: object 3648 resources: 3649 description: 'Compute Resources required by 3650 this Step. Cannot be updated. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' 3651 properties: 3652 limits: 3653 additionalProperties: 3654 anyOf: 3655 - type: integer 3656 - type: string 3657 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 3658 x-kubernetes-int-or-string: true 3659 description: 'Limits describes the maximum 3660 amount of compute resources allowed. More 3661 info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' 3662 type: object 3663 requests: 3664 additionalProperties: 3665 anyOf: 3666 - type: integer 3667 - type: string 3668 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 3669 x-kubernetes-int-or-string: true 3670 description: 'Requests describes the minimum 3671 amount of compute resources required. 3672 If Requests is omitted for a container, 3673 it defaults to Limits if that is explicitly 3674 specified, otherwise to an implementation-defined 3675 value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' 3676 type: object 3677 type: object 3678 securityContext: 3679 description: 'SecurityContext defines the security 3680 options the Step should be run with. If set, 3681 the fields of SecurityContext override the 3682 equivalent fields of PodSecurityContext. More 3683 info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/' 3684 properties: 3685 allowPrivilegeEscalation: 3686 description: 'AllowPrivilegeEscalation controls 3687 whether a process can gain more privileges 3688 than its parent process. This bool directly 3689 controls if the no_new_privs flag will 3690 be set on the container process. AllowPrivilegeEscalation 3691 is true always when the container is: 3692 1) run as Privileged 2) has CAP_SYS_ADMIN 3693 Note that this field cannot be set when 3694 spec.os.name is windows.' 3695 type: boolean 3696 capabilities: 3697 description: The capabilities to add/drop 3698 when running containers. Defaults to the 3699 default set of capabilities granted by 3700 the container runtime. Note that this 3701 field cannot be set when spec.os.name 3702 is windows. 3703 properties: 3704 add: 3705 description: Added capabilities 3706 items: 3707 description: Capability represent 3708 POSIX capabilities type 3709 type: string 3710 type: array 3711 drop: 3712 description: Removed capabilities 3713 items: 3714 description: Capability represent 3715 POSIX capabilities type 3716 type: string 3717 type: array 3718 type: object 3719 privileged: 3720 description: Run container in privileged 3721 mode. Processes in privileged containers 3722 are essentially equivalent to root on 3723 the host. Defaults to false. Note that 3724 this field cannot be set when spec.os.name 3725 is windows. 3726 type: boolean 3727 procMount: 3728 description: procMount denotes the type 3729 of proc mount to use for the containers. 3730 The default is DefaultProcMount which 3731 uses the container runtime defaults for 3732 readonly paths and masked paths. This 3733 requires the ProcMountType feature flag 3734 to be enabled. Note that this field cannot 3735 be set when spec.os.name is windows. 3736 type: string 3737 readOnlyRootFilesystem: 3738 description: Whether this container has 3739 a read-only root filesystem. Default is 3740 false. Note that this field cannot be 3741 set when spec.os.name is windows. 3742 type: boolean 3743 runAsGroup: 3744 description: The GID to run the entrypoint 3745 of the container process. Uses runtime 3746 default if unset. May also be set in PodSecurityContext. If 3747 set in both SecurityContext and PodSecurityContext, 3748 the value specified in SecurityContext 3749 takes precedence. Note that this field 3750 cannot be set when spec.os.name is windows. 3751 format: int64 3752 type: integer 3753 runAsNonRoot: 3754 description: Indicates that the container 3755 must run as a non-root user. If true, 3756 the Kubelet will validate the image at 3757 runtime to ensure that it does not run 3758 as UID 0 (root) and fail to start the 3759 container if it does. If unset or false, 3760 no such validation will be performed. 3761 May also be set in PodSecurityContext. If 3762 set in both SecurityContext and PodSecurityContext, 3763 the value specified in SecurityContext 3764 takes precedence. 3765 type: boolean 3766 runAsUser: 3767 description: The UID to run the entrypoint 3768 of the container process. Defaults to 3769 user specified in image metadata if unspecified. 3770 May also be set in PodSecurityContext. If 3771 set in both SecurityContext and PodSecurityContext, 3772 the value specified in SecurityContext 3773 takes precedence. Note that this field 3774 cannot be set when spec.os.name is windows. 3775 format: int64 3776 type: integer 3777 seLinuxOptions: 3778 description: The SELinux context to be applied 3779 to the container. If unspecified, the 3780 container runtime will allocate a random 3781 SELinux context for each container. May 3782 also be set in PodSecurityContext. If 3783 set in both SecurityContext and PodSecurityContext, 3784 the value specified in SecurityContext 3785 takes precedence. Note that this field 3786 cannot be set when spec.os.name is windows. 3787 properties: 3788 level: 3789 description: Level is SELinux level 3790 label that applies to the container. 3791 type: string 3792 role: 3793 description: Role is a SELinux role 3794 label that applies to the container. 3795 type: string 3796 type: 3797 description: Type is a SELinux type 3798 label that applies to the container. 3799 type: string 3800 user: 3801 description: User is a SELinux user 3802 label that applies to the container. 3803 type: string 3804 type: object 3805 seccompProfile: 3806 description: The seccomp options to use 3807 by this container. If seccomp options 3808 are provided at both the pod & container 3809 level, the container options override 3810 the pod options. Note that this field 3811 cannot be set when spec.os.name is windows. 3812 properties: 3813 localhostProfile: 3814 description: localhostProfile indicates 3815 a profile defined in a file on the 3816 node should be used. The profile must 3817 be preconfigured on the node to work. 3818 Must be a descending path, relative 3819 to the kubelet's configured seccomp 3820 profile location. Must only be set 3821 if type is "Localhost". 3822 type: string 3823 type: 3824 description: "type indicates which kind 3825 of seccomp profile will be applied. 3826 Valid options are: \n Localhost - 3827 a profile defined in a file on the 3828 node should be used. RuntimeDefault 3829 - the container runtime default profile 3830 should be used. Unconfined - no profile 3831 should be applied." 3832 type: string 3833 required: 3834 - type 3835 type: object 3836 windowsOptions: 3837 description: The Windows specific settings 3838 applied to all containers. If unspecified, 3839 the options from the PodSecurityContext 3840 will be used. If set in both SecurityContext 3841 and PodSecurityContext, the value specified 3842 in SecurityContext takes precedence. Note 3843 that this field cannot be set when spec.os.name 3844 is linux. 3845 properties: 3846 gmsaCredentialSpec: 3847 description: GMSACredentialSpec is where 3848 the GMSA admission webhook (https://github.com/kubernetes-sigs/windows-gmsa) 3849 inlines the contents of the GMSA credential 3850 spec named by the GMSACredentialSpecName 3851 field. 3852 type: string 3853 gmsaCredentialSpecName: 3854 description: GMSACredentialSpecName 3855 is the name of the GMSA credential 3856 spec to use. 3857 type: string 3858 hostProcess: 3859 description: HostProcess determines 3860 if a container should be run as a 3861 'Host Process' container. This field 3862 is alpha-level and will only be honored 3863 by components that enable the WindowsHostProcessContainers 3864 feature flag. Setting this field without 3865 the feature flag will result in errors 3866 when validating the Pod. All of a 3867 Pod's containers must have the same 3868 effective HostProcess value (it is 3869 not allowed to have a mix of HostProcess 3870 containers and non-HostProcess containers). In 3871 addition, if HostProcess is true then 3872 HostNetwork must also be set to true. 3873 type: boolean 3874 runAsUserName: 3875 description: The UserName in Windows 3876 to run the entrypoint of the container 3877 process. Defaults to the user specified 3878 in image metadata if unspecified. 3879 May also be set in PodSecurityContext. 3880 If set in both SecurityContext and 3881 PodSecurityContext, the value specified 3882 in SecurityContext takes precedence. 3883 type: string 3884 type: object 3885 type: object 3886 startupProbe: 3887 description: 'Deprecated. This field will be 3888 removed in a future release. DeprecatedStartupProbe 3889 indicates that the Pod has successfully initialized. 3890 If specified, no other probes are executed 3891 until this completes successfully. If this 3892 probe fails, the Pod will be restarted, just 3893 as if the livenessProbe failed. This can be 3894 used to provide different probe parameters 3895 at the beginning of a Pod''s lifecycle, when 3896 it might take a long time to load data or 3897 warm a cache, than during steady-state operation. 3898 This cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 3899 properties: 3900 exec: 3901 description: Exec specifies the action to 3902 take. 3903 properties: 3904 command: 3905 description: Command is the command 3906 line to execute inside the container, 3907 the working directory for the command is 3908 root ('/') in the container's filesystem. 3909 The command is simply exec'd, it is 3910 not run inside a shell, so traditional 3911 shell instructions ('|', etc) won't 3912 work. To use a shell, you need to 3913 explicitly call out to that shell. 3914 Exit status of 0 is treated as live/healthy 3915 and non-zero is unhealthy. 3916 items: 3917 type: string 3918 type: array 3919 type: object 3920 failureThreshold: 3921 description: Minimum consecutive failures 3922 for the probe to be considered failed 3923 after having succeeded. Defaults to 3. 3924 Minimum value is 1. 3925 format: int32 3926 type: integer 3927 grpc: 3928 description: GRPC specifies an action involving 3929 a GRPC port. This is a beta field and 3930 requires enabling GRPCContainerProbe feature 3931 gate. 3932 properties: 3933 port: 3934 description: Port number of the gRPC 3935 service. Number must be in the range 3936 1 to 65535. 3937 format: int32 3938 type: integer 3939 service: 3940 description: "Service is the name of 3941 the service to place in the gRPC HealthCheckRequest 3942 (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). 3943 \n If this is not specified, the default 3944 behavior is defined by gRPC." 3945 type: string 3946 required: 3947 - port 3948 type: object 3949 httpGet: 3950 description: HTTPGet specifies the http 3951 request to perform. 3952 properties: 3953 host: 3954 description: Host name to connect to, 3955 defaults to the pod IP. You probably 3956 want to set "Host" in httpHeaders 3957 instead. 3958 type: string 3959 httpHeaders: 3960 description: Custom headers to set in 3961 the request. HTTP allows repeated 3962 headers. 3963 items: 3964 description: HTTPHeader describes 3965 a custom header to be used in HTTP 3966 probes 3967 properties: 3968 name: 3969 description: The header field 3970 name 3971 type: string 3972 value: 3973 description: The header field 3974 value 3975 type: string 3976 required: 3977 - name 3978 - value 3979 type: object 3980 type: array 3981 path: 3982 description: Path to access on the HTTP 3983 server. 3984 type: string 3985 port: 3986 anyOf: 3987 - type: integer 3988 - type: string 3989 description: Name or number of the port 3990 to access on the container. Number 3991 must be in the range 1 to 65535. Name 3992 must be an IANA_SVC_NAME. 3993 x-kubernetes-int-or-string: true 3994 scheme: 3995 description: Scheme to use for connecting 3996 to the host. Defaults to HTTP. 3997 type: string 3998 required: 3999 - port 4000 type: object 4001 initialDelaySeconds: 4002 description: 'Number of seconds after the 4003 container has started before liveness 4004 probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 4005 format: int32 4006 type: integer 4007 periodSeconds: 4008 description: How often (in seconds) to perform 4009 the probe. Default to 10 seconds. Minimum 4010 value is 1. 4011 format: int32 4012 type: integer 4013 successThreshold: 4014 description: Minimum consecutive successes 4015 for the probe to be considered successful 4016 after having failed. Defaults to 1. Must 4017 be 1 for liveness and startup. Minimum 4018 value is 1. 4019 format: int32 4020 type: integer 4021 tcpSocket: 4022 description: TCPSocket specifies an action 4023 involving a TCP port. 4024 properties: 4025 host: 4026 description: 'Optional: Host name to 4027 connect to, defaults to the pod IP.' 4028 type: string 4029 port: 4030 anyOf: 4031 - type: integer 4032 - type: string 4033 description: Number or name of the port 4034 to access on the container. Number 4035 must be in the range 1 to 65535. Name 4036 must be an IANA_SVC_NAME. 4037 x-kubernetes-int-or-string: true 4038 required: 4039 - port 4040 type: object 4041 terminationGracePeriodSeconds: 4042 description: Optional duration in seconds 4043 the pod needs to terminate gracefully 4044 upon probe failure. The grace period is 4045 the duration in seconds after the processes 4046 running in the pod are sent a termination 4047 signal and the time when the processes 4048 are forcibly halted with a kill signal. 4049 Set this value longer than the expected 4050 cleanup time for your process. If this 4051 value is nil, the pod's terminationGracePeriodSeconds 4052 will be used. Otherwise, this value overrides 4053 the value provided by the pod spec. Value 4054 must be non-negative integer. The value 4055 zero indicates stop immediately via the 4056 kill signal (no opportunity to shut down). 4057 This is a beta field and requires enabling 4058 ProbeTerminationGracePeriod feature gate. 4059 Minimum value is 1. spec.terminationGracePeriodSeconds 4060 is used if unset. 4061 format: int64 4062 type: integer 4063 timeoutSeconds: 4064 description: 'Number of seconds after which 4065 the probe times out. Defaults to 1 second. 4066 Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 4067 format: int32 4068 type: integer 4069 type: object 4070 stdin: 4071 description: Deprecated. This field will be 4072 removed in a future release. Whether this 4073 Step should allocate a buffer for stdin in 4074 the container runtime. If this is not set, 4075 reads from stdin in the Step will always result 4076 in EOF. Default is false. 4077 type: boolean 4078 stdinOnce: 4079 description: Deprecated. This field will be 4080 removed in a future release. Whether the container 4081 runtime should close the stdin channel after 4082 it has been opened by a single attach. When 4083 stdin is true the stdin stream will remain 4084 open across multiple attach sessions. If stdinOnce 4085 is set to true, stdin is opened on container 4086 start, is empty until the first client attaches 4087 to stdin, and then remains open and accepts 4088 data until the client disconnects, at which 4089 time stdin is closed and remains closed until 4090 the container is restarted. If this flag is 4091 false, a container processes that reads from 4092 stdin will never receive an EOF. Default is 4093 false 4094 type: boolean 4095 terminationMessagePath: 4096 description: Deprecated. This field will be 4097 removed in a future release and cannot be 4098 meaningfully used. 4099 type: string 4100 terminationMessagePolicy: 4101 description: Deprecated. This field will be 4102 removed in a future release and cannot be 4103 meaningfully used. 4104 type: string 4105 tty: 4106 description: Deprecated. This field will be 4107 removed in a future release. Whether this 4108 Step should allocate a DeprecatedTTY for itself, 4109 also requires 'stdin' to be true. Default 4110 is false. 4111 type: boolean 4112 volumeDevices: 4113 description: volumeDevices is the list of block 4114 devices to be used by the Step. 4115 items: 4116 description: volumeDevice describes a mapping 4117 of a raw block device within a container. 4118 properties: 4119 devicePath: 4120 description: devicePath is the path inside 4121 of the container that the device will 4122 be mapped to. 4123 type: string 4124 name: 4125 description: name must match the name 4126 of a persistentVolumeClaim in the pod 4127 type: string 4128 required: 4129 - devicePath 4130 - name 4131 type: object 4132 type: array 4133 x-kubernetes-list-type: atomic 4134 volumeMounts: 4135 description: Volumes to mount into the Step's 4136 filesystem. Cannot be updated. 4137 items: 4138 description: VolumeMount describes a mounting 4139 of a Volume within a container. 4140 properties: 4141 mountPath: 4142 description: Path within the container 4143 at which the volume should be mounted. Must 4144 not contain ':'. 4145 type: string 4146 mountPropagation: 4147 description: mountPropagation determines 4148 how mounts are propagated from the host 4149 to container and the other way around. 4150 When not set, MountPropagationNone is 4151 used. This field is beta in 1.10. 4152 type: string 4153 name: 4154 description: This must match the Name 4155 of a Volume. 4156 type: string 4157 readOnly: 4158 description: Mounted read-only if true, 4159 read-write otherwise (false or unspecified). 4160 Defaults to false. 4161 type: boolean 4162 subPath: 4163 description: Path within the volume from 4164 which the container's volume should 4165 be mounted. Defaults to "" (volume's 4166 root). 4167 type: string 4168 subPathExpr: 4169 description: Expanded path within the 4170 volume from which the container's volume 4171 should be mounted. Behaves similarly 4172 to SubPath but environment variable 4173 references $(VAR_NAME) are expanded 4174 using the container's environment. Defaults 4175 to "" (volume's root). SubPathExpr and 4176 SubPath are mutually exclusive. 4177 type: string 4178 required: 4179 - mountPath 4180 - name 4181 type: object 4182 type: array 4183 x-kubernetes-list-type: atomic 4184 workingDir: 4185 description: Step's working directory. If not 4186 specified, the container runtime's default 4187 will be used, which might be configured in 4188 the container image. Cannot be updated. 4189 type: string 4190 required: 4191 - name 4192 type: object 4193 steps: 4194 description: Steps are the steps of the build; each 4195 step is run sequentially with the source mounted 4196 into /workspace. 4197 items: 4198 description: Step runs a subcomponent of a Task 4199 properties: 4200 args: 4201 description: 'Arguments to the entrypoint. 4202 The image''s CMD is used if this is not 4203 provided. Variable references $(VAR_NAME) 4204 are expanded using the container''s environment. 4205 If a variable cannot be resolved, the reference 4206 in the input string will be unchanged. Double 4207 $$ are reduced to a single $, which allows 4208 for escaping the $(VAR_NAME) syntax: i.e. 4209 "$$(VAR_NAME)" will produce the string literal 4210 "$(VAR_NAME)". Escaped references will never 4211 be expanded, regardless of whether the variable 4212 exists or not. Cannot be updated. More info: 4213 https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell' 4214 items: 4215 type: string 4216 type: array 4217 x-kubernetes-list-type: atomic 4218 command: 4219 description: 'Entrypoint array. Not executed 4220 within a shell. The image''s ENTRYPOINT 4221 is used if this is not provided. Variable 4222 references $(VAR_NAME) are expanded using 4223 the container''s environment. If a variable 4224 cannot be resolved, the reference in the 4225 input string will be unchanged. Double $$ 4226 are reduced to a single $, which allows 4227 for escaping the $(VAR_NAME) syntax: i.e. 4228 "$$(VAR_NAME)" will produce the string literal 4229 "$(VAR_NAME)". Escaped references will never 4230 be expanded, regardless of whether the variable 4231 exists or not. Cannot be updated. More info: 4232 https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell' 4233 items: 4234 type: string 4235 type: array 4236 x-kubernetes-list-type: atomic 4237 env: 4238 description: List of environment variables 4239 to set in the container. Cannot be updated. 4240 items: 4241 description: EnvVar represents an environment 4242 variable present in a Container. 4243 properties: 4244 name: 4245 description: Name of the environment 4246 variable. Must be a C_IDENTIFIER. 4247 type: string 4248 value: 4249 description: 'Variable references $(VAR_NAME) 4250 are expanded using the previously 4251 defined environment variables in the 4252 container and any service environment 4253 variables. If a variable cannot be 4254 resolved, the reference in the input 4255 string will be unchanged. Double $$ 4256 are reduced to a single $, which allows 4257 for escaping the $(VAR_NAME) syntax: 4258 i.e. "$$(VAR_NAME)" will produce the 4259 string literal "$(VAR_NAME)". Escaped 4260 references will never be expanded, 4261 regardless of whether the variable 4262 exists or not. Defaults to "".' 4263 type: string 4264 valueFrom: 4265 description: Source for the environment 4266 variable's value. Cannot be used if 4267 value is not empty. 4268 properties: 4269 configMapKeyRef: 4270 description: Selects a key of a 4271 ConfigMap. 4272 properties: 4273 key: 4274 description: The key to select. 4275 type: string 4276 name: 4277 description: 'Name of the referent. 4278 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 4279 TODO: Add other useful fields. 4280 apiVersion, kind, uid?' 4281 type: string 4282 optional: 4283 description: Specify whether 4284 the ConfigMap or its key must 4285 be defined 4286 type: boolean 4287 required: 4288 - key 4289 type: object 4290 fieldRef: 4291 description: 'Selects a field of 4292 the pod: supports metadata.name, 4293 metadata.namespace, `metadata.labels[''<KEY>'']`, 4294 `metadata.annotations[''<KEY>'']`, 4295 spec.nodeName, spec.serviceAccountName, 4296 status.hostIP, status.podIP, status.podIPs.' 4297 properties: 4298 apiVersion: 4299 description: Version of the 4300 schema the FieldPath is written 4301 in terms of, defaults to "v1". 4302 type: string 4303 fieldPath: 4304 description: Path of the field 4305 to select in the specified 4306 API version. 4307 type: string 4308 required: 4309 - fieldPath 4310 type: object 4311 resourceFieldRef: 4312 description: 'Selects a resource 4313 of the container: only resources 4314 limits and requests (limits.cpu, 4315 limits.memory, limits.ephemeral-storage, 4316 requests.cpu, requests.memory 4317 and requests.ephemeral-storage) 4318 are currently supported.' 4319 properties: 4320 containerName: 4321 description: 'Container name: 4322 required for volumes, optional 4323 for env vars' 4324 type: string 4325 divisor: 4326 anyOf: 4327 - type: integer 4328 - type: string 4329 description: Specifies the output 4330 format of the exposed resources, 4331 defaults to "1" 4332 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 4333 x-kubernetes-int-or-string: true 4334 resource: 4335 description: 'Required: resource 4336 to select' 4337 type: string 4338 required: 4339 - resource 4340 type: object 4341 secretKeyRef: 4342 description: Selects a key of a 4343 secret in the pod's namespace 4344 properties: 4345 key: 4346 description: The key of the 4347 secret to select from. Must 4348 be a valid secret key. 4349 type: string 4350 name: 4351 description: 'Name of the referent. 4352 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 4353 TODO: Add other useful fields. 4354 apiVersion, kind, uid?' 4355 type: string 4356 optional: 4357 description: Specify whether 4358 the Secret or its key must 4359 be defined 4360 type: boolean 4361 required: 4362 - key 4363 type: object 4364 type: object 4365 required: 4366 - name 4367 type: object 4368 type: array 4369 x-kubernetes-list-type: atomic 4370 envFrom: 4371 description: List of sources to populate environment 4372 variables in the container. The keys defined 4373 within a source must be a C_IDENTIFIER. 4374 All invalid keys will be reported as an 4375 event when the container is starting. When 4376 a key exists in multiple sources, the value 4377 associated with the last source will take 4378 precedence. Values defined by an Env with 4379 a duplicate key will take precedence. Cannot 4380 be updated. 4381 items: 4382 description: EnvFromSource represents the 4383 source of a set of ConfigMaps 4384 properties: 4385 configMapRef: 4386 description: The ConfigMap to select 4387 from 4388 properties: 4389 name: 4390 description: 'Name of the referent. 4391 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 4392 TODO: Add other useful fields. 4393 apiVersion, kind, uid?' 4394 type: string 4395 optional: 4396 description: Specify whether the 4397 ConfigMap must be defined 4398 type: boolean 4399 type: object 4400 prefix: 4401 description: An optional identifier 4402 to prepend to each key in the ConfigMap. 4403 Must be a C_IDENTIFIER. 4404 type: string 4405 secretRef: 4406 description: The Secret to select from 4407 properties: 4408 name: 4409 description: 'Name of the referent. 4410 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 4411 TODO: Add other useful fields. 4412 apiVersion, kind, uid?' 4413 type: string 4414 optional: 4415 description: Specify whether the 4416 Secret must be defined 4417 type: boolean 4418 type: object 4419 type: object 4420 type: array 4421 x-kubernetes-list-type: atomic 4422 image: 4423 description: 'Image reference name to run 4424 for this Step. More info: https://kubernetes.io/docs/concepts/containers/images' 4425 type: string 4426 imagePullPolicy: 4427 description: 'Image pull policy. One of Always, 4428 Never, IfNotPresent. Defaults to Always 4429 if :latest tag is specified, or IfNotPresent 4430 otherwise. Cannot be updated. More info: 4431 https://kubernetes.io/docs/concepts/containers/images#updating-images' 4432 type: string 4433 lifecycle: 4434 description: Deprecated. This field will be 4435 removed in a future release. Actions that 4436 the management system should take in response 4437 to container lifecycle events. Cannot be 4438 updated. 4439 properties: 4440 postStart: 4441 description: 'PostStart is called immediately 4442 after a container is created. If the 4443 handler fails, the container is terminated 4444 and restarted according to its restart 4445 policy. Other management of the container 4446 blocks until the hook completes. More 4447 info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks' 4448 properties: 4449 exec: 4450 description: Exec specifies the action 4451 to take. 4452 properties: 4453 command: 4454 description: Command is the command 4455 line to execute inside the container, 4456 the working directory for the 4457 command is root ('/') in the 4458 container's filesystem. The 4459 command is simply exec'd, it 4460 is not run inside a shell, so 4461 traditional shell instructions 4462 ('|', etc) won't work. To use 4463 a shell, you need to explicitly 4464 call out to that shell. Exit 4465 status of 0 is treated as live/healthy 4466 and non-zero is unhealthy. 4467 items: 4468 type: string 4469 type: array 4470 type: object 4471 httpGet: 4472 description: HTTPGet specifies the 4473 http request to perform. 4474 properties: 4475 host: 4476 description: Host name to connect 4477 to, defaults to the pod IP. 4478 You probably want to set "Host" 4479 in httpHeaders instead. 4480 type: string 4481 httpHeaders: 4482 description: Custom headers to 4483 set in the request. HTTP allows 4484 repeated headers. 4485 items: 4486 description: HTTPHeader describes 4487 a custom header to be used 4488 in HTTP probes 4489 properties: 4490 name: 4491 description: The header 4492 field name 4493 type: string 4494 value: 4495 description: The header 4496 field value 4497 type: string 4498 required: 4499 - name 4500 - value 4501 type: object 4502 type: array 4503 path: 4504 description: Path to access on 4505 the HTTP server. 4506 type: string 4507 port: 4508 anyOf: 4509 - type: integer 4510 - type: string 4511 description: Name or number of 4512 the port to access on the container. 4513 Number must be in the range 4514 1 to 65535. Name must be an 4515 IANA_SVC_NAME. 4516 x-kubernetes-int-or-string: true 4517 scheme: 4518 description: Scheme to use for 4519 connecting to the host. Defaults 4520 to HTTP. 4521 type: string 4522 required: 4523 - port 4524 type: object 4525 tcpSocket: 4526 description: Deprecated. TCPSocket 4527 is NOT supported as a LifecycleHandler 4528 and kept for the backward compatibility. 4529 There are no validation of this 4530 field and lifecycle hooks will fail 4531 in runtime when tcp handler is specified. 4532 properties: 4533 host: 4534 description: 'Optional: Host name 4535 to connect to, defaults to the 4536 pod IP.' 4537 type: string 4538 port: 4539 anyOf: 4540 - type: integer 4541 - type: string 4542 description: Number or name of 4543 the port to access on the container. 4544 Number must be in the range 4545 1 to 65535. Name must be an 4546 IANA_SVC_NAME. 4547 x-kubernetes-int-or-string: true 4548 required: 4549 - port 4550 type: object 4551 type: object 4552 preStop: 4553 description: 'PreStop is called immediately 4554 before a container is terminated due 4555 to an API request or management event 4556 such as liveness/startup probe failure, 4557 preemption, resource contention, etc. 4558 The handler is not called if the container 4559 crashes or exits. The Pod''s termination 4560 grace period countdown begins before 4561 the PreStop hook is executed. Regardless 4562 of the outcome of the handler, the container 4563 will eventually terminate within the 4564 Pod''s termination grace period (unless 4565 delayed by finalizers). Other management 4566 of the container blocks until the hook 4567 completes or until the termination grace 4568 period is reached. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks' 4569 properties: 4570 exec: 4571 description: Exec specifies the action 4572 to take. 4573 properties: 4574 command: 4575 description: Command is the command 4576 line to execute inside the container, 4577 the working directory for the 4578 command is root ('/') in the 4579 container's filesystem. The 4580 command is simply exec'd, it 4581 is not run inside a shell, so 4582 traditional shell instructions 4583 ('|', etc) won't work. To use 4584 a shell, you need to explicitly 4585 call out to that shell. Exit 4586 status of 0 is treated as live/healthy 4587 and non-zero is unhealthy. 4588 items: 4589 type: string 4590 type: array 4591 type: object 4592 httpGet: 4593 description: HTTPGet specifies the 4594 http request to perform. 4595 properties: 4596 host: 4597 description: Host name to connect 4598 to, defaults to the pod IP. 4599 You probably want to set "Host" 4600 in httpHeaders instead. 4601 type: string 4602 httpHeaders: 4603 description: Custom headers to 4604 set in the request. HTTP allows 4605 repeated headers. 4606 items: 4607 description: HTTPHeader describes 4608 a custom header to be used 4609 in HTTP probes 4610 properties: 4611 name: 4612 description: The header 4613 field name 4614 type: string 4615 value: 4616 description: The header 4617 field value 4618 type: string 4619 required: 4620 - name 4621 - value 4622 type: object 4623 type: array 4624 path: 4625 description: Path to access on 4626 the HTTP server. 4627 type: string 4628 port: 4629 anyOf: 4630 - type: integer 4631 - type: string 4632 description: Name or number of 4633 the port to access on the container. 4634 Number must be in the range 4635 1 to 65535. Name must be an 4636 IANA_SVC_NAME. 4637 x-kubernetes-int-or-string: true 4638 scheme: 4639 description: Scheme to use for 4640 connecting to the host. Defaults 4641 to HTTP. 4642 type: string 4643 required: 4644 - port 4645 type: object 4646 tcpSocket: 4647 description: Deprecated. TCPSocket 4648 is NOT supported as a LifecycleHandler 4649 and kept for the backward compatibility. 4650 There are no validation of this 4651 field and lifecycle hooks will fail 4652 in runtime when tcp handler is specified. 4653 properties: 4654 host: 4655 description: 'Optional: Host name 4656 to connect to, defaults to the 4657 pod IP.' 4658 type: string 4659 port: 4660 anyOf: 4661 - type: integer 4662 - type: string 4663 description: Number or name of 4664 the port to access on the container. 4665 Number must be in the range 4666 1 to 65535. Name must be an 4667 IANA_SVC_NAME. 4668 x-kubernetes-int-or-string: true 4669 required: 4670 - port 4671 type: object 4672 type: object 4673 type: object 4674 livenessProbe: 4675 description: 'Deprecated. This field will 4676 be removed in a future release. Periodic 4677 probe of container liveness. Step will be 4678 restarted if the probe fails. Cannot be 4679 updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 4680 properties: 4681 exec: 4682 description: Exec specifies the action 4683 to take. 4684 properties: 4685 command: 4686 description: Command is the command 4687 line to execute inside the container, 4688 the working directory for the command is 4689 root ('/') in the container's filesystem. 4690 The command is simply exec'd, it 4691 is not run inside a shell, so traditional 4692 shell instructions ('|', etc) won't 4693 work. To use a shell, you need to 4694 explicitly call out to that shell. 4695 Exit status of 0 is treated as live/healthy 4696 and non-zero is unhealthy. 4697 items: 4698 type: string 4699 type: array 4700 type: object 4701 failureThreshold: 4702 description: Minimum consecutive failures 4703 for the probe to be considered failed 4704 after having succeeded. Defaults to 4705 3. Minimum value is 1. 4706 format: int32 4707 type: integer 4708 grpc: 4709 description: GRPC specifies an action 4710 involving a GRPC port. This is a beta 4711 field and requires enabling GRPCContainerProbe 4712 feature gate. 4713 properties: 4714 port: 4715 description: Port number of the gRPC 4716 service. Number must be in the range 4717 1 to 65535. 4718 format: int32 4719 type: integer 4720 service: 4721 description: "Service is the name 4722 of the service to place in the gRPC 4723 HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). 4724 \n If this is not specified, the 4725 default behavior is defined by gRPC." 4726 type: string 4727 required: 4728 - port 4729 type: object 4730 httpGet: 4731 description: HTTPGet specifies the http 4732 request to perform. 4733 properties: 4734 host: 4735 description: Host name to connect 4736 to, defaults to the pod IP. You 4737 probably want to set "Host" in httpHeaders 4738 instead. 4739 type: string 4740 httpHeaders: 4741 description: Custom headers to set 4742 in the request. HTTP allows repeated 4743 headers. 4744 items: 4745 description: HTTPHeader describes 4746 a custom header to be used in 4747 HTTP probes 4748 properties: 4749 name: 4750 description: The header field 4751 name 4752 type: string 4753 value: 4754 description: The header field 4755 value 4756 type: string 4757 required: 4758 - name 4759 - value 4760 type: object 4761 type: array 4762 path: 4763 description: Path to access on the 4764 HTTP server. 4765 type: string 4766 port: 4767 anyOf: 4768 - type: integer 4769 - type: string 4770 description: Name or number of the 4771 port to access on the container. 4772 Number must be in the range 1 to 4773 65535. Name must be an IANA_SVC_NAME. 4774 x-kubernetes-int-or-string: true 4775 scheme: 4776 description: Scheme to use for connecting 4777 to the host. Defaults to HTTP. 4778 type: string 4779 required: 4780 - port 4781 type: object 4782 initialDelaySeconds: 4783 description: 'Number of seconds after 4784 the container has started before liveness 4785 probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 4786 format: int32 4787 type: integer 4788 periodSeconds: 4789 description: How often (in seconds) to 4790 perform the probe. Default to 10 seconds. 4791 Minimum value is 1. 4792 format: int32 4793 type: integer 4794 successThreshold: 4795 description: Minimum consecutive successes 4796 for the probe to be considered successful 4797 after having failed. Defaults to 1. 4798 Must be 1 for liveness and startup. 4799 Minimum value is 1. 4800 format: int32 4801 type: integer 4802 tcpSocket: 4803 description: TCPSocket specifies an action 4804 involving a TCP port. 4805 properties: 4806 host: 4807 description: 'Optional: Host name 4808 to connect to, defaults to the pod 4809 IP.' 4810 type: string 4811 port: 4812 anyOf: 4813 - type: integer 4814 - type: string 4815 description: Number or name of the 4816 port to access on the container. 4817 Number must be in the range 1 to 4818 65535. Name must be an IANA_SVC_NAME. 4819 x-kubernetes-int-or-string: true 4820 required: 4821 - port 4822 type: object 4823 terminationGracePeriodSeconds: 4824 description: Optional duration in seconds 4825 the pod needs to terminate gracefully 4826 upon probe failure. The grace period 4827 is the duration in seconds after the 4828 processes running in the pod are sent 4829 a termination signal and the time when 4830 the processes are forcibly halted with 4831 a kill signal. Set this value longer 4832 than the expected cleanup time for your 4833 process. If this value is nil, the pod's 4834 terminationGracePeriodSeconds will be 4835 used. Otherwise, this value overrides 4836 the value provided by the pod spec. 4837 Value must be non-negative integer. 4838 The value zero indicates stop immediately 4839 via the kill signal (no opportunity 4840 to shut down). This is a beta field 4841 and requires enabling ProbeTerminationGracePeriod 4842 feature gate. Minimum value is 1. spec.terminationGracePeriodSeconds 4843 is used if unset. 4844 format: int64 4845 type: integer 4846 timeoutSeconds: 4847 description: 'Number of seconds after 4848 which the probe times out. Defaults 4849 to 1 second. Minimum value is 1. More 4850 info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 4851 format: int32 4852 type: integer 4853 type: object 4854 name: 4855 description: Name of the Step specified as 4856 a DNS_LABEL. Each Step in a Task must have 4857 a unique name. 4858 type: string 4859 onError: 4860 description: OnError defines the exiting behavior 4861 of a container on error can be set to [ 4862 continue | stopAndFail ] 4863 type: string 4864 ports: 4865 description: Deprecated. This field will be 4866 removed in a future release. List of ports 4867 to expose from the Step's container. Exposing 4868 a port here gives the system additional 4869 information about the network connections 4870 a container uses, but is primarily informational. 4871 Not specifying a port here DOES NOT prevent 4872 that port from being exposed. Any port which 4873 is listening on the default "0.0.0.0" address 4874 inside a container will be accessible from 4875 the network. Cannot be updated. 4876 items: 4877 description: ContainerPort represents a 4878 network port in a single container. 4879 properties: 4880 containerPort: 4881 description: Number of port to expose 4882 on the pod's IP address. This must 4883 be a valid port number, 0 < x < 65536. 4884 format: int32 4885 type: integer 4886 hostIP: 4887 description: What host IP to bind the 4888 external port to. 4889 type: string 4890 hostPort: 4891 description: Number of port to expose 4892 on the host. If specified, this must 4893 be a valid port number, 0 < x < 65536. 4894 If HostNetwork is specified, this 4895 must match ContainerPort. Most containers 4896 do not need this. 4897 format: int32 4898 type: integer 4899 name: 4900 description: If specified, this must 4901 be an IANA_SVC_NAME and unique within 4902 the pod. Each named port in a pod 4903 must have a unique name. Name for 4904 the port that can be referred to by 4905 services. 4906 type: string 4907 protocol: 4908 default: TCP 4909 description: Protocol for port. Must 4910 be UDP, TCP, or SCTP. Defaults to 4911 "TCP". 4912 type: string 4913 required: 4914 - containerPort 4915 type: object 4916 type: array 4917 x-kubernetes-list-map-keys: 4918 - containerPort 4919 - protocol 4920 x-kubernetes-list-type: map 4921 readinessProbe: 4922 description: 'Deprecated. This field will 4923 be removed in a future release. Periodic 4924 probe of container service readiness. Step 4925 will be removed from service endpoints if 4926 the probe fails. Cannot be updated. More 4927 info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 4928 properties: 4929 exec: 4930 description: Exec specifies the action 4931 to take. 4932 properties: 4933 command: 4934 description: Command is the command 4935 line to execute inside the container, 4936 the working directory for the command is 4937 root ('/') in the container's filesystem. 4938 The command is simply exec'd, it 4939 is not run inside a shell, so traditional 4940 shell instructions ('|', etc) won't 4941 work. To use a shell, you need to 4942 explicitly call out to that shell. 4943 Exit status of 0 is treated as live/healthy 4944 and non-zero is unhealthy. 4945 items: 4946 type: string 4947 type: array 4948 type: object 4949 failureThreshold: 4950 description: Minimum consecutive failures 4951 for the probe to be considered failed 4952 after having succeeded. Defaults to 4953 3. Minimum value is 1. 4954 format: int32 4955 type: integer 4956 grpc: 4957 description: GRPC specifies an action 4958 involving a GRPC port. This is a beta 4959 field and requires enabling GRPCContainerProbe 4960 feature gate. 4961 properties: 4962 port: 4963 description: Port number of the gRPC 4964 service. Number must be in the range 4965 1 to 65535. 4966 format: int32 4967 type: integer 4968 service: 4969 description: "Service is the name 4970 of the service to place in the gRPC 4971 HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). 4972 \n If this is not specified, the 4973 default behavior is defined by gRPC." 4974 type: string 4975 required: 4976 - port 4977 type: object 4978 httpGet: 4979 description: HTTPGet specifies the http 4980 request to perform. 4981 properties: 4982 host: 4983 description: Host name to connect 4984 to, defaults to the pod IP. You 4985 probably want to set "Host" in httpHeaders 4986 instead. 4987 type: string 4988 httpHeaders: 4989 description: Custom headers to set 4990 in the request. HTTP allows repeated 4991 headers. 4992 items: 4993 description: HTTPHeader describes 4994 a custom header to be used in 4995 HTTP probes 4996 properties: 4997 name: 4998 description: The header field 4999 name 5000 type: string 5001 value: 5002 description: The header field 5003 value 5004 type: string 5005 required: 5006 - name 5007 - value 5008 type: object 5009 type: array 5010 path: 5011 description: Path to access on the 5012 HTTP server. 5013 type: string 5014 port: 5015 anyOf: 5016 - type: integer 5017 - type: string 5018 description: Name or number of the 5019 port to access on the container. 5020 Number must be in the range 1 to 5021 65535. Name must be an IANA_SVC_NAME. 5022 x-kubernetes-int-or-string: true 5023 scheme: 5024 description: Scheme to use for connecting 5025 to the host. Defaults to HTTP. 5026 type: string 5027 required: 5028 - port 5029 type: object 5030 initialDelaySeconds: 5031 description: 'Number of seconds after 5032 the container has started before liveness 5033 probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 5034 format: int32 5035 type: integer 5036 periodSeconds: 5037 description: How often (in seconds) to 5038 perform the probe. Default to 10 seconds. 5039 Minimum value is 1. 5040 format: int32 5041 type: integer 5042 successThreshold: 5043 description: Minimum consecutive successes 5044 for the probe to be considered successful 5045 after having failed. Defaults to 1. 5046 Must be 1 for liveness and startup. 5047 Minimum value is 1. 5048 format: int32 5049 type: integer 5050 tcpSocket: 5051 description: TCPSocket specifies an action 5052 involving a TCP port. 5053 properties: 5054 host: 5055 description: 'Optional: Host name 5056 to connect to, defaults to the pod 5057 IP.' 5058 type: string 5059 port: 5060 anyOf: 5061 - type: integer 5062 - type: string 5063 description: Number or name of the 5064 port to access on the container. 5065 Number must be in the range 1 to 5066 65535. Name must be an IANA_SVC_NAME. 5067 x-kubernetes-int-or-string: true 5068 required: 5069 - port 5070 type: object 5071 terminationGracePeriodSeconds: 5072 description: Optional duration in seconds 5073 the pod needs to terminate gracefully 5074 upon probe failure. The grace period 5075 is the duration in seconds after the 5076 processes running in the pod are sent 5077 a termination signal and the time when 5078 the processes are forcibly halted with 5079 a kill signal. Set this value longer 5080 than the expected cleanup time for your 5081 process. If this value is nil, the pod's 5082 terminationGracePeriodSeconds will be 5083 used. Otherwise, this value overrides 5084 the value provided by the pod spec. 5085 Value must be non-negative integer. 5086 The value zero indicates stop immediately 5087 via the kill signal (no opportunity 5088 to shut down). This is a beta field 5089 and requires enabling ProbeTerminationGracePeriod 5090 feature gate. Minimum value is 1. spec.terminationGracePeriodSeconds 5091 is used if unset. 5092 format: int64 5093 type: integer 5094 timeoutSeconds: 5095 description: 'Number of seconds after 5096 which the probe times out. Defaults 5097 to 1 second. Minimum value is 1. More 5098 info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 5099 format: int32 5100 type: integer 5101 type: object 5102 resources: 5103 description: 'Compute Resources required by 5104 this Step. Cannot be updated. More info: 5105 https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' 5106 properties: 5107 limits: 5108 additionalProperties: 5109 anyOf: 5110 - type: integer 5111 - type: string 5112 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 5113 x-kubernetes-int-or-string: true 5114 description: 'Limits describes the maximum 5115 amount of compute resources allowed. 5116 More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' 5117 type: object 5118 requests: 5119 additionalProperties: 5120 anyOf: 5121 - type: integer 5122 - type: string 5123 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 5124 x-kubernetes-int-or-string: true 5125 description: 'Requests describes the minimum 5126 amount of compute resources required. 5127 If Requests is omitted for a container, 5128 it defaults to Limits if that is explicitly 5129 specified, otherwise to an implementation-defined 5130 value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' 5131 type: object 5132 type: object 5133 script: 5134 description: "Script is the contents of an 5135 executable file to execute. \n If Script 5136 is not empty, the Step cannot have an Command 5137 and the Args will be passed to the Script." 5138 type: string 5139 securityContext: 5140 description: 'SecurityContext defines the 5141 security options the Step should be run 5142 with. If set, the fields of SecurityContext 5143 override the equivalent fields of PodSecurityContext. 5144 More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/' 5145 properties: 5146 allowPrivilegeEscalation: 5147 description: 'AllowPrivilegeEscalation 5148 controls whether a process can gain 5149 more privileges than its parent process. 5150 This bool directly controls if the no_new_privs 5151 flag will be set on the container process. 5152 AllowPrivilegeEscalation is true always 5153 when the container is: 1) run as Privileged 5154 2) has CAP_SYS_ADMIN Note that this 5155 field cannot be set when spec.os.name 5156 is windows.' 5157 type: boolean 5158 capabilities: 5159 description: The capabilities to add/drop 5160 when running containers. Defaults to 5161 the default set of capabilities granted 5162 by the container runtime. Note that 5163 this field cannot be set when spec.os.name 5164 is windows. 5165 properties: 5166 add: 5167 description: Added capabilities 5168 items: 5169 description: Capability represent 5170 POSIX capabilities type 5171 type: string 5172 type: array 5173 drop: 5174 description: Removed capabilities 5175 items: 5176 description: Capability represent 5177 POSIX capabilities type 5178 type: string 5179 type: array 5180 type: object 5181 privileged: 5182 description: Run container in privileged 5183 mode. Processes in privileged containers 5184 are essentially equivalent to root on 5185 the host. Defaults to false. Note that 5186 this field cannot be set when spec.os.name 5187 is windows. 5188 type: boolean 5189 procMount: 5190 description: procMount denotes the type 5191 of proc mount to use for the containers. 5192 The default is DefaultProcMount which 5193 uses the container runtime defaults 5194 for readonly paths and masked paths. 5195 This requires the ProcMountType feature 5196 flag to be enabled. Note that this field 5197 cannot be set when spec.os.name is windows. 5198 type: string 5199 readOnlyRootFilesystem: 5200 description: Whether this container has 5201 a read-only root filesystem. Default 5202 is false. Note that this field cannot 5203 be set when spec.os.name is windows. 5204 type: boolean 5205 runAsGroup: 5206 description: The GID to run the entrypoint 5207 of the container process. Uses runtime 5208 default if unset. May also be set in 5209 PodSecurityContext. If set in both 5210 SecurityContext and PodSecurityContext, 5211 the value specified in SecurityContext 5212 takes precedence. Note that this field 5213 cannot be set when spec.os.name is windows. 5214 format: int64 5215 type: integer 5216 runAsNonRoot: 5217 description: Indicates that the container 5218 must run as a non-root user. If true, 5219 the Kubelet will validate the image 5220 at runtime to ensure that it does not 5221 run as UID 0 (root) and fail to start 5222 the container if it does. If unset or 5223 false, no such validation will be performed. 5224 May also be set in PodSecurityContext. If 5225 set in both SecurityContext and PodSecurityContext, 5226 the value specified in SecurityContext 5227 takes precedence. 5228 type: boolean 5229 runAsUser: 5230 description: The UID to run the entrypoint 5231 of the container process. Defaults to 5232 user specified in image metadata if 5233 unspecified. May also be set in PodSecurityContext. If 5234 set in both SecurityContext and PodSecurityContext, 5235 the value specified in SecurityContext 5236 takes precedence. Note that this field 5237 cannot be set when spec.os.name is windows. 5238 format: int64 5239 type: integer 5240 seLinuxOptions: 5241 description: The SELinux context to be 5242 applied to the container. If unspecified, 5243 the container runtime will allocate 5244 a random SELinux context for each container. May 5245 also be set in PodSecurityContext. If 5246 set in both SecurityContext and PodSecurityContext, 5247 the value specified in SecurityContext 5248 takes precedence. Note that this field 5249 cannot be set when spec.os.name is windows. 5250 properties: 5251 level: 5252 description: Level is SELinux level 5253 label that applies to the container. 5254 type: string 5255 role: 5256 description: Role is a SELinux role 5257 label that applies to the container. 5258 type: string 5259 type: 5260 description: Type is a SELinux type 5261 label that applies to the container. 5262 type: string 5263 user: 5264 description: User is a SELinux user 5265 label that applies to the container. 5266 type: string 5267 type: object 5268 seccompProfile: 5269 description: The seccomp options to use 5270 by this container. If seccomp options 5271 are provided at both the pod & container 5272 level, the container options override 5273 the pod options. Note that this field 5274 cannot be set when spec.os.name is windows. 5275 properties: 5276 localhostProfile: 5277 description: localhostProfile indicates 5278 a profile defined in a file on the 5279 node should be used. The profile 5280 must be preconfigured on the node 5281 to work. Must be a descending path, 5282 relative to the kubelet's configured 5283 seccomp profile location. Must only 5284 be set if type is "Localhost". 5285 type: string 5286 type: 5287 description: "type indicates which 5288 kind of seccomp profile will be 5289 applied. Valid options are: \n Localhost 5290 - a profile defined in a file on 5291 the node should be used. RuntimeDefault 5292 - the container runtime default 5293 profile should be used. Unconfined 5294 - no profile should be applied." 5295 type: string 5296 required: 5297 - type 5298 type: object 5299 windowsOptions: 5300 description: The Windows specific settings 5301 applied to all containers. If unspecified, 5302 the options from the PodSecurityContext 5303 will be used. If set in both SecurityContext 5304 and PodSecurityContext, the value specified 5305 in SecurityContext takes precedence. 5306 Note that this field cannot be set when 5307 spec.os.name is linux. 5308 properties: 5309 gmsaCredentialSpec: 5310 description: GMSACredentialSpec is 5311 where the GMSA admission webhook 5312 (https://github.com/kubernetes-sigs/windows-gmsa) 5313 inlines the contents of the GMSA 5314 credential spec named by the GMSACredentialSpecName 5315 field. 5316 type: string 5317 gmsaCredentialSpecName: 5318 description: GMSACredentialSpecName 5319 is the name of the GMSA credential 5320 spec to use. 5321 type: string 5322 hostProcess: 5323 description: HostProcess determines 5324 if a container should be run as 5325 a 'Host Process' container. This 5326 field is alpha-level and will only 5327 be honored by components that enable 5328 the WindowsHostProcessContainers 5329 feature flag. Setting this field 5330 without the feature flag will result 5331 in errors when validating the Pod. 5332 All of a Pod's containers must have 5333 the same effective HostProcess value 5334 (it is not allowed to have a mix 5335 of HostProcess containers and non-HostProcess 5336 containers). In addition, if HostProcess 5337 is true then HostNetwork must also 5338 be set to true. 5339 type: boolean 5340 runAsUserName: 5341 description: The UserName in Windows 5342 to run the entrypoint of the container 5343 process. Defaults to the user specified 5344 in image metadata if unspecified. 5345 May also be set in PodSecurityContext. 5346 If set in both SecurityContext and 5347 PodSecurityContext, the value specified 5348 in SecurityContext takes precedence. 5349 type: string 5350 type: object 5351 type: object 5352 startupProbe: 5353 description: 'Deprecated. This field will 5354 be removed in a future release. DeprecatedStartupProbe 5355 indicates that the Pod this Step runs in 5356 has successfully initialized. If specified, 5357 no other probes are executed until this 5358 completes successfully. If this probe fails, 5359 the Pod will be restarted, just as if the 5360 livenessProbe failed. This can be used to 5361 provide different probe parameters at the 5362 beginning of a Pod''s lifecycle, when it 5363 might take a long time to load data or warm 5364 a cache, than during steady-state operation. 5365 This cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 5366 properties: 5367 exec: 5368 description: Exec specifies the action 5369 to take. 5370 properties: 5371 command: 5372 description: Command is the command 5373 line to execute inside the container, 5374 the working directory for the command is 5375 root ('/') in the container's filesystem. 5376 The command is simply exec'd, it 5377 is not run inside a shell, so traditional 5378 shell instructions ('|', etc) won't 5379 work. To use a shell, you need to 5380 explicitly call out to that shell. 5381 Exit status of 0 is treated as live/healthy 5382 and non-zero is unhealthy. 5383 items: 5384 type: string 5385 type: array 5386 type: object 5387 failureThreshold: 5388 description: Minimum consecutive failures 5389 for the probe to be considered failed 5390 after having succeeded. Defaults to 5391 3. Minimum value is 1. 5392 format: int32 5393 type: integer 5394 grpc: 5395 description: GRPC specifies an action 5396 involving a GRPC port. This is a beta 5397 field and requires enabling GRPCContainerProbe 5398 feature gate. 5399 properties: 5400 port: 5401 description: Port number of the gRPC 5402 service. Number must be in the range 5403 1 to 65535. 5404 format: int32 5405 type: integer 5406 service: 5407 description: "Service is the name 5408 of the service to place in the gRPC 5409 HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). 5410 \n If this is not specified, the 5411 default behavior is defined by gRPC." 5412 type: string 5413 required: 5414 - port 5415 type: object 5416 httpGet: 5417 description: HTTPGet specifies the http 5418 request to perform. 5419 properties: 5420 host: 5421 description: Host name to connect 5422 to, defaults to the pod IP. You 5423 probably want to set "Host" in httpHeaders 5424 instead. 5425 type: string 5426 httpHeaders: 5427 description: Custom headers to set 5428 in the request. HTTP allows repeated 5429 headers. 5430 items: 5431 description: HTTPHeader describes 5432 a custom header to be used in 5433 HTTP probes 5434 properties: 5435 name: 5436 description: The header field 5437 name 5438 type: string 5439 value: 5440 description: The header field 5441 value 5442 type: string 5443 required: 5444 - name 5445 - value 5446 type: object 5447 type: array 5448 path: 5449 description: Path to access on the 5450 HTTP server. 5451 type: string 5452 port: 5453 anyOf: 5454 - type: integer 5455 - type: string 5456 description: Name or number of the 5457 port to access on the container. 5458 Number must be in the range 1 to 5459 65535. Name must be an IANA_SVC_NAME. 5460 x-kubernetes-int-or-string: true 5461 scheme: 5462 description: Scheme to use for connecting 5463 to the host. Defaults to HTTP. 5464 type: string 5465 required: 5466 - port 5467 type: object 5468 initialDelaySeconds: 5469 description: 'Number of seconds after 5470 the container has started before liveness 5471 probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 5472 format: int32 5473 type: integer 5474 periodSeconds: 5475 description: How often (in seconds) to 5476 perform the probe. Default to 10 seconds. 5477 Minimum value is 1. 5478 format: int32 5479 type: integer 5480 successThreshold: 5481 description: Minimum consecutive successes 5482 for the probe to be considered successful 5483 after having failed. Defaults to 1. 5484 Must be 1 for liveness and startup. 5485 Minimum value is 1. 5486 format: int32 5487 type: integer 5488 tcpSocket: 5489 description: TCPSocket specifies an action 5490 involving a TCP port. 5491 properties: 5492 host: 5493 description: 'Optional: Host name 5494 to connect to, defaults to the pod 5495 IP.' 5496 type: string 5497 port: 5498 anyOf: 5499 - type: integer 5500 - type: string 5501 description: Number or name of the 5502 port to access on the container. 5503 Number must be in the range 1 to 5504 65535. Name must be an IANA_SVC_NAME. 5505 x-kubernetes-int-or-string: true 5506 required: 5507 - port 5508 type: object 5509 terminationGracePeriodSeconds: 5510 description: Optional duration in seconds 5511 the pod needs to terminate gracefully 5512 upon probe failure. The grace period 5513 is the duration in seconds after the 5514 processes running in the pod are sent 5515 a termination signal and the time when 5516 the processes are forcibly halted with 5517 a kill signal. Set this value longer 5518 than the expected cleanup time for your 5519 process. If this value is nil, the pod's 5520 terminationGracePeriodSeconds will be 5521 used. Otherwise, this value overrides 5522 the value provided by the pod spec. 5523 Value must be non-negative integer. 5524 The value zero indicates stop immediately 5525 via the kill signal (no opportunity 5526 to shut down). This is a beta field 5527 and requires enabling ProbeTerminationGracePeriod 5528 feature gate. Minimum value is 1. spec.terminationGracePeriodSeconds 5529 is used if unset. 5530 format: int64 5531 type: integer 5532 timeoutSeconds: 5533 description: 'Number of seconds after 5534 which the probe times out. Defaults 5535 to 1 second. Minimum value is 1. More 5536 info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 5537 format: int32 5538 type: integer 5539 type: object 5540 stderrConfig: 5541 description: Stores configuration for the 5542 stderr stream of the step. 5543 properties: 5544 path: 5545 description: Path to duplicate stdout 5546 stream to on container's local filesystem. 5547 type: string 5548 type: object 5549 stdin: 5550 description: Deprecated. This field will be 5551 removed in a future release. Whether this 5552 container should allocate a buffer for stdin 5553 in the container runtime. If this is not 5554 set, reads from stdin in the container will 5555 always result in EOF. Default is false. 5556 type: boolean 5557 stdinOnce: 5558 description: Deprecated. This field will be 5559 removed in a future release. Whether the 5560 container runtime should close the stdin 5561 channel after it has been opened by a single 5562 attach. When stdin is true the stdin stream 5563 will remain open across multiple attach 5564 sessions. If stdinOnce is set to true, stdin 5565 is opened on container start, is empty until 5566 the first client attaches to stdin, and 5567 then remains open and accepts data until 5568 the client disconnects, at which time stdin 5569 is closed and remains closed until the container 5570 is restarted. If this flag is false, a container 5571 processes that reads from stdin will never 5572 receive an EOF. Default is false 5573 type: boolean 5574 stdoutConfig: 5575 description: Stores configuration for the 5576 stdout stream of the step. 5577 properties: 5578 path: 5579 description: Path to duplicate stdout 5580 stream to on container's local filesystem. 5581 type: string 5582 type: object 5583 terminationMessagePath: 5584 description: Deprecated. This field will be 5585 removed in a future release and can't be 5586 meaningfully used. 5587 type: string 5588 terminationMessagePolicy: 5589 description: Deprecated. This field will be 5590 removed in a future release and can't be 5591 meaningfully used. 5592 type: string 5593 timeout: 5594 description: 'Timeout is the time after which 5595 the step times out. Defaults to never. Refer 5596 to Go''s ParseDuration documentation for 5597 expected format: https://golang.org/pkg/time/#ParseDuration' 5598 type: string 5599 tty: 5600 description: Deprecated. This field will be 5601 removed in a future release. Whether this 5602 container should allocate a DeprecatedTTY 5603 for itself, also requires 'stdin' to be 5604 true. Default is false. 5605 type: boolean 5606 volumeDevices: 5607 description: volumeDevices is the list of 5608 block devices to be used by the Step. 5609 items: 5610 description: volumeDevice describes a mapping 5611 of a raw block device within a container. 5612 properties: 5613 devicePath: 5614 description: devicePath is the path 5615 inside of the container that the device 5616 will be mapped to. 5617 type: string 5618 name: 5619 description: name must match the name 5620 of a persistentVolumeClaim in the 5621 pod 5622 type: string 5623 required: 5624 - devicePath 5625 - name 5626 type: object 5627 type: array 5628 x-kubernetes-list-type: atomic 5629 volumeMounts: 5630 description: Volumes to mount into the Step's 5631 filesystem. Cannot be updated. 5632 items: 5633 description: VolumeMount describes a mounting 5634 of a Volume within a container. 5635 properties: 5636 mountPath: 5637 description: Path within the container 5638 at which the volume should be mounted. Must 5639 not contain ':'. 5640 type: string 5641 mountPropagation: 5642 description: mountPropagation determines 5643 how mounts are propagated from the 5644 host to container and the other way 5645 around. When not set, MountPropagationNone 5646 is used. This field is beta in 1.10. 5647 type: string 5648 name: 5649 description: This must match the Name 5650 of a Volume. 5651 type: string 5652 readOnly: 5653 description: Mounted read-only if true, 5654 read-write otherwise (false or unspecified). 5655 Defaults to false. 5656 type: boolean 5657 subPath: 5658 description: Path within the volume 5659 from which the container's volume 5660 should be mounted. Defaults to "" 5661 (volume's root). 5662 type: string 5663 subPathExpr: 5664 description: Expanded path within the 5665 volume from which the container's 5666 volume should be mounted. Behaves 5667 similarly to SubPath but environment 5668 variable references $(VAR_NAME) are 5669 expanded using the container's environment. 5670 Defaults to "" (volume's root). SubPathExpr 5671 and SubPath are mutually exclusive. 5672 type: string 5673 required: 5674 - mountPath 5675 - name 5676 type: object 5677 type: array 5678 x-kubernetes-list-type: atomic 5679 workingDir: 5680 description: Step's working directory. If 5681 not specified, the container runtime's default 5682 will be used, which might be configured 5683 in the container image. Cannot be updated. 5684 type: string 5685 workspaces: 5686 description: "This is an alpha field. You 5687 must set the \"enable-api-fields\" feature 5688 flag to \"alpha\" for this field to be supported. 5689 \n Workspaces is a list of workspaces from 5690 the Task that this Step wants exclusive 5691 access to. Adding a workspace to this list 5692 means that any other Step or Sidecar that 5693 does not also request this Workspace will 5694 not have access to it." 5695 items: 5696 description: WorkspaceUsage is used by a 5697 Step or Sidecar to declare that it wants 5698 isolated access to a Workspace defined 5699 in a Task. 5700 properties: 5701 mountPath: 5702 description: MountPath is the path that 5703 the workspace should be mounted to 5704 inside the Step or Sidecar, overriding 5705 any MountPath specified in the Task's 5706 WorkspaceDeclaration. 5707 type: string 5708 name: 5709 description: Name is the name of the 5710 workspace this Step or Sidecar wants 5711 access to. 5712 type: string 5713 required: 5714 - mountPath 5715 - name 5716 type: object 5717 type: array 5718 x-kubernetes-list-type: atomic 5719 required: 5720 - name 5721 type: object 5722 type: array 5723 x-kubernetes-list-type: atomic 5724 volumes: 5725 description: Volumes is a collection of volumes 5726 that are available to mount into the steps of 5727 the build. 5728 items: 5729 description: Volume represents a named volume 5730 in a pod that may be accessed by any container 5731 in the pod. 5732 properties: 5733 awsElasticBlockStore: 5734 description: 'awsElasticBlockStore represents 5735 an AWS Disk resource that is attached to 5736 a kubelet''s host machine and then exposed 5737 to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore' 5738 properties: 5739 fsType: 5740 description: 'fsType is the filesystem 5741 type of the volume that you want to 5742 mount. Tip: Ensure that the filesystem 5743 type is supported by the host operating 5744 system. Examples: "ext4", "xfs", "ntfs". 5745 Implicitly inferred to be "ext4" if 5746 unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore 5747 TODO: how do we prevent errors in the 5748 filesystem from compromising the machine' 5749 type: string 5750 partition: 5751 description: 'partition is the partition 5752 in the volume that you want to mount. 5753 If omitted, the default is to mount 5754 by volume name. Examples: For volume 5755 /dev/sda1, you specify the partition 5756 as "1". Similarly, the volume partition 5757 for /dev/sda is "0" (or you can leave 5758 the property empty).' 5759 format: int32 5760 type: integer 5761 readOnly: 5762 description: 'readOnly value true will 5763 force the readOnly setting in VolumeMounts. 5764 More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore' 5765 type: boolean 5766 volumeID: 5767 description: 'volumeID is unique ID of 5768 the persistent disk resource in AWS 5769 (Amazon EBS volume). More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore' 5770 type: string 5771 required: 5772 - volumeID 5773 type: object 5774 azureDisk: 5775 description: azureDisk represents an Azure 5776 Data Disk mount on the host and bind mount 5777 to the pod. 5778 properties: 5779 cachingMode: 5780 description: 'cachingMode is the Host 5781 Caching mode: None, Read Only, Read 5782 Write.' 5783 type: string 5784 diskName: 5785 description: diskName is the Name of the 5786 data disk in the blob storage 5787 type: string 5788 diskURI: 5789 description: diskURI is the URI of data 5790 disk in the blob storage 5791 type: string 5792 fsType: 5793 description: fsType is Filesystem type 5794 to mount. Must be a filesystem type 5795 supported by the host operating system. 5796 Ex. "ext4", "xfs", "ntfs". Implicitly 5797 inferred to be "ext4" if unspecified. 5798 type: string 5799 kind: 5800 description: 'kind expected values are 5801 Shared: multiple blob disks per storage 5802 account Dedicated: single blob disk 5803 per storage account Managed: azure 5804 managed data disk (only in managed availability 5805 set). defaults to shared' 5806 type: string 5807 readOnly: 5808 description: readOnly Defaults to false 5809 (read/write). ReadOnly here will force 5810 the ReadOnly setting in VolumeMounts. 5811 type: boolean 5812 required: 5813 - diskName 5814 - diskURI 5815 type: object 5816 azureFile: 5817 description: azureFile represents an Azure 5818 File Service mount on the host and bind 5819 mount to the pod. 5820 properties: 5821 readOnly: 5822 description: readOnly defaults to false 5823 (read/write). ReadOnly here will force 5824 the ReadOnly setting in VolumeMounts. 5825 type: boolean 5826 secretName: 5827 description: secretName is the name of 5828 secret that contains Azure Storage Account 5829 Name and Key 5830 type: string 5831 shareName: 5832 description: shareName is the azure share 5833 Name 5834 type: string 5835 required: 5836 - secretName 5837 - shareName 5838 type: object 5839 cephfs: 5840 description: cephFS represents a Ceph FS mount 5841 on the host that shares a pod's lifetime 5842 properties: 5843 monitors: 5844 description: 'monitors is Required: Monitors 5845 is a collection of Ceph monitors More 5846 info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it' 5847 items: 5848 type: string 5849 type: array 5850 path: 5851 description: 'path is Optional: Used as 5852 the mounted root, rather than the full 5853 Ceph tree, default is /' 5854 type: string 5855 readOnly: 5856 description: 'readOnly is Optional: Defaults 5857 to false (read/write). ReadOnly here 5858 will force the ReadOnly setting in VolumeMounts. 5859 More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it' 5860 type: boolean 5861 secretFile: 5862 description: 'secretFile is Optional: 5863 SecretFile is the path to key ring for 5864 User, default is /etc/ceph/user.secret 5865 More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it' 5866 type: string 5867 secretRef: 5868 description: 'secretRef is Optional: SecretRef 5869 is reference to the authentication secret 5870 for User, default is empty. More info: 5871 https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it' 5872 properties: 5873 name: 5874 description: 'Name of the referent. 5875 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 5876 TODO: Add other useful fields. apiVersion, 5877 kind, uid?' 5878 type: string 5879 type: object 5880 user: 5881 description: 'user is optional: User is 5882 the rados user name, default is admin 5883 More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it' 5884 type: string 5885 required: 5886 - monitors 5887 type: object 5888 cinder: 5889 description: 'cinder represents a cinder volume 5890 attached and mounted on kubelets host machine. 5891 More info: https://examples.k8s.io/mysql-cinder-pd/README.md' 5892 properties: 5893 fsType: 5894 description: 'fsType is the filesystem 5895 type to mount. Must be a filesystem 5896 type supported by the host operating 5897 system. Examples: "ext4", "xfs", "ntfs". 5898 Implicitly inferred to be "ext4" if 5899 unspecified. More info: https://examples.k8s.io/mysql-cinder-pd/README.md' 5900 type: string 5901 readOnly: 5902 description: 'readOnly defaults to false 5903 (read/write). ReadOnly here will force 5904 the ReadOnly setting in VolumeMounts. 5905 More info: https://examples.k8s.io/mysql-cinder-pd/README.md' 5906 type: boolean 5907 secretRef: 5908 description: 'secretRef is optional: points 5909 to a secret object containing parameters 5910 used to connect to OpenStack.' 5911 properties: 5912 name: 5913 description: 'Name of the referent. 5914 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 5915 TODO: Add other useful fields. apiVersion, 5916 kind, uid?' 5917 type: string 5918 type: object 5919 volumeID: 5920 description: 'volumeID used to identify 5921 the volume in cinder. More info: https://examples.k8s.io/mysql-cinder-pd/README.md' 5922 type: string 5923 required: 5924 - volumeID 5925 type: object 5926 configMap: 5927 description: configMap represents a configMap 5928 that should populate this volume 5929 properties: 5930 defaultMode: 5931 description: 'defaultMode is optional: 5932 mode bits used to set permissions on 5933 created files by default. Must be an 5934 octal value between 0000 and 0777 or 5935 a decimal value between 0 and 511. YAML 5936 accepts both octal and decimal values, 5937 JSON requires decimal values for mode 5938 bits. Defaults to 0644. Directories 5939 within the path are not affected by 5940 this setting. This might be in conflict 5941 with other options that affect the file 5942 mode, like fsGroup, and the result can 5943 be other mode bits set.' 5944 format: int32 5945 type: integer 5946 items: 5947 description: items if unspecified, each 5948 key-value pair in the Data field of 5949 the referenced ConfigMap will be projected 5950 into the volume as a file whose name 5951 is the key and content is the value. 5952 If specified, the listed keys will be 5953 projected into the specified paths, 5954 and unlisted keys will not be present. 5955 If a key is specified which is not present 5956 in the ConfigMap, the volume setup will 5957 error unless it is marked optional. 5958 Paths must be relative and may not contain 5959 the '..' path or start with '..'. 5960 items: 5961 description: Maps a string key to a 5962 path within a volume. 5963 properties: 5964 key: 5965 description: key is the key to project. 5966 type: string 5967 mode: 5968 description: 'mode is Optional: 5969 mode bits used to set permissions 5970 on this file. Must be an octal 5971 value between 0000 and 0777 or 5972 a decimal value between 0 and 5973 511. YAML accepts both octal and 5974 decimal values, JSON requires 5975 decimal values for mode bits. 5976 If not specified, the volume defaultMode 5977 will be used. This might be in 5978 conflict with other options that 5979 affect the file mode, like fsGroup, 5980 and the result can be other mode 5981 bits set.' 5982 format: int32 5983 type: integer 5984 path: 5985 description: path is the relative 5986 path of the file to map the key 5987 to. May not be an absolute path. 5988 May not contain the path element 5989 '..'. May not start with the string 5990 '..'. 5991 type: string 5992 required: 5993 - key 5994 - path 5995 type: object 5996 type: array 5997 name: 5998 description: 'Name of the referent. More 5999 info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 6000 TODO: Add other useful fields. apiVersion, 6001 kind, uid?' 6002 type: string 6003 optional: 6004 description: optional specify whether 6005 the ConfigMap or its keys must be defined 6006 type: boolean 6007 type: object 6008 csi: 6009 description: csi (Container Storage Interface) 6010 represents ephemeral storage that is handled 6011 by certain external CSI drivers (Beta feature). 6012 properties: 6013 driver: 6014 description: driver is the name of the 6015 CSI driver that handles this volume. 6016 Consult with your admin for the correct 6017 name as registered in the cluster. 6018 type: string 6019 fsType: 6020 description: fsType to mount. Ex. "ext4", 6021 "xfs", "ntfs". If not provided, the 6022 empty value is passed to the associated 6023 CSI driver which will determine the 6024 default filesystem to apply. 6025 type: string 6026 nodePublishSecretRef: 6027 description: nodePublishSecretRef is a 6028 reference to the secret object containing 6029 sensitive information to pass to the 6030 CSI driver to complete the CSI NodePublishVolume 6031 and NodeUnpublishVolume calls. This 6032 field is optional, and may be empty 6033 if no secret is required. If the secret 6034 object contains more than one secret, 6035 all secret references are passed. 6036 properties: 6037 name: 6038 description: 'Name of the referent. 6039 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 6040 TODO: Add other useful fields. apiVersion, 6041 kind, uid?' 6042 type: string 6043 type: object 6044 readOnly: 6045 description: readOnly specifies a read-only 6046 configuration for the volume. Defaults 6047 to false (read/write). 6048 type: boolean 6049 volumeAttributes: 6050 additionalProperties: 6051 type: string 6052 description: volumeAttributes stores driver-specific 6053 properties that are passed to the CSI 6054 driver. Consult your driver's documentation 6055 for supported values. 6056 type: object 6057 required: 6058 - driver 6059 type: object 6060 downwardAPI: 6061 description: downwardAPI represents downward 6062 API about the pod that should populate this 6063 volume 6064 properties: 6065 defaultMode: 6066 description: 'Optional: mode bits to use 6067 on created files by default. Must be 6068 a Optional: mode bits used to set permissions 6069 on created files by default. Must be 6070 an octal value between 0000 and 0777 6071 or a decimal value between 0 and 511. 6072 YAML accepts both octal and decimal 6073 values, JSON requires decimal values 6074 for mode bits. Defaults to 0644. Directories 6075 within the path are not affected by 6076 this setting. This might be in conflict 6077 with other options that affect the file 6078 mode, like fsGroup, and the result can 6079 be other mode bits set.' 6080 format: int32 6081 type: integer 6082 items: 6083 description: Items is a list of downward 6084 API volume file 6085 items: 6086 description: DownwardAPIVolumeFile represents 6087 information to create the file containing 6088 the pod field 6089 properties: 6090 fieldRef: 6091 description: 'Required: Selects 6092 a field of the pod: only annotations, 6093 labels, name and namespace are 6094 supported.' 6095 properties: 6096 apiVersion: 6097 description: Version of the 6098 schema the FieldPath is written 6099 in terms of, defaults to "v1". 6100 type: string 6101 fieldPath: 6102 description: Path of the field 6103 to select in the specified 6104 API version. 6105 type: string 6106 required: 6107 - fieldPath 6108 type: object 6109 mode: 6110 description: 'Optional: mode bits 6111 used to set permissions on this 6112 file, must be an octal value between 6113 0000 and 0777 or a decimal value 6114 between 0 and 511. YAML accepts 6115 both octal and decimal values, 6116 JSON requires decimal values for 6117 mode bits. If not specified, the 6118 volume defaultMode will be used. 6119 This might be in conflict with 6120 other options that affect the 6121 file mode, like fsGroup, and the 6122 result can be other mode bits 6123 set.' 6124 format: int32 6125 type: integer 6126 path: 6127 description: 'Required: Path is the 6128 relative path name of the file 6129 to be created. Must not be absolute 6130 or contain the ''..'' path. Must 6131 be utf-8 encoded. The first item 6132 of the relative path must not 6133 start with ''..''' 6134 type: string 6135 resourceFieldRef: 6136 description: 'Selects a resource 6137 of the container: only resources 6138 limits and requests (limits.cpu, 6139 limits.memory, requests.cpu and 6140 requests.memory) are currently 6141 supported.' 6142 properties: 6143 containerName: 6144 description: 'Container name: 6145 required for volumes, optional 6146 for env vars' 6147 type: string 6148 divisor: 6149 anyOf: 6150 - type: integer 6151 - type: string 6152 description: Specifies the output 6153 format of the exposed resources, 6154 defaults to "1" 6155 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 6156 x-kubernetes-int-or-string: true 6157 resource: 6158 description: 'Required: resource 6159 to select' 6160 type: string 6161 required: 6162 - resource 6163 type: object 6164 required: 6165 - path 6166 type: object 6167 type: array 6168 type: object 6169 emptyDir: 6170 description: 'emptyDir represents a temporary 6171 directory that shares a pod''s lifetime. 6172 More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir' 6173 properties: 6174 medium: 6175 description: 'medium represents what type 6176 of storage medium should back this directory. 6177 The default is "" which means to use 6178 the node''s default medium. Must be 6179 an empty string (default) or Memory. 6180 More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir' 6181 type: string 6182 sizeLimit: 6183 anyOf: 6184 - type: integer 6185 - type: string 6186 description: 'sizeLimit is the total amount 6187 of local storage required for this EmptyDir 6188 volume. The size limit is also applicable 6189 for memory medium. The maximum usage 6190 on memory medium EmptyDir would be the 6191 minimum value between the SizeLimit 6192 specified here and the sum of memory 6193 limits of all containers in a pod. The 6194 default is nil which means that the 6195 limit is undefined. More info: http://kubernetes.io/docs/user-guide/volumes#emptydir' 6196 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 6197 x-kubernetes-int-or-string: true 6198 type: object 6199 ephemeral: 6200 description: "ephemeral represents a volume 6201 that is handled by a cluster storage driver. 6202 The volume's lifecycle is tied to the pod 6203 that defines it - it will be created before 6204 the pod starts, and deleted when the pod 6205 is removed. \n Use this if: a) the volume 6206 is only needed while the pod runs, b) features 6207 of normal volumes like restoring from snapshot 6208 or capacity tracking are needed, c) the 6209 storage driver is specified through a storage 6210 class, and d) the storage driver supports 6211 dynamic volume provisioning through a 6212 PersistentVolumeClaim (see EphemeralVolumeSource 6213 for more information on the connection 6214 between this volume type and PersistentVolumeClaim). 6215 \n Use PersistentVolumeClaim or one of the 6216 vendor-specific APIs for volumes that persist 6217 for longer than the lifecycle of an individual 6218 pod. \n Use CSI for light-weight local ephemeral 6219 volumes if the CSI driver is meant to be 6220 used that way - see the documentation of 6221 the driver for more information. \n A pod 6222 can use both types of ephemeral volumes 6223 and persistent volumes at the same time." 6224 properties: 6225 volumeClaimTemplate: 6226 description: "Will be used to create a 6227 stand-alone PVC to provision the volume. 6228 The pod in which this EphemeralVolumeSource 6229 is embedded will be the owner of the 6230 PVC, i.e. the PVC will be deleted together 6231 with the pod. The name of the PVC will 6232 be `<pod name>-<volume name>` where 6233 `<volume name>` is the name from the 6234 `PodSpec.Volumes` array entry. Pod validation 6235 will reject the pod if the concatenated 6236 name is not valid for a PVC (for example, 6237 too long). \n An existing PVC with that 6238 name that is not owned by the pod will 6239 *not* be used for the pod to avoid using 6240 an unrelated volume by mistake. Starting 6241 the pod is then blocked until the unrelated 6242 PVC is removed. If such a pre-created 6243 PVC is meant to be used by the pod, 6244 the PVC has to updated with an owner 6245 reference to the pod once the pod exists. 6246 Normally this should not be necessary, 6247 but it may be useful when manually reconstructing 6248 a broken cluster. \n This field is read-only 6249 and no changes will be made by Kubernetes 6250 to the PVC after it has been created. 6251 \n Required, must not be nil." 6252 properties: 6253 metadata: 6254 description: May contain labels and 6255 annotations that will be copied 6256 into the PVC when creating it. No 6257 other fields are allowed and will 6258 be rejected during validation. 6259 type: object 6260 spec: 6261 description: The specification for 6262 the PersistentVolumeClaim. The entire 6263 content is copied unchanged into 6264 the PVC that gets created from this 6265 template. The same fields as in 6266 a PersistentVolumeClaim are also 6267 valid here. 6268 properties: 6269 accessModes: 6270 description: 'accessModes contains 6271 the desired access modes the 6272 volume should have. More info: 6273 https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1' 6274 items: 6275 type: string 6276 type: array 6277 dataSource: 6278 description: 'dataSource field 6279 can be used to specify either: 6280 * An existing VolumeSnapshot 6281 object (snapshot.storage.k8s.io/VolumeSnapshot) 6282 * An existing PVC (PersistentVolumeClaim) 6283 If the provisioner or an external 6284 controller can support the specified 6285 data source, it will create 6286 a new volume based on the contents 6287 of the specified data source. 6288 If the AnyVolumeDataSource feature 6289 gate is enabled, this field 6290 will always have the same contents 6291 as the DataSourceRef field.' 6292 properties: 6293 apiGroup: 6294 description: APIGroup is the 6295 group for the resource being 6296 referenced. If APIGroup 6297 is not specified, the specified 6298 Kind must be in the core 6299 API group. For any other 6300 third-party types, APIGroup 6301 is required. 6302 type: string 6303 kind: 6304 description: Kind is the type 6305 of resource being referenced 6306 type: string 6307 name: 6308 description: Name is the name 6309 of resource being referenced 6310 type: string 6311 required: 6312 - kind 6313 - name 6314 type: object 6315 dataSourceRef: 6316 description: 'dataSourceRef specifies 6317 the object from which to populate 6318 the volume with data, if a non-empty 6319 volume is desired. This may 6320 be any local object from a non-empty 6321 API group (non core object) 6322 or a PersistentVolumeClaim object. 6323 When this field is specified, 6324 volume binding will only succeed 6325 if the type of the specified 6326 object matches some installed 6327 volume populator or dynamic 6328 provisioner. This field will 6329 replace the functionality of 6330 the DataSource field and as 6331 such if both fields are non-empty, 6332 they must have the same value. 6333 For backwards compatibility, 6334 both fields (DataSource and 6335 DataSourceRef) will be set to 6336 the same value automatically 6337 if one of them is empty and 6338 the other is non-empty. There 6339 are two important differences 6340 between DataSource and DataSourceRef: 6341 * While DataSource only allows 6342 two specific types of objects, 6343 DataSourceRef allows any non-core 6344 object, as well as PersistentVolumeClaim 6345 objects. * While DataSource 6346 ignores disallowed values (dropping 6347 them), DataSourceRef preserves 6348 all values, and generates an 6349 error if a disallowed value 6350 is specified. (Beta) Using 6351 this field requires the AnyVolumeDataSource 6352 feature gate to be enabled.' 6353 properties: 6354 apiGroup: 6355 description: APIGroup is the 6356 group for the resource being 6357 referenced. If APIGroup 6358 is not specified, the specified 6359 Kind must be in the core 6360 API group. For any other 6361 third-party types, APIGroup 6362 is required. 6363 type: string 6364 kind: 6365 description: Kind is the type 6366 of resource being referenced 6367 type: string 6368 name: 6369 description: Name is the name 6370 of resource being referenced 6371 type: string 6372 required: 6373 - kind 6374 - name 6375 type: object 6376 resources: 6377 description: 'resources represents 6378 the minimum resources the volume 6379 should have. If RecoverVolumeExpansionFailure 6380 feature is enabled users are 6381 allowed to specify resource 6382 requirements that are lower 6383 than previous value but must 6384 still be higher than capacity 6385 recorded in the status field 6386 of the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources' 6387 properties: 6388 limits: 6389 additionalProperties: 6390 anyOf: 6391 - type: integer 6392 - type: string 6393 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 6394 x-kubernetes-int-or-string: true 6395 description: 'Limits describes 6396 the maximum amount of compute 6397 resources allowed. More 6398 info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' 6399 type: object 6400 requests: 6401 additionalProperties: 6402 anyOf: 6403 - type: integer 6404 - type: string 6405 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 6406 x-kubernetes-int-or-string: true 6407 description: 'Requests describes 6408 the minimum amount of compute 6409 resources required. If Requests 6410 is omitted for a container, 6411 it defaults to Limits if 6412 that is explicitly specified, 6413 otherwise to an implementation-defined 6414 value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' 6415 type: object 6416 type: object 6417 selector: 6418 description: selector is a label 6419 query over volumes to consider 6420 for binding. 6421 properties: 6422 matchExpressions: 6423 description: matchExpressions 6424 is a list of label selector 6425 requirements. The requirements 6426 are ANDed. 6427 items: 6428 description: A label selector 6429 requirement is a selector 6430 that contains values, 6431 a key, and an operator 6432 that relates the key and 6433 values. 6434 properties: 6435 key: 6436 description: key is 6437 the label key that 6438 the selector applies 6439 to. 6440 type: string 6441 operator: 6442 description: operator 6443 represents a key's 6444 relationship to a 6445 set of values. Valid 6446 operators are In, 6447 NotIn, Exists and 6448 DoesNotExist. 6449 type: string 6450 values: 6451 description: values 6452 is an array of string 6453 values. If the operator 6454 is In or NotIn, the 6455 values array must 6456 be non-empty. If the 6457 operator is Exists 6458 or DoesNotExist, the 6459 values array must 6460 be empty. This array 6461 is replaced during 6462 a strategic merge 6463 patch. 6464 items: 6465 type: string 6466 type: array 6467 required: 6468 - key 6469 - operator 6470 type: object 6471 type: array 6472 matchLabels: 6473 additionalProperties: 6474 type: string 6475 description: matchLabels is 6476 a map of {key,value} pairs. 6477 A single {key,value} in 6478 the matchLabels map is equivalent 6479 to an element of matchExpressions, 6480 whose key field is "key", 6481 the operator is "In", and 6482 the values array contains 6483 only "value". The requirements 6484 are ANDed. 6485 type: object 6486 type: object 6487 storageClassName: 6488 description: 'storageClassName 6489 is the name of the StorageClass 6490 required by the claim. More 6491 info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1' 6492 type: string 6493 volumeMode: 6494 description: volumeMode defines 6495 what type of volume is required 6496 by the claim. Value of Filesystem 6497 is implied when not included 6498 in claim spec. 6499 type: string 6500 volumeName: 6501 description: volumeName is the 6502 binding reference to the PersistentVolume 6503 backing this claim. 6504 type: string 6505 type: object 6506 required: 6507 - spec 6508 type: object 6509 type: object 6510 fc: 6511 description: fc represents a Fibre Channel 6512 resource that is attached to a kubelet's 6513 host machine and then exposed to the pod. 6514 properties: 6515 fsType: 6516 description: 'fsType is the filesystem 6517 type to mount. Must be a filesystem 6518 type supported by the host operating 6519 system. Ex. "ext4", "xfs", "ntfs". Implicitly 6520 inferred to be "ext4" if unspecified. 6521 TODO: how do we prevent errors in the 6522 filesystem from compromising the machine' 6523 type: string 6524 lun: 6525 description: 'lun is Optional: FC target 6526 lun number' 6527 format: int32 6528 type: integer 6529 readOnly: 6530 description: 'readOnly is Optional: Defaults 6531 to false (read/write). ReadOnly here 6532 will force the ReadOnly setting in VolumeMounts.' 6533 type: boolean 6534 targetWWNs: 6535 description: 'targetWWNs is Optional: 6536 FC target worldwide names (WWNs)' 6537 items: 6538 type: string 6539 type: array 6540 wwids: 6541 description: 'wwids Optional: FC volume 6542 world wide identifiers (wwids) Either 6543 wwids or combination of targetWWNs and 6544 lun must be set, but not both simultaneously.' 6545 items: 6546 type: string 6547 type: array 6548 type: object 6549 flexVolume: 6550 description: flexVolume represents a generic 6551 volume resource that is provisioned/attached 6552 using an exec based plugin. 6553 properties: 6554 driver: 6555 description: driver is the name of the 6556 driver to use for this volume. 6557 type: string 6558 fsType: 6559 description: fsType is the filesystem 6560 type to mount. Must be a filesystem 6561 type supported by the host operating 6562 system. Ex. "ext4", "xfs", "ntfs". The 6563 default filesystem depends on FlexVolume 6564 script. 6565 type: string 6566 options: 6567 additionalProperties: 6568 type: string 6569 description: 'options is Optional: this 6570 field holds extra command options if 6571 any.' 6572 type: object 6573 readOnly: 6574 description: 'readOnly is Optional: defaults 6575 to false (read/write). ReadOnly here 6576 will force the ReadOnly setting in VolumeMounts.' 6577 type: boolean 6578 secretRef: 6579 description: 'secretRef is Optional: secretRef 6580 is reference to the secret object containing 6581 sensitive information to pass to the 6582 plugin scripts. This may be empty if 6583 no secret object is specified. If the 6584 secret object contains more than one 6585 secret, all secrets are passed to the 6586 plugin scripts.' 6587 properties: 6588 name: 6589 description: 'Name of the referent. 6590 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 6591 TODO: Add other useful fields. apiVersion, 6592 kind, uid?' 6593 type: string 6594 type: object 6595 required: 6596 - driver 6597 type: object 6598 flocker: 6599 description: flocker represents a Flocker 6600 volume attached to a kubelet's host machine. 6601 This depends on the Flocker control service 6602 being running 6603 properties: 6604 datasetName: 6605 description: datasetName is Name of the 6606 dataset stored as metadata -> name on 6607 the dataset for Flocker should be considered 6608 as deprecated 6609 type: string 6610 datasetUUID: 6611 description: datasetUUID is the UUID of 6612 the dataset. This is unique identifier 6613 of a Flocker dataset 6614 type: string 6615 type: object 6616 gcePersistentDisk: 6617 description: 'gcePersistentDisk represents 6618 a GCE Disk resource that is attached to 6619 a kubelet''s host machine and then exposed 6620 to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk' 6621 properties: 6622 fsType: 6623 description: 'fsType is filesystem type 6624 of the volume that you want to mount. 6625 Tip: Ensure that the filesystem type 6626 is supported by the host operating system. 6627 Examples: "ext4", "xfs", "ntfs". Implicitly 6628 inferred to be "ext4" if unspecified. 6629 More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk 6630 TODO: how do we prevent errors in the 6631 filesystem from compromising the machine' 6632 type: string 6633 partition: 6634 description: 'partition is the partition 6635 in the volume that you want to mount. 6636 If omitted, the default is to mount 6637 by volume name. Examples: For volume 6638 /dev/sda1, you specify the partition 6639 as "1". Similarly, the volume partition 6640 for /dev/sda is "0" (or you can leave 6641 the property empty). More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk' 6642 format: int32 6643 type: integer 6644 pdName: 6645 description: 'pdName is unique name of 6646 the PD resource in GCE. Used to identify 6647 the disk in GCE. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk' 6648 type: string 6649 readOnly: 6650 description: 'readOnly here will force 6651 the ReadOnly setting in VolumeMounts. 6652 Defaults to false. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk' 6653 type: boolean 6654 required: 6655 - pdName 6656 type: object 6657 gitRepo: 6658 description: 'gitRepo represents a git repository 6659 at a particular revision. DEPRECATED: GitRepo 6660 is deprecated. To provision a container 6661 with a git repo, mount an EmptyDir into 6662 an InitContainer that clones the repo using 6663 git, then mount the EmptyDir into the Pod''s 6664 container.' 6665 properties: 6666 directory: 6667 description: directory is the target directory 6668 name. Must not contain or start with 6669 '..'. If '.' is supplied, the volume 6670 directory will be the git repository. Otherwise, 6671 if specified, the volume will contain 6672 the git repository in the subdirectory 6673 with the given name. 6674 type: string 6675 repository: 6676 description: repository is the URL 6677 type: string 6678 revision: 6679 description: revision is the commit hash 6680 for the specified revision. 6681 type: string 6682 required: 6683 - repository 6684 type: object 6685 glusterfs: 6686 description: 'glusterfs represents a Glusterfs 6687 mount on the host that shares a pod''s lifetime. 6688 More info: https://examples.k8s.io/volumes/glusterfs/README.md' 6689 properties: 6690 endpoints: 6691 description: 'endpoints is the endpoint 6692 name that details Glusterfs topology. 6693 More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod' 6694 type: string 6695 path: 6696 description: 'path is the Glusterfs volume 6697 path. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod' 6698 type: string 6699 readOnly: 6700 description: 'readOnly here will force 6701 the Glusterfs volume to be mounted with 6702 read-only permissions. Defaults to false. 6703 More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod' 6704 type: boolean 6705 required: 6706 - endpoints 6707 - path 6708 type: object 6709 hostPath: 6710 description: 'hostPath represents a pre-existing 6711 file or directory on the host machine that 6712 is directly exposed to the container. This 6713 is generally used for system agents or other 6714 privileged things that are allowed to see 6715 the host machine. Most containers will NOT 6716 need this. More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath 6717 --- TODO(jonesdl) We need to restrict who 6718 can use host directory mounts and who can/can 6719 not mount host directories as read/write.' 6720 properties: 6721 path: 6722 description: 'path of the directory on 6723 the host. If the path is a symlink, 6724 it will follow the link to the real 6725 path. More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath' 6726 type: string 6727 type: 6728 description: 'type for HostPath Volume 6729 Defaults to "" More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath' 6730 type: string 6731 required: 6732 - path 6733 type: object 6734 iscsi: 6735 description: 'iscsi represents an ISCSI Disk 6736 resource that is attached to a kubelet''s 6737 host machine and then exposed to the pod. 6738 More info: https://examples.k8s.io/volumes/iscsi/README.md' 6739 properties: 6740 chapAuthDiscovery: 6741 description: chapAuthDiscovery defines 6742 whether support iSCSI Discovery CHAP 6743 authentication 6744 type: boolean 6745 chapAuthSession: 6746 description: chapAuthSession defines whether 6747 support iSCSI Session CHAP authentication 6748 type: boolean 6749 fsType: 6750 description: 'fsType is the filesystem 6751 type of the volume that you want to 6752 mount. Tip: Ensure that the filesystem 6753 type is supported by the host operating 6754 system. Examples: "ext4", "xfs", "ntfs". 6755 Implicitly inferred to be "ext4" if 6756 unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#iscsi 6757 TODO: how do we prevent errors in the 6758 filesystem from compromising the machine' 6759 type: string 6760 initiatorName: 6761 description: initiatorName is the custom 6762 iSCSI Initiator Name. If initiatorName 6763 is specified with iscsiInterface simultaneously, 6764 new iSCSI interface <target portal>:<volume 6765 name> will be created for the connection. 6766 type: string 6767 iqn: 6768 description: iqn is the target iSCSI Qualified 6769 Name. 6770 type: string 6771 iscsiInterface: 6772 description: iscsiInterface is the interface 6773 Name that uses an iSCSI transport. Defaults 6774 to 'default' (tcp). 6775 type: string 6776 lun: 6777 description: lun represents iSCSI Target 6778 Lun number. 6779 format: int32 6780 type: integer 6781 portals: 6782 description: portals is the iSCSI Target 6783 Portal List. The portal is either an 6784 IP or ip_addr:port if the port is other 6785 than default (typically TCP ports 860 6786 and 3260). 6787 items: 6788 type: string 6789 type: array 6790 readOnly: 6791 description: readOnly here will force 6792 the ReadOnly setting in VolumeMounts. 6793 Defaults to false. 6794 type: boolean 6795 secretRef: 6796 description: secretRef is the CHAP Secret 6797 for iSCSI target and initiator authentication 6798 properties: 6799 name: 6800 description: 'Name of the referent. 6801 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 6802 TODO: Add other useful fields. apiVersion, 6803 kind, uid?' 6804 type: string 6805 type: object 6806 targetPortal: 6807 description: targetPortal is iSCSI Target 6808 Portal. The Portal is either an IP or 6809 ip_addr:port if the port is other than 6810 default (typically TCP ports 860 and 6811 3260). 6812 type: string 6813 required: 6814 - iqn 6815 - lun 6816 - targetPortal 6817 type: object 6818 name: 6819 description: 'name of the volume. Must be 6820 a DNS_LABEL and unique within the pod. More 6821 info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' 6822 type: string 6823 nfs: 6824 description: 'nfs represents an NFS mount 6825 on the host that shares a pod''s lifetime 6826 More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs' 6827 properties: 6828 path: 6829 description: 'path that is exported by 6830 the NFS server. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs' 6831 type: string 6832 readOnly: 6833 description: 'readOnly here will force 6834 the NFS export to be mounted with read-only 6835 permissions. Defaults to false. More 6836 info: https://kubernetes.io/docs/concepts/storage/volumes#nfs' 6837 type: boolean 6838 server: 6839 description: 'server is the hostname or 6840 IP address of the NFS server. More info: 6841 https://kubernetes.io/docs/concepts/storage/volumes#nfs' 6842 type: string 6843 required: 6844 - path 6845 - server 6846 type: object 6847 persistentVolumeClaim: 6848 description: 'persistentVolumeClaimVolumeSource 6849 represents a reference to a PersistentVolumeClaim 6850 in the same namespace. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims' 6851 properties: 6852 claimName: 6853 description: 'claimName is the name of 6854 a PersistentVolumeClaim in the same 6855 namespace as the pod using this volume. 6856 More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims' 6857 type: string 6858 readOnly: 6859 description: readOnly Will force the ReadOnly 6860 setting in VolumeMounts. Default false. 6861 type: boolean 6862 required: 6863 - claimName 6864 type: object 6865 photonPersistentDisk: 6866 description: photonPersistentDisk represents 6867 a PhotonController persistent disk attached 6868 and mounted on kubelets host machine 6869 properties: 6870 fsType: 6871 description: fsType is the filesystem 6872 type to mount. Must be a filesystem 6873 type supported by the host operating 6874 system. Ex. "ext4", "xfs", "ntfs". Implicitly 6875 inferred to be "ext4" if unspecified. 6876 type: string 6877 pdID: 6878 description: pdID is the ID that identifies 6879 Photon Controller persistent disk 6880 type: string 6881 required: 6882 - pdID 6883 type: object 6884 portworxVolume: 6885 description: portworxVolume represents a portworx 6886 volume attached and mounted on kubelets 6887 host machine 6888 properties: 6889 fsType: 6890 description: fSType represents the filesystem 6891 type to mount Must be a filesystem type 6892 supported by the host operating system. 6893 Ex. "ext4", "xfs". Implicitly inferred 6894 to be "ext4" if unspecified. 6895 type: string 6896 readOnly: 6897 description: readOnly defaults to false 6898 (read/write). ReadOnly here will force 6899 the ReadOnly setting in VolumeMounts. 6900 type: boolean 6901 volumeID: 6902 description: volumeID uniquely identifies 6903 a Portworx volume 6904 type: string 6905 required: 6906 - volumeID 6907 type: object 6908 projected: 6909 description: projected items for all in one 6910 resources secrets, configmaps, and downward 6911 API 6912 properties: 6913 defaultMode: 6914 description: defaultMode are the mode 6915 bits used to set permissions on created 6916 files by default. Must be an octal value 6917 between 0000 and 0777 or a decimal value 6918 between 0 and 511. YAML accepts both 6919 octal and decimal values, JSON requires 6920 decimal values for mode bits. Directories 6921 within the path are not affected by 6922 this setting. This might be in conflict 6923 with other options that affect the file 6924 mode, like fsGroup, and the result can 6925 be other mode bits set. 6926 format: int32 6927 type: integer 6928 sources: 6929 description: sources is the list of volume 6930 projections 6931 items: 6932 description: Projection that may be 6933 projected along with other supported 6934 volume types 6935 properties: 6936 configMap: 6937 description: configMap information 6938 about the configMap data to project 6939 properties: 6940 items: 6941 description: items if unspecified, 6942 each key-value pair in the 6943 Data field of the referenced 6944 ConfigMap will be projected 6945 into the volume as a file 6946 whose name is the key and 6947 content is the value. If specified, 6948 the listed keys will be projected 6949 into the specified paths, 6950 and unlisted keys will not 6951 be present. If a key is specified 6952 which is not present in the 6953 ConfigMap, the volume setup 6954 will error unless it is marked 6955 optional. Paths must be relative 6956 and may not contain the '..' 6957 path or start with '..'. 6958 items: 6959 description: Maps a string 6960 key to a path within a volume. 6961 properties: 6962 key: 6963 description: key is the 6964 key to project. 6965 type: string 6966 mode: 6967 description: 'mode is 6968 Optional: mode bits 6969 used to set permissions 6970 on this file. Must be 6971 an octal value between 6972 0000 and 0777 or a decimal 6973 value between 0 and 6974 511. YAML accepts both 6975 octal and decimal values, 6976 JSON requires decimal 6977 values for mode bits. 6978 If not specified, the 6979 volume defaultMode will 6980 be used. This might 6981 be in conflict with 6982 other options that affect 6983 the file mode, like 6984 fsGroup, and the result 6985 can be other mode bits 6986 set.' 6987 format: int32 6988 type: integer 6989 path: 6990 description: path is the 6991 relative path of the 6992 file to map the key 6993 to. May not be an absolute 6994 path. May not contain 6995 the path element '..'. 6996 May not start with the 6997 string '..'. 6998 type: string 6999 required: 7000 - key 7001 - path 7002 type: object 7003 type: array 7004 name: 7005 description: 'Name of the referent. 7006 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 7007 TODO: Add other useful fields. 7008 apiVersion, kind, uid?' 7009 type: string 7010 optional: 7011 description: optional specify 7012 whether the ConfigMap or its 7013 keys must be defined 7014 type: boolean 7015 type: object 7016 downwardAPI: 7017 description: downwardAPI information 7018 about the downwardAPI data to 7019 project 7020 properties: 7021 items: 7022 description: Items is a list 7023 of DownwardAPIVolume file 7024 items: 7025 description: DownwardAPIVolumeFile 7026 represents information to 7027 create the file containing 7028 the pod field 7029 properties: 7030 fieldRef: 7031 description: 'Required: 7032 Selects a field of the 7033 pod: only annotations, 7034 labels, name and namespace 7035 are supported.' 7036 properties: 7037 apiVersion: 7038 description: Version 7039 of the schema the 7040 FieldPath is written 7041 in terms of, defaults 7042 to "v1". 7043 type: string 7044 fieldPath: 7045 description: Path 7046 of the field to 7047 select in the specified 7048 API version. 7049 type: string 7050 required: 7051 - fieldPath 7052 type: object 7053 mode: 7054 description: 'Optional: 7055 mode bits used to set 7056 permissions on this 7057 file, must be an octal 7058 value between 0000 and 7059 0777 or a decimal value 7060 between 0 and 511. YAML 7061 accepts both octal and 7062 decimal values, JSON 7063 requires decimal values 7064 for mode bits. If not 7065 specified, the volume 7066 defaultMode will be 7067 used. This might be 7068 in conflict with other 7069 options that affect 7070 the file mode, like 7071 fsGroup, and the result 7072 can be other mode bits 7073 set.' 7074 format: int32 7075 type: integer 7076 path: 7077 description: 'Required: 7078 Path is the relative 7079 path name of the file 7080 to be created. Must 7081 not be absolute or contain 7082 the ''..'' path. Must 7083 be utf-8 encoded. The 7084 first item of the relative 7085 path must not start 7086 with ''..''' 7087 type: string 7088 resourceFieldRef: 7089 description: 'Selects 7090 a resource of the container: 7091 only resources limits 7092 and requests (limits.cpu, 7093 limits.memory, requests.cpu 7094 and requests.memory) 7095 are currently supported.' 7096 properties: 7097 containerName: 7098 description: 'Container 7099 name: required for 7100 volumes, optional 7101 for env vars' 7102 type: string 7103 divisor: 7104 anyOf: 7105 - type: integer 7106 - type: string 7107 description: Specifies 7108 the output format 7109 of the exposed resources, 7110 defaults to "1" 7111 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 7112 x-kubernetes-int-or-string: true 7113 resource: 7114 description: 'Required: 7115 resource to select' 7116 type: string 7117 required: 7118 - resource 7119 type: object 7120 required: 7121 - path 7122 type: object 7123 type: array 7124 type: object 7125 secret: 7126 description: secret information 7127 about the secret data to project 7128 properties: 7129 items: 7130 description: items if unspecified, 7131 each key-value pair in the 7132 Data field of the referenced 7133 Secret will be projected into 7134 the volume as a file whose 7135 name is the key and content 7136 is the value. If specified, 7137 the listed keys will be projected 7138 into the specified paths, 7139 and unlisted keys will not 7140 be present. If a key is specified 7141 which is not present in the 7142 Secret, the volume setup will 7143 error unless it is marked 7144 optional. Paths must be relative 7145 and may not contain the '..' 7146 path or start with '..'. 7147 items: 7148 description: Maps a string 7149 key to a path within a volume. 7150 properties: 7151 key: 7152 description: key is the 7153 key to project. 7154 type: string 7155 mode: 7156 description: 'mode is 7157 Optional: mode bits 7158 used to set permissions 7159 on this file. Must be 7160 an octal value between 7161 0000 and 0777 or a decimal 7162 value between 0 and 7163 511. YAML accepts both 7164 octal and decimal values, 7165 JSON requires decimal 7166 values for mode bits. 7167 If not specified, the 7168 volume defaultMode will 7169 be used. This might 7170 be in conflict with 7171 other options that affect 7172 the file mode, like 7173 fsGroup, and the result 7174 can be other mode bits 7175 set.' 7176 format: int32 7177 type: integer 7178 path: 7179 description: path is the 7180 relative path of the 7181 file to map the key 7182 to. May not be an absolute 7183 path. May not contain 7184 the path element '..'. 7185 May not start with the 7186 string '..'. 7187 type: string 7188 required: 7189 - key 7190 - path 7191 type: object 7192 type: array 7193 name: 7194 description: 'Name of the referent. 7195 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 7196 TODO: Add other useful fields. 7197 apiVersion, kind, uid?' 7198 type: string 7199 optional: 7200 description: optional field 7201 specify whether the Secret 7202 or its key must be defined 7203 type: boolean 7204 type: object 7205 serviceAccountToken: 7206 description: serviceAccountToken 7207 is information about the serviceAccountToken 7208 data to project 7209 properties: 7210 audience: 7211 description: audience is the 7212 intended audience of the token. 7213 A recipient of a token must 7214 identify itself with an identifier 7215 specified in the audience 7216 of the token, and otherwise 7217 should reject the token. The 7218 audience defaults to the identifier 7219 of the apiserver. 7220 type: string 7221 expirationSeconds: 7222 description: expirationSeconds 7223 is the requested duration 7224 of validity of the service 7225 account token. As the token 7226 approaches expiration, the 7227 kubelet volume plugin will 7228 proactively rotate the service 7229 account token. The kubelet 7230 will start trying to rotate 7231 the token if the token is 7232 older than 80 percent of its 7233 time to live or if the token 7234 is older than 24 hours.Defaults 7235 to 1 hour and must be at least 7236 10 minutes. 7237 format: int64 7238 type: integer 7239 path: 7240 description: path is the path 7241 relative to the mount point 7242 of the file to project the 7243 token into. 7244 type: string 7245 required: 7246 - path 7247 type: object 7248 type: object 7249 type: array 7250 type: object 7251 quobyte: 7252 description: quobyte represents a Quobyte 7253 mount on the host that shares a pod's lifetime 7254 properties: 7255 group: 7256 description: group to map volume access 7257 to Default is no group 7258 type: string 7259 readOnly: 7260 description: readOnly here will force 7261 the Quobyte volume to be mounted with 7262 read-only permissions. Defaults to false. 7263 type: boolean 7264 registry: 7265 description: registry represents a single 7266 or multiple Quobyte Registry services 7267 specified as a string as host:port pair 7268 (multiple entries are separated with 7269 commas) which acts as the central registry 7270 for volumes 7271 type: string 7272 tenant: 7273 description: tenant owning the given Quobyte 7274 volume in the Backend Used with dynamically 7275 provisioned Quobyte volumes, value is 7276 set by the plugin 7277 type: string 7278 user: 7279 description: user to map volume access 7280 to Defaults to serivceaccount user 7281 type: string 7282 volume: 7283 description: volume is a string that references 7284 an already created Quobyte volume by 7285 name. 7286 type: string 7287 required: 7288 - registry 7289 - volume 7290 type: object 7291 rbd: 7292 description: 'rbd represents a Rados Block 7293 Device mount on the host that shares a pod''s 7294 lifetime. More info: https://examples.k8s.io/volumes/rbd/README.md' 7295 properties: 7296 fsType: 7297 description: 'fsType is the filesystem 7298 type of the volume that you want to 7299 mount. Tip: Ensure that the filesystem 7300 type is supported by the host operating 7301 system. Examples: "ext4", "xfs", "ntfs". 7302 Implicitly inferred to be "ext4" if 7303 unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#rbd 7304 TODO: how do we prevent errors in the 7305 filesystem from compromising the machine' 7306 type: string 7307 image: 7308 description: 'image is the rados image 7309 name. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it' 7310 type: string 7311 keyring: 7312 description: 'keyring is the path to key 7313 ring for RBDUser. Default is /etc/ceph/keyring. 7314 More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it' 7315 type: string 7316 monitors: 7317 description: 'monitors is a collection 7318 of Ceph monitors. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it' 7319 items: 7320 type: string 7321 type: array 7322 pool: 7323 description: 'pool is the rados pool name. 7324 Default is rbd. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it' 7325 type: string 7326 readOnly: 7327 description: 'readOnly here will force 7328 the ReadOnly setting in VolumeMounts. 7329 Defaults to false. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it' 7330 type: boolean 7331 secretRef: 7332 description: 'secretRef is name of the 7333 authentication secret for RBDUser. If 7334 provided overrides keyring. Default 7335 is nil. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it' 7336 properties: 7337 name: 7338 description: 'Name of the referent. 7339 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 7340 TODO: Add other useful fields. apiVersion, 7341 kind, uid?' 7342 type: string 7343 type: object 7344 user: 7345 description: 'user is the rados user name. 7346 Default is admin. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it' 7347 type: string 7348 required: 7349 - image 7350 - monitors 7351 type: object 7352 scaleIO: 7353 description: scaleIO represents a ScaleIO 7354 persistent volume attached and mounted on 7355 Kubernetes nodes. 7356 properties: 7357 fsType: 7358 description: fsType is the filesystem 7359 type to mount. Must be a filesystem 7360 type supported by the host operating 7361 system. Ex. "ext4", "xfs", "ntfs". Default 7362 is "xfs". 7363 type: string 7364 gateway: 7365 description: gateway is the host address 7366 of the ScaleIO API Gateway. 7367 type: string 7368 protectionDomain: 7369 description: protectionDomain is the name 7370 of the ScaleIO Protection Domain for 7371 the configured storage. 7372 type: string 7373 readOnly: 7374 description: readOnly Defaults to false 7375 (read/write). ReadOnly here will force 7376 the ReadOnly setting in VolumeMounts. 7377 type: boolean 7378 secretRef: 7379 description: secretRef references to the 7380 secret for ScaleIO user and other sensitive 7381 information. If this is not provided, 7382 Login operation will fail. 7383 properties: 7384 name: 7385 description: 'Name of the referent. 7386 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 7387 TODO: Add other useful fields. apiVersion, 7388 kind, uid?' 7389 type: string 7390 type: object 7391 sslEnabled: 7392 description: sslEnabled Flag enable/disable 7393 SSL communication with Gateway, default 7394 false 7395 type: boolean 7396 storageMode: 7397 description: storageMode indicates whether 7398 the storage for a volume should be ThickProvisioned 7399 or ThinProvisioned. Default is ThinProvisioned. 7400 type: string 7401 storagePool: 7402 description: storagePool is the ScaleIO 7403 Storage Pool associated with the protection 7404 domain. 7405 type: string 7406 system: 7407 description: system is the name of the 7408 storage system as configured in ScaleIO. 7409 type: string 7410 volumeName: 7411 description: volumeName is the name of 7412 a volume already created in the ScaleIO 7413 system that is associated with this 7414 volume source. 7415 type: string 7416 required: 7417 - gateway 7418 - secretRef 7419 - system 7420 type: object 7421 secret: 7422 description: 'secret represents a secret that 7423 should populate this volume. More info: 7424 https://kubernetes.io/docs/concepts/storage/volumes#secret' 7425 properties: 7426 defaultMode: 7427 description: 'defaultMode is Optional: 7428 mode bits used to set permissions on 7429 created files by default. Must be an 7430 octal value between 0000 and 0777 or 7431 a decimal value between 0 and 511. YAML 7432 accepts both octal and decimal values, 7433 JSON requires decimal values for mode 7434 bits. Defaults to 0644. Directories 7435 within the path are not affected by 7436 this setting. This might be in conflict 7437 with other options that affect the file 7438 mode, like fsGroup, and the result can 7439 be other mode bits set.' 7440 format: int32 7441 type: integer 7442 items: 7443 description: items If unspecified, each 7444 key-value pair in the Data field of 7445 the referenced Secret will be projected 7446 into the volume as a file whose name 7447 is the key and content is the value. 7448 If specified, the listed keys will be 7449 projected into the specified paths, 7450 and unlisted keys will not be present. 7451 If a key is specified which is not present 7452 in the Secret, the volume setup will 7453 error unless it is marked optional. 7454 Paths must be relative and may not contain 7455 the '..' path or start with '..'. 7456 items: 7457 description: Maps a string key to a 7458 path within a volume. 7459 properties: 7460 key: 7461 description: key is the key to project. 7462 type: string 7463 mode: 7464 description: 'mode is Optional: 7465 mode bits used to set permissions 7466 on this file. Must be an octal 7467 value between 0000 and 0777 or 7468 a decimal value between 0 and 7469 511. YAML accepts both octal and 7470 decimal values, JSON requires 7471 decimal values for mode bits. 7472 If not specified, the volume defaultMode 7473 will be used. This might be in 7474 conflict with other options that 7475 affect the file mode, like fsGroup, 7476 and the result can be other mode 7477 bits set.' 7478 format: int32 7479 type: integer 7480 path: 7481 description: path is the relative 7482 path of the file to map the key 7483 to. May not be an absolute path. 7484 May not contain the path element 7485 '..'. May not start with the string 7486 '..'. 7487 type: string 7488 required: 7489 - key 7490 - path 7491 type: object 7492 type: array 7493 optional: 7494 description: optional field specify whether 7495 the Secret or its keys must be defined 7496 type: boolean 7497 secretName: 7498 description: 'secretName is the name of 7499 the secret in the pod''s namespace to 7500 use. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret' 7501 type: string 7502 type: object 7503 storageos: 7504 description: storageOS represents a StorageOS 7505 volume attached and mounted on Kubernetes 7506 nodes. 7507 properties: 7508 fsType: 7509 description: fsType is the filesystem 7510 type to mount. Must be a filesystem 7511 type supported by the host operating 7512 system. Ex. "ext4", "xfs", "ntfs". Implicitly 7513 inferred to be "ext4" if unspecified. 7514 type: string 7515 readOnly: 7516 description: readOnly defaults to false 7517 (read/write). ReadOnly here will force 7518 the ReadOnly setting in VolumeMounts. 7519 type: boolean 7520 secretRef: 7521 description: secretRef specifies the secret 7522 to use for obtaining the StorageOS API 7523 credentials. If not specified, default 7524 values will be attempted. 7525 properties: 7526 name: 7527 description: 'Name of the referent. 7528 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 7529 TODO: Add other useful fields. apiVersion, 7530 kind, uid?' 7531 type: string 7532 type: object 7533 volumeName: 7534 description: volumeName is the human-readable 7535 name of the StorageOS volume. Volume 7536 names are only unique within a namespace. 7537 type: string 7538 volumeNamespace: 7539 description: volumeNamespace specifies 7540 the scope of the volume within StorageOS. If 7541 no namespace is specified then the Pod's 7542 namespace will be used. This allows 7543 the Kubernetes name scoping to be mirrored 7544 within StorageOS for tighter integration. 7545 Set VolumeName to any name to override 7546 the default behaviour. Set to "default" 7547 if you are not using namespaces within 7548 StorageOS. Namespaces that do not pre-exist 7549 within StorageOS will be created. 7550 type: string 7551 type: object 7552 vsphereVolume: 7553 description: vsphereVolume represents a vSphere 7554 volume attached and mounted on kubelets 7555 host machine 7556 properties: 7557 fsType: 7558 description: fsType is filesystem type 7559 to mount. Must be a filesystem type 7560 supported by the host operating system. 7561 Ex. "ext4", "xfs", "ntfs". Implicitly 7562 inferred to be "ext4" if unspecified. 7563 type: string 7564 storagePolicyID: 7565 description: storagePolicyID is the storage 7566 Policy Based Management (SPBM) profile 7567 ID associated with the StoragePolicyName. 7568 type: string 7569 storagePolicyName: 7570 description: storagePolicyName is the 7571 storage Policy Based Management (SPBM) 7572 profile name. 7573 type: string 7574 volumePath: 7575 description: volumePath is the path that 7576 identifies vSphere volume vmdk 7577 type: string 7578 required: 7579 - volumePath 7580 type: object 7581 required: 7582 - name 7583 type: object 7584 type: array 7585 x-kubernetes-list-type: atomic 7586 workspaces: 7587 description: Workspaces are the volumes that this 7588 Task requires. 7589 items: 7590 description: WorkspaceDeclaration is a declaration 7591 of a volume that a Task requires. 7592 properties: 7593 description: 7594 description: Description is an optional human 7595 readable description of this volume. 7596 type: string 7597 mountPath: 7598 description: MountPath overrides the directory 7599 that the volume will be made available at. 7600 type: string 7601 name: 7602 description: Name is the name by which you 7603 can bind the volume at runtime. 7604 type: string 7605 optional: 7606 description: Optional marks a Workspace as 7607 not being required in TaskRuns. By default 7608 this field is false and so declared workspaces 7609 are required. 7610 type: boolean 7611 readOnly: 7612 description: ReadOnly dictates whether a mounted 7613 volume is writable. By default this field 7614 is false and so mounted volumes are writable. 7615 type: boolean 7616 required: 7617 - name 7618 type: object 7619 type: array 7620 x-kubernetes-list-type: atomic 7621 type: object 7622 timeout: 7623 description: 'Time after which the TaskRun times out. 7624 Defaults to 1 hour. Specified TaskRun timeout should 7625 be less than 24h. Refer Go''s ParseDuration documentation 7626 for expected format: https://golang.org/pkg/time/#ParseDuration' 7627 type: string 7628 when: 7629 description: WhenExpressions is a list of when expressions 7630 that need to be true for the task to run 7631 items: 7632 description: WhenExpression allows a PipelineTask 7633 to declare expressions to be evaluated before the 7634 Task is run to determine whether the Task should 7635 be executed or skipped 7636 properties: 7637 input: 7638 description: Input is the string for guard checking 7639 which can be a static input or an output from 7640 a parent Task 7641 type: string 7642 operator: 7643 description: Operator that represents an Input's 7644 relationship to the values 7645 type: string 7646 values: 7647 description: Values is an array of strings, which 7648 is compared against the input, for guard checking 7649 It must be non-empty 7650 items: 7651 type: string 7652 type: array 7653 x-kubernetes-list-type: atomic 7654 required: 7655 - input 7656 - operator 7657 - values 7658 type: object 7659 type: array 7660 workspaces: 7661 description: Workspaces maps workspaces from the pipeline 7662 spec to the workspaces declared in the Task. 7663 items: 7664 description: WorkspacePipelineTaskBinding describes 7665 how a workspace passed into the pipeline should 7666 be mapped to a task's declared workspace. 7667 properties: 7668 name: 7669 description: Name is the name of the workspace 7670 as declared by the task 7671 type: string 7672 subPath: 7673 description: SubPath is optionally a directory 7674 on the volume which should be used for this 7675 binding (i.e. the volume will be mounted at 7676 this sub directory). 7677 type: string 7678 workspace: 7679 description: Workspace is the name of the workspace 7680 declared by the pipeline 7681 type: string 7682 required: 7683 - name 7684 type: object 7685 type: array 7686 x-kubernetes-list-type: atomic 7687 type: object 7688 type: array 7689 x-kubernetes-list-type: atomic 7690 params: 7691 description: Params declares a list of input parameters that 7692 must be supplied when this Pipeline is run. 7693 items: 7694 description: ParamSpec defines arbitrary parameters needed 7695 beyond typed inputs (such as resources). Parameter values 7696 are provided by users as inputs on a TaskRun or PipelineRun. 7697 properties: 7698 default: 7699 description: Default is the value a parameter takes 7700 if no input value is supplied. If default is set, 7701 a Task may be executed without a supplied value for 7702 the parameter. 7703 properties: 7704 arrayVal: 7705 items: 7706 type: string 7707 type: array 7708 x-kubernetes-list-type: atomic 7709 objectVal: 7710 additionalProperties: 7711 type: string 7712 type: object 7713 stringVal: 7714 type: string 7715 type: 7716 description: ParamType indicates the type of an 7717 input parameter; Used to distinguish between a 7718 single string and an array of strings. 7719 type: string 7720 required: 7721 - arrayVal 7722 - objectVal 7723 - stringVal 7724 - type 7725 type: object 7726 description: 7727 description: Description is a user-facing description 7728 of the parameter that may be used to populate a UI. 7729 type: string 7730 name: 7731 description: Name declares the name by which a parameter 7732 is referenced. 7733 type: string 7734 properties: 7735 additionalProperties: 7736 description: PropertySpec defines the struct for object 7737 keys 7738 properties: 7739 type: 7740 description: ParamType indicates the type of an 7741 input parameter; Used to distinguish between 7742 a single string and an array of strings. 7743 type: string 7744 type: object 7745 description: Properties is the JSON Schema properties 7746 to support key-value pairs parameter. 7747 type: object 7748 type: 7749 description: Type is the user-specified type of the 7750 parameter. The possible types are currently "string", 7751 "array" and "object", and "string" is the default. 7752 type: string 7753 required: 7754 - name 7755 type: object 7756 type: array 7757 x-kubernetes-list-type: atomic 7758 resources: 7759 description: Resources declares the names and types of the 7760 resources given to the Pipeline's tasks as inputs and outputs. 7761 items: 7762 description: PipelineDeclaredResource is used by a Pipeline 7763 to declare the types of the PipelineResources that it 7764 will required to run and names which can be used to refer 7765 to these PipelineResources in PipelineTaskResourceBindings. 7766 properties: 7767 name: 7768 description: Name is the name that will be used by the 7769 Pipeline to refer to this resource. It does not directly 7770 correspond to the name of any PipelineResources Task 7771 inputs or outputs, and it does not correspond to the 7772 actual names of the PipelineResources that will be 7773 bound in the PipelineRun. 7774 type: string 7775 optional: 7776 description: 'Optional declares the resource as optional. 7777 optional: true - the resource is considered optional 7778 optional: false - the resource is considered required 7779 (default/equivalent of not specifying it)' 7780 type: boolean 7781 type: 7782 description: Type is the type of the PipelineResource. 7783 type: string 7784 required: 7785 - name 7786 - type 7787 type: object 7788 type: array 7789 x-kubernetes-list-type: atomic 7790 results: 7791 description: Results are values that this pipeline can output 7792 once run 7793 items: 7794 description: PipelineResult used to describe the results 7795 of a pipeline 7796 properties: 7797 description: 7798 description: Description is a human-readable description 7799 of the result 7800 type: string 7801 name: 7802 description: Name the given name 7803 type: string 7804 type: 7805 description: Type is the user-specified type of the 7806 result. The possible types are 'string', 'array', 7807 and 'object', with 'string' as the default. 'array' 7808 and 'object' types are alpha features. 7809 type: string 7810 value: 7811 description: Value the expression used to retrieve the 7812 value 7813 properties: 7814 arrayVal: 7815 items: 7816 type: string 7817 type: array 7818 x-kubernetes-list-type: atomic 7819 objectVal: 7820 additionalProperties: 7821 type: string 7822 type: object 7823 stringVal: 7824 type: string 7825 type: 7826 description: ParamType indicates the type of an 7827 input parameter; Used to distinguish between a 7828 single string and an array of strings. 7829 type: string 7830 required: 7831 - arrayVal 7832 - objectVal 7833 - stringVal 7834 - type 7835 type: object 7836 required: 7837 - name 7838 - value 7839 type: object 7840 type: array 7841 x-kubernetes-list-type: atomic 7842 tasks: 7843 description: Tasks declares the graph of Tasks that execute 7844 when this Pipeline is run. 7845 items: 7846 description: PipelineTask defines a task in a Pipeline, 7847 passing inputs from both Params and from the output of 7848 previous tasks. 7849 properties: 7850 matrix: 7851 description: Matrix declares parameters used to fan 7852 out this task. 7853 properties: 7854 params: 7855 description: Params is a list of parameters used 7856 to fan out the pipelineTask Params takes only 7857 `Parameters` of type `"array"` Each array element 7858 is supplied to the `PipelineTask` by substituting 7859 `params` of type `"string"` in the underlying 7860 `Task`. The names of the `params` in the `Matrix` 7861 must match the names of the `params` in the underlying 7862 `Task` that they will be substituting. 7863 items: 7864 description: Param declares an ParamValues to 7865 use for the parameter called name. 7866 properties: 7867 name: 7868 type: string 7869 value: 7870 description: ParamValue is a type that can 7871 hold a single string or string array. Used 7872 in JSON unmarshalling so that a single JSON 7873 field can accept either an individual string 7874 or an array of strings. 7875 properties: 7876 arrayVal: 7877 items: 7878 type: string 7879 type: array 7880 x-kubernetes-list-type: atomic 7881 objectVal: 7882 additionalProperties: 7883 type: string 7884 type: object 7885 stringVal: 7886 type: string 7887 type: 7888 description: ParamType indicates the type 7889 of an input parameter; Used to distinguish 7890 between a single string and an array 7891 of strings. 7892 type: string 7893 required: 7894 - arrayVal 7895 - objectVal 7896 - stringVal 7897 - type 7898 type: object 7899 required: 7900 - name 7901 - value 7902 type: object 7903 type: array 7904 x-kubernetes-list-type: atomic 7905 type: object 7906 name: 7907 description: Name is the name of this task within the 7908 context of a Pipeline. Name is used as a coordinate 7909 with the `from` and `runAfter` fields to establish 7910 the execution order of tasks relative to one another. 7911 type: string 7912 params: 7913 description: Parameters declares parameters passed to 7914 this task. 7915 items: 7916 description: Param declares an ParamValues to use 7917 for the parameter called name. 7918 properties: 7919 name: 7920 type: string 7921 value: 7922 description: ParamValue is a type that can hold 7923 a single string or string array. Used in JSON 7924 unmarshalling so that a single JSON field can 7925 accept either an individual string or an array 7926 of strings. 7927 properties: 7928 arrayVal: 7929 items: 7930 type: string 7931 type: array 7932 x-kubernetes-list-type: atomic 7933 objectVal: 7934 additionalProperties: 7935 type: string 7936 type: object 7937 stringVal: 7938 type: string 7939 type: 7940 description: ParamType indicates the type 7941 of an input parameter; Used to distinguish 7942 between a single string and an array of 7943 strings. 7944 type: string 7945 required: 7946 - arrayVal 7947 - objectVal 7948 - stringVal 7949 - type 7950 type: object 7951 required: 7952 - name 7953 - value 7954 type: object 7955 type: array 7956 x-kubernetes-list-type: atomic 7957 resources: 7958 description: Resources declares the resources given 7959 to this task as inputs and outputs. 7960 properties: 7961 inputs: 7962 description: Inputs holds the mapping from the PipelineResources 7963 declared in DeclaredPipelineResources to the input 7964 PipelineResources required by the Task. 7965 items: 7966 description: PipelineTaskInputResource maps the 7967 name of a declared PipelineResource input dependency 7968 in a Task to the resource in the Pipeline's 7969 DeclaredPipelineResources that should be used. 7970 This input may come from a previous task. 7971 properties: 7972 from: 7973 description: From is the list of PipelineTask 7974 names that the resource has to come from. 7975 (Implies an ordering in the execution graph.) 7976 items: 7977 type: string 7978 type: array 7979 x-kubernetes-list-type: atomic 7980 name: 7981 description: Name is the name of the PipelineResource 7982 as declared by the Task. 7983 type: string 7984 resource: 7985 description: Resource is the name of the DeclaredPipelineResource 7986 to use. 7987 type: string 7988 required: 7989 - name 7990 - resource 7991 type: object 7992 type: array 7993 x-kubernetes-list-type: atomic 7994 outputs: 7995 description: Outputs holds the mapping from the 7996 PipelineResources declared in DeclaredPipelineResources 7997 to the input PipelineResources required by the 7998 Task. 7999 items: 8000 description: PipelineTaskOutputResource maps the 8001 name of a declared PipelineResource output dependency 8002 in a Task to the resource in the Pipeline's 8003 DeclaredPipelineResources that should be used. 8004 properties: 8005 name: 8006 description: Name is the name of the PipelineResource 8007 as declared by the Task. 8008 type: string 8009 resource: 8010 description: Resource is the name of the DeclaredPipelineResource 8011 to use. 8012 type: string 8013 required: 8014 - name 8015 - resource 8016 type: object 8017 type: array 8018 x-kubernetes-list-type: atomic 8019 type: object 8020 retries: 8021 description: 'Retries represents how many times this 8022 task should be retried in case of task failure: ConditionSucceeded 8023 set to False' 8024 type: integer 8025 runAfter: 8026 description: RunAfter is the list of PipelineTask names 8027 that should be executed before this Task executes. 8028 (Used to force a specific ordering in graph execution.) 8029 items: 8030 type: string 8031 type: array 8032 x-kubernetes-list-type: atomic 8033 taskRef: 8034 description: TaskRef is a reference to a task definition. 8035 properties: 8036 apiVersion: 8037 description: API version of the referent 8038 type: string 8039 bundle: 8040 description: 'Bundle url reference to a Tekton Bundle. 8041 Deprecated: Please use ResolverRef with the bundles 8042 resolver instead.' 8043 type: string 8044 kind: 8045 description: TaskKind indicates the kind of the 8046 task, namespaced or cluster scoped. 8047 type: string 8048 name: 8049 description: 'Name of the referent; More info: http://kubernetes.io/docs/user-guide/identifiers#names' 8050 type: string 8051 params: 8052 description: Params contains the parameters used 8053 to identify the referenced Tekton resource. Example 8054 entries might include "repo" or "path" but the 8055 set of params ultimately depends on the chosen 8056 resolver. 8057 items: 8058 description: Param declares an ParamValues to 8059 use for the parameter called name. 8060 properties: 8061 name: 8062 type: string 8063 value: 8064 description: ParamValue is a type that can 8065 hold a single string or string array. Used 8066 in JSON unmarshalling so that a single JSON 8067 field can accept either an individual string 8068 or an array of strings. 8069 properties: 8070 arrayVal: 8071 items: 8072 type: string 8073 type: array 8074 x-kubernetes-list-type: atomic 8075 objectVal: 8076 additionalProperties: 8077 type: string 8078 type: object 8079 stringVal: 8080 type: string 8081 type: 8082 description: ParamType indicates the type 8083 of an input parameter; Used to distinguish 8084 between a single string and an array 8085 of strings. 8086 type: string 8087 required: 8088 - arrayVal 8089 - objectVal 8090 - stringVal 8091 - type 8092 type: object 8093 required: 8094 - name 8095 - value 8096 type: object 8097 type: array 8098 x-kubernetes-list-type: atomic 8099 resolver: 8100 description: Resolver is the name of the resolver 8101 that should perform resolution of the referenced 8102 Tekton resource, such as "git". 8103 type: string 8104 type: object 8105 taskSpec: 8106 description: TaskSpec is a specification of a task 8107 properties: 8108 apiVersion: 8109 type: string 8110 description: 8111 description: Description is a user-facing description 8112 of the task that may be used to populate a UI. 8113 type: string 8114 kind: 8115 type: string 8116 metadata: 8117 description: PipelineTaskMetadata contains the labels 8118 or annotations for an EmbeddedTask 8119 properties: 8120 annotations: 8121 additionalProperties: 8122 type: string 8123 type: object 8124 labels: 8125 additionalProperties: 8126 type: string 8127 type: object 8128 type: object 8129 params: 8130 description: Params is a list of input parameters 8131 required to run the task. Params must be supplied 8132 as inputs in TaskRuns unless they declare a default 8133 value. 8134 items: 8135 description: ParamSpec defines arbitrary parameters 8136 needed beyond typed inputs (such as resources). 8137 Parameter values are provided by users as inputs 8138 on a TaskRun or PipelineRun. 8139 properties: 8140 default: 8141 description: Default is the value a parameter 8142 takes if no input value is supplied. If 8143 default is set, a Task may be executed without 8144 a supplied value for the parameter. 8145 properties: 8146 arrayVal: 8147 items: 8148 type: string 8149 type: array 8150 x-kubernetes-list-type: atomic 8151 objectVal: 8152 additionalProperties: 8153 type: string 8154 type: object 8155 stringVal: 8156 type: string 8157 type: 8158 description: ParamType indicates the type 8159 of an input parameter; Used to distinguish 8160 between a single string and an array 8161 of strings. 8162 type: string 8163 required: 8164 - arrayVal 8165 - objectVal 8166 - stringVal 8167 - type 8168 type: object 8169 description: 8170 description: Description is a user-facing 8171 description of the parameter that may be 8172 used to populate a UI. 8173 type: string 8174 name: 8175 description: Name declares the name by which 8176 a parameter is referenced. 8177 type: string 8178 properties: 8179 additionalProperties: 8180 description: PropertySpec defines the struct 8181 for object keys 8182 properties: 8183 type: 8184 description: ParamType indicates the 8185 type of an input parameter; Used to 8186 distinguish between a single string 8187 and an array of strings. 8188 type: string 8189 type: object 8190 description: Properties is the JSON Schema 8191 properties to support key-value pairs parameter. 8192 type: object 8193 type: 8194 description: Type is the user-specified type 8195 of the parameter. The possible types are 8196 currently "string", "array" and "object", 8197 and "string" is the default. 8198 type: string 8199 required: 8200 - name 8201 type: object 8202 type: array 8203 x-kubernetes-list-type: atomic 8204 resources: 8205 description: Resources is a list input and output 8206 resource to run the task Resources are represented 8207 in TaskRuns as bindings to instances of PipelineResources. 8208 properties: 8209 inputs: 8210 description: Inputs holds the mapping from the 8211 PipelineResources declared in DeclaredPipelineResources 8212 to the input PipelineResources required by 8213 the Task. 8214 items: 8215 description: TaskResource defines an input 8216 or output Resource declared as a requirement 8217 by a Task. The Name field will be used to 8218 refer to these Resources within the Task 8219 definition, and when provided as an Input, 8220 the Name will be the path to the volume 8221 mounted containing this Resource as an input 8222 (e.g. an input Resource named `workspace` 8223 will be mounted at `/workspace`). 8224 properties: 8225 description: 8226 description: Description is a user-facing 8227 description of the declared resource 8228 that may be used to populate a UI. 8229 type: string 8230 name: 8231 description: Name declares the name by 8232 which a resource is referenced in the 8233 definition. Resources may be referenced 8234 by name in the definition of a Task's 8235 steps. 8236 type: string 8237 optional: 8238 description: 'Optional declares the resource 8239 as optional. By default optional is 8240 set to false which makes a resource 8241 required. optional: true - the resource 8242 is considered optional optional: false 8243 - the resource is considered required 8244 (equivalent of not specifying it)' 8245 type: boolean 8246 targetPath: 8247 description: TargetPath is the path in 8248 workspace directory where the resource 8249 will be copied. 8250 type: string 8251 type: 8252 description: Type is the type of this 8253 resource; 8254 type: string 8255 required: 8256 - name 8257 - type 8258 type: object 8259 type: array 8260 x-kubernetes-list-type: atomic 8261 outputs: 8262 description: Outputs holds the mapping from 8263 the PipelineResources declared in DeclaredPipelineResources 8264 to the input PipelineResources required by 8265 the Task. 8266 items: 8267 description: TaskResource defines an input 8268 or output Resource declared as a requirement 8269 by a Task. The Name field will be used to 8270 refer to these Resources within the Task 8271 definition, and when provided as an Input, 8272 the Name will be the path to the volume 8273 mounted containing this Resource as an input 8274 (e.g. an input Resource named `workspace` 8275 will be mounted at `/workspace`). 8276 properties: 8277 description: 8278 description: Description is a user-facing 8279 description of the declared resource 8280 that may be used to populate a UI. 8281 type: string 8282 name: 8283 description: Name declares the name by 8284 which a resource is referenced in the 8285 definition. Resources may be referenced 8286 by name in the definition of a Task's 8287 steps. 8288 type: string 8289 optional: 8290 description: 'Optional declares the resource 8291 as optional. By default optional is 8292 set to false which makes a resource 8293 required. optional: true - the resource 8294 is considered optional optional: false 8295 - the resource is considered required 8296 (equivalent of not specifying it)' 8297 type: boolean 8298 targetPath: 8299 description: TargetPath is the path in 8300 workspace directory where the resource 8301 will be copied. 8302 type: string 8303 type: 8304 description: Type is the type of this 8305 resource; 8306 type: string 8307 required: 8308 - name 8309 - type 8310 type: object 8311 type: array 8312 x-kubernetes-list-type: atomic 8313 type: object 8314 results: 8315 description: Results are values that this Task can 8316 output 8317 items: 8318 description: TaskResult used to describe the results 8319 of a task 8320 properties: 8321 description: 8322 description: Description is a human-readable 8323 description of the result 8324 type: string 8325 name: 8326 description: Name the given name 8327 type: string 8328 properties: 8329 additionalProperties: 8330 description: PropertySpec defines the struct 8331 for object keys 8332 properties: 8333 type: 8334 description: ParamType indicates the 8335 type of an input parameter; Used to 8336 distinguish between a single string 8337 and an array of strings. 8338 type: string 8339 type: object 8340 description: Properties is the JSON Schema 8341 properties to support key-value pairs results. 8342 type: object 8343 type: 8344 description: Type is the user-specified type 8345 of the result. The possible type is currently 8346 "string" and will support "array" in following 8347 work. 8348 type: string 8349 required: 8350 - name 8351 type: object 8352 type: array 8353 x-kubernetes-list-type: atomic 8354 sidecars: 8355 description: Sidecars are run alongside the Task's 8356 step containers. They begin before the steps start 8357 and end after the steps complete. 8358 items: 8359 description: Sidecar has nearly the same data 8360 structure as Step but does not have the ability 8361 to timeout. 8362 properties: 8363 args: 8364 description: 'Arguments to the entrypoint. 8365 The image''s CMD is used if this is not 8366 provided. Variable references $(VAR_NAME) 8367 are expanded using the container''s environment. 8368 If a variable cannot be resolved, the reference 8369 in the input string will be unchanged. Double 8370 $$ are reduced to a single $, which allows 8371 for escaping the $(VAR_NAME) syntax: i.e. 8372 "$$(VAR_NAME)" will produce the string literal 8373 "$(VAR_NAME)". Escaped references will never 8374 be expanded, regardless of whether the variable 8375 exists or not. Cannot be updated. More info: 8376 https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell' 8377 items: 8378 type: string 8379 type: array 8380 x-kubernetes-list-type: atomic 8381 command: 8382 description: 'Entrypoint array. Not executed 8383 within a shell. The image''s ENTRYPOINT 8384 is used if this is not provided. Variable 8385 references $(VAR_NAME) are expanded using 8386 the Sidecar''s environment. If a variable 8387 cannot be resolved, the reference in the 8388 input string will be unchanged. Double $$ 8389 are reduced to a single $, which allows 8390 for escaping the $(VAR_NAME) syntax: i.e. 8391 "$$(VAR_NAME)" will produce the string literal 8392 "$(VAR_NAME)". Escaped references will never 8393 be expanded, regardless of whether the variable 8394 exists or not. Cannot be updated. More info: 8395 https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell' 8396 items: 8397 type: string 8398 type: array 8399 x-kubernetes-list-type: atomic 8400 env: 8401 description: List of environment variables 8402 to set in the Sidecar. Cannot be updated. 8403 items: 8404 description: EnvVar represents an environment 8405 variable present in a Container. 8406 properties: 8407 name: 8408 description: Name of the environment 8409 variable. Must be a C_IDENTIFIER. 8410 type: string 8411 value: 8412 description: 'Variable references $(VAR_NAME) 8413 are expanded using the previously 8414 defined environment variables in the 8415 container and any service environment 8416 variables. If a variable cannot be 8417 resolved, the reference in the input 8418 string will be unchanged. Double $$ 8419 are reduced to a single $, which allows 8420 for escaping the $(VAR_NAME) syntax: 8421 i.e. "$$(VAR_NAME)" will produce the 8422 string literal "$(VAR_NAME)". Escaped 8423 references will never be expanded, 8424 regardless of whether the variable 8425 exists or not. Defaults to "".' 8426 type: string 8427 valueFrom: 8428 description: Source for the environment 8429 variable's value. Cannot be used if 8430 value is not empty. 8431 properties: 8432 configMapKeyRef: 8433 description: Selects a key of a 8434 ConfigMap. 8435 properties: 8436 key: 8437 description: The key to select. 8438 type: string 8439 name: 8440 description: 'Name of the referent. 8441 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 8442 TODO: Add other useful fields. 8443 apiVersion, kind, uid?' 8444 type: string 8445 optional: 8446 description: Specify whether 8447 the ConfigMap or its key must 8448 be defined 8449 type: boolean 8450 required: 8451 - key 8452 type: object 8453 fieldRef: 8454 description: 'Selects a field of 8455 the pod: supports metadata.name, 8456 metadata.namespace, `metadata.labels[''<KEY>'']`, 8457 `metadata.annotations[''<KEY>'']`, 8458 spec.nodeName, spec.serviceAccountName, 8459 status.hostIP, status.podIP, status.podIPs.' 8460 properties: 8461 apiVersion: 8462 description: Version of the 8463 schema the FieldPath is written 8464 in terms of, defaults to "v1". 8465 type: string 8466 fieldPath: 8467 description: Path of the field 8468 to select in the specified 8469 API version. 8470 type: string 8471 required: 8472 - fieldPath 8473 type: object 8474 resourceFieldRef: 8475 description: 'Selects a resource 8476 of the container: only resources 8477 limits and requests (limits.cpu, 8478 limits.memory, limits.ephemeral-storage, 8479 requests.cpu, requests.memory 8480 and requests.ephemeral-storage) 8481 are currently supported.' 8482 properties: 8483 containerName: 8484 description: 'Container name: 8485 required for volumes, optional 8486 for env vars' 8487 type: string 8488 divisor: 8489 anyOf: 8490 - type: integer 8491 - type: string 8492 description: Specifies the output 8493 format of the exposed resources, 8494 defaults to "1" 8495 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 8496 x-kubernetes-int-or-string: true 8497 resource: 8498 description: 'Required: resource 8499 to select' 8500 type: string 8501 required: 8502 - resource 8503 type: object 8504 secretKeyRef: 8505 description: Selects a key of a 8506 secret in the pod's namespace 8507 properties: 8508 key: 8509 description: The key of the 8510 secret to select from. Must 8511 be a valid secret key. 8512 type: string 8513 name: 8514 description: 'Name of the referent. 8515 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 8516 TODO: Add other useful fields. 8517 apiVersion, kind, uid?' 8518 type: string 8519 optional: 8520 description: Specify whether 8521 the Secret or its key must 8522 be defined 8523 type: boolean 8524 required: 8525 - key 8526 type: object 8527 type: object 8528 required: 8529 - name 8530 type: object 8531 type: array 8532 x-kubernetes-list-type: atomic 8533 envFrom: 8534 description: List of sources to populate environment 8535 variables in the Sidecar. The keys defined 8536 within a source must be a C_IDENTIFIER. 8537 All invalid keys will be reported as an 8538 event when the Sidecar is starting. When 8539 a key exists in multiple sources, the value 8540 associated with the last source will take 8541 precedence. Values defined by an Env with 8542 a duplicate key will take precedence. Cannot 8543 be updated. 8544 items: 8545 description: EnvFromSource represents the 8546 source of a set of ConfigMaps 8547 properties: 8548 configMapRef: 8549 description: The ConfigMap to select 8550 from 8551 properties: 8552 name: 8553 description: 'Name of the referent. 8554 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 8555 TODO: Add other useful fields. 8556 apiVersion, kind, uid?' 8557 type: string 8558 optional: 8559 description: Specify whether the 8560 ConfigMap must be defined 8561 type: boolean 8562 type: object 8563 prefix: 8564 description: An optional identifier 8565 to prepend to each key in the ConfigMap. 8566 Must be a C_IDENTIFIER. 8567 type: string 8568 secretRef: 8569 description: The Secret to select from 8570 properties: 8571 name: 8572 description: 'Name of the referent. 8573 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 8574 TODO: Add other useful fields. 8575 apiVersion, kind, uid?' 8576 type: string 8577 optional: 8578 description: Specify whether the 8579 Secret must be defined 8580 type: boolean 8581 type: object 8582 type: object 8583 type: array 8584 x-kubernetes-list-type: atomic 8585 image: 8586 description: 'Image name to be used by the 8587 Sidecar. More info: https://kubernetes.io/docs/concepts/containers/images' 8588 type: string 8589 imagePullPolicy: 8590 description: 'Image pull policy. One of Always, 8591 Never, IfNotPresent. Defaults to Always 8592 if :latest tag is specified, or IfNotPresent 8593 otherwise. Cannot be updated. More info: 8594 https://kubernetes.io/docs/concepts/containers/images#updating-images' 8595 type: string 8596 lifecycle: 8597 description: Actions that the management system 8598 should take in response to Sidecar lifecycle 8599 events. Cannot be updated. 8600 properties: 8601 postStart: 8602 description: 'PostStart is called immediately 8603 after a container is created. If the 8604 handler fails, the container is terminated 8605 and restarted according to its restart 8606 policy. Other management of the container 8607 blocks until the hook completes. More 8608 info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks' 8609 properties: 8610 exec: 8611 description: Exec specifies the action 8612 to take. 8613 properties: 8614 command: 8615 description: Command is the command 8616 line to execute inside the container, 8617 the working directory for the 8618 command is root ('/') in the 8619 container's filesystem. The 8620 command is simply exec'd, it 8621 is not run inside a shell, so 8622 traditional shell instructions 8623 ('|', etc) won't work. To use 8624 a shell, you need to explicitly 8625 call out to that shell. Exit 8626 status of 0 is treated as live/healthy 8627 and non-zero is unhealthy. 8628 items: 8629 type: string 8630 type: array 8631 type: object 8632 httpGet: 8633 description: HTTPGet specifies the 8634 http request to perform. 8635 properties: 8636 host: 8637 description: Host name to connect 8638 to, defaults to the pod IP. 8639 You probably want to set "Host" 8640 in httpHeaders instead. 8641 type: string 8642 httpHeaders: 8643 description: Custom headers to 8644 set in the request. HTTP allows 8645 repeated headers. 8646 items: 8647 description: HTTPHeader describes 8648 a custom header to be used 8649 in HTTP probes 8650 properties: 8651 name: 8652 description: The header 8653 field name 8654 type: string 8655 value: 8656 description: The header 8657 field value 8658 type: string 8659 required: 8660 - name 8661 - value 8662 type: object 8663 type: array 8664 path: 8665 description: Path to access on 8666 the HTTP server. 8667 type: string 8668 port: 8669 anyOf: 8670 - type: integer 8671 - type: string 8672 description: Name or number of 8673 the port to access on the container. 8674 Number must be in the range 8675 1 to 65535. Name must be an 8676 IANA_SVC_NAME. 8677 x-kubernetes-int-or-string: true 8678 scheme: 8679 description: Scheme to use for 8680 connecting to the host. Defaults 8681 to HTTP. 8682 type: string 8683 required: 8684 - port 8685 type: object 8686 tcpSocket: 8687 description: Deprecated. TCPSocket 8688 is NOT supported as a LifecycleHandler 8689 and kept for the backward compatibility. 8690 There are no validation of this 8691 field and lifecycle hooks will fail 8692 in runtime when tcp handler is specified. 8693 properties: 8694 host: 8695 description: 'Optional: Host name 8696 to connect to, defaults to the 8697 pod IP.' 8698 type: string 8699 port: 8700 anyOf: 8701 - type: integer 8702 - type: string 8703 description: Number or name of 8704 the port to access on the container. 8705 Number must be in the range 8706 1 to 65535. Name must be an 8707 IANA_SVC_NAME. 8708 x-kubernetes-int-or-string: true 8709 required: 8710 - port 8711 type: object 8712 type: object 8713 preStop: 8714 description: 'PreStop is called immediately 8715 before a container is terminated due 8716 to an API request or management event 8717 such as liveness/startup probe failure, 8718 preemption, resource contention, etc. 8719 The handler is not called if the container 8720 crashes or exits. The Pod''s termination 8721 grace period countdown begins before 8722 the PreStop hook is executed. Regardless 8723 of the outcome of the handler, the container 8724 will eventually terminate within the 8725 Pod''s termination grace period (unless 8726 delayed by finalizers). Other management 8727 of the container blocks until the hook 8728 completes or until the termination grace 8729 period is reached. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks' 8730 properties: 8731 exec: 8732 description: Exec specifies the action 8733 to take. 8734 properties: 8735 command: 8736 description: Command is the command 8737 line to execute inside the container, 8738 the working directory for the 8739 command is root ('/') in the 8740 container's filesystem. The 8741 command is simply exec'd, it 8742 is not run inside a shell, so 8743 traditional shell instructions 8744 ('|', etc) won't work. To use 8745 a shell, you need to explicitly 8746 call out to that shell. Exit 8747 status of 0 is treated as live/healthy 8748 and non-zero is unhealthy. 8749 items: 8750 type: string 8751 type: array 8752 type: object 8753 httpGet: 8754 description: HTTPGet specifies the 8755 http request to perform. 8756 properties: 8757 host: 8758 description: Host name to connect 8759 to, defaults to the pod IP. 8760 You probably want to set "Host" 8761 in httpHeaders instead. 8762 type: string 8763 httpHeaders: 8764 description: Custom headers to 8765 set in the request. HTTP allows 8766 repeated headers. 8767 items: 8768 description: HTTPHeader describes 8769 a custom header to be used 8770 in HTTP probes 8771 properties: 8772 name: 8773 description: The header 8774 field name 8775 type: string 8776 value: 8777 description: The header 8778 field value 8779 type: string 8780 required: 8781 - name 8782 - value 8783 type: object 8784 type: array 8785 path: 8786 description: Path to access on 8787 the HTTP server. 8788 type: string 8789 port: 8790 anyOf: 8791 - type: integer 8792 - type: string 8793 description: Name or number of 8794 the port to access on the container. 8795 Number must be in the range 8796 1 to 65535. Name must be an 8797 IANA_SVC_NAME. 8798 x-kubernetes-int-or-string: true 8799 scheme: 8800 description: Scheme to use for 8801 connecting to the host. Defaults 8802 to HTTP. 8803 type: string 8804 required: 8805 - port 8806 type: object 8807 tcpSocket: 8808 description: Deprecated. TCPSocket 8809 is NOT supported as a LifecycleHandler 8810 and kept for the backward compatibility. 8811 There are no validation of this 8812 field and lifecycle hooks will fail 8813 in runtime when tcp handler is specified. 8814 properties: 8815 host: 8816 description: 'Optional: Host name 8817 to connect to, defaults to the 8818 pod IP.' 8819 type: string 8820 port: 8821 anyOf: 8822 - type: integer 8823 - type: string 8824 description: Number or name of 8825 the port to access on the container. 8826 Number must be in the range 8827 1 to 65535. Name must be an 8828 IANA_SVC_NAME. 8829 x-kubernetes-int-or-string: true 8830 required: 8831 - port 8832 type: object 8833 type: object 8834 type: object 8835 livenessProbe: 8836 description: 'Periodic probe of Sidecar liveness. 8837 Container will be restarted if the probe 8838 fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 8839 properties: 8840 exec: 8841 description: Exec specifies the action 8842 to take. 8843 properties: 8844 command: 8845 description: Command is the command 8846 line to execute inside the container, 8847 the working directory for the command is 8848 root ('/') in the container's filesystem. 8849 The command is simply exec'd, it 8850 is not run inside a shell, so traditional 8851 shell instructions ('|', etc) won't 8852 work. To use a shell, you need to 8853 explicitly call out to that shell. 8854 Exit status of 0 is treated as live/healthy 8855 and non-zero is unhealthy. 8856 items: 8857 type: string 8858 type: array 8859 type: object 8860 failureThreshold: 8861 description: Minimum consecutive failures 8862 for the probe to be considered failed 8863 after having succeeded. Defaults to 8864 3. Minimum value is 1. 8865 format: int32 8866 type: integer 8867 grpc: 8868 description: GRPC specifies an action 8869 involving a GRPC port. This is a beta 8870 field and requires enabling GRPCContainerProbe 8871 feature gate. 8872 properties: 8873 port: 8874 description: Port number of the gRPC 8875 service. Number must be in the range 8876 1 to 65535. 8877 format: int32 8878 type: integer 8879 service: 8880 description: "Service is the name 8881 of the service to place in the gRPC 8882 HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). 8883 \n If this is not specified, the 8884 default behavior is defined by gRPC." 8885 type: string 8886 required: 8887 - port 8888 type: object 8889 httpGet: 8890 description: HTTPGet specifies the http 8891 request to perform. 8892 properties: 8893 host: 8894 description: Host name to connect 8895 to, defaults to the pod IP. You 8896 probably want to set "Host" in httpHeaders 8897 instead. 8898 type: string 8899 httpHeaders: 8900 description: Custom headers to set 8901 in the request. HTTP allows repeated 8902 headers. 8903 items: 8904 description: HTTPHeader describes 8905 a custom header to be used in 8906 HTTP probes 8907 properties: 8908 name: 8909 description: The header field 8910 name 8911 type: string 8912 value: 8913 description: The header field 8914 value 8915 type: string 8916 required: 8917 - name 8918 - value 8919 type: object 8920 type: array 8921 path: 8922 description: Path to access on the 8923 HTTP server. 8924 type: string 8925 port: 8926 anyOf: 8927 - type: integer 8928 - type: string 8929 description: Name or number of the 8930 port to access on the container. 8931 Number must be in the range 1 to 8932 65535. Name must be an IANA_SVC_NAME. 8933 x-kubernetes-int-or-string: true 8934 scheme: 8935 description: Scheme to use for connecting 8936 to the host. Defaults to HTTP. 8937 type: string 8938 required: 8939 - port 8940 type: object 8941 initialDelaySeconds: 8942 description: 'Number of seconds after 8943 the container has started before liveness 8944 probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 8945 format: int32 8946 type: integer 8947 periodSeconds: 8948 description: How often (in seconds) to 8949 perform the probe. Default to 10 seconds. 8950 Minimum value is 1. 8951 format: int32 8952 type: integer 8953 successThreshold: 8954 description: Minimum consecutive successes 8955 for the probe to be considered successful 8956 after having failed. Defaults to 1. 8957 Must be 1 for liveness and startup. 8958 Minimum value is 1. 8959 format: int32 8960 type: integer 8961 tcpSocket: 8962 description: TCPSocket specifies an action 8963 involving a TCP port. 8964 properties: 8965 host: 8966 description: 'Optional: Host name 8967 to connect to, defaults to the pod 8968 IP.' 8969 type: string 8970 port: 8971 anyOf: 8972 - type: integer 8973 - type: string 8974 description: Number or name of the 8975 port to access on the container. 8976 Number must be in the range 1 to 8977 65535. Name must be an IANA_SVC_NAME. 8978 x-kubernetes-int-or-string: true 8979 required: 8980 - port 8981 type: object 8982 terminationGracePeriodSeconds: 8983 description: Optional duration in seconds 8984 the pod needs to terminate gracefully 8985 upon probe failure. The grace period 8986 is the duration in seconds after the 8987 processes running in the pod are sent 8988 a termination signal and the time when 8989 the processes are forcibly halted with 8990 a kill signal. Set this value longer 8991 than the expected cleanup time for your 8992 process. If this value is nil, the pod's 8993 terminationGracePeriodSeconds will be 8994 used. Otherwise, this value overrides 8995 the value provided by the pod spec. 8996 Value must be non-negative integer. 8997 The value zero indicates stop immediately 8998 via the kill signal (no opportunity 8999 to shut down). This is a beta field 9000 and requires enabling ProbeTerminationGracePeriod 9001 feature gate. Minimum value is 1. spec.terminationGracePeriodSeconds 9002 is used if unset. 9003 format: int64 9004 type: integer 9005 timeoutSeconds: 9006 description: 'Number of seconds after 9007 which the probe times out. Defaults 9008 to 1 second. Minimum value is 1. More 9009 info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 9010 format: int32 9011 type: integer 9012 type: object 9013 name: 9014 description: Name of the Sidecar specified 9015 as a DNS_LABEL. Each Sidecar in a Task must 9016 have a unique name (DNS_LABEL). Cannot be 9017 updated. 9018 type: string 9019 ports: 9020 description: List of ports to expose from 9021 the Sidecar. Exposing a port here gives 9022 the system additional information about 9023 the network connections a container uses, 9024 but is primarily informational. Not specifying 9025 a port here DOES NOT prevent that port from 9026 being exposed. Any port which is listening 9027 on the default "0.0.0.0" address inside 9028 a container will be accessible from the 9029 network. Cannot be updated. 9030 items: 9031 description: ContainerPort represents a 9032 network port in a single container. 9033 properties: 9034 containerPort: 9035 description: Number of port to expose 9036 on the pod's IP address. This must 9037 be a valid port number, 0 < x < 65536. 9038 format: int32 9039 type: integer 9040 hostIP: 9041 description: What host IP to bind the 9042 external port to. 9043 type: string 9044 hostPort: 9045 description: Number of port to expose 9046 on the host. If specified, this must 9047 be a valid port number, 0 < x < 65536. 9048 If HostNetwork is specified, this 9049 must match ContainerPort. Most containers 9050 do not need this. 9051 format: int32 9052 type: integer 9053 name: 9054 description: If specified, this must 9055 be an IANA_SVC_NAME and unique within 9056 the pod. Each named port in a pod 9057 must have a unique name. Name for 9058 the port that can be referred to by 9059 services. 9060 type: string 9061 protocol: 9062 default: TCP 9063 description: Protocol for port. Must 9064 be UDP, TCP, or SCTP. Defaults to 9065 "TCP". 9066 type: string 9067 required: 9068 - containerPort 9069 type: object 9070 type: array 9071 x-kubernetes-list-map-keys: 9072 - containerPort 9073 - protocol 9074 x-kubernetes-list-type: map 9075 readinessProbe: 9076 description: 'Periodic probe of Sidecar service 9077 readiness. Container will be removed from 9078 service endpoints if the probe fails. Cannot 9079 be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 9080 properties: 9081 exec: 9082 description: Exec specifies the action 9083 to take. 9084 properties: 9085 command: 9086 description: Command is the command 9087 line to execute inside the container, 9088 the working directory for the command is 9089 root ('/') in the container's filesystem. 9090 The command is simply exec'd, it 9091 is not run inside a shell, so traditional 9092 shell instructions ('|', etc) won't 9093 work. To use a shell, you need to 9094 explicitly call out to that shell. 9095 Exit status of 0 is treated as live/healthy 9096 and non-zero is unhealthy. 9097 items: 9098 type: string 9099 type: array 9100 type: object 9101 failureThreshold: 9102 description: Minimum consecutive failures 9103 for the probe to be considered failed 9104 after having succeeded. Defaults to 9105 3. Minimum value is 1. 9106 format: int32 9107 type: integer 9108 grpc: 9109 description: GRPC specifies an action 9110 involving a GRPC port. This is a beta 9111 field and requires enabling GRPCContainerProbe 9112 feature gate. 9113 properties: 9114 port: 9115 description: Port number of the gRPC 9116 service. Number must be in the range 9117 1 to 65535. 9118 format: int32 9119 type: integer 9120 service: 9121 description: "Service is the name 9122 of the service to place in the gRPC 9123 HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). 9124 \n If this is not specified, the 9125 default behavior is defined by gRPC." 9126 type: string 9127 required: 9128 - port 9129 type: object 9130 httpGet: 9131 description: HTTPGet specifies the http 9132 request to perform. 9133 properties: 9134 host: 9135 description: Host name to connect 9136 to, defaults to the pod IP. You 9137 probably want to set "Host" in httpHeaders 9138 instead. 9139 type: string 9140 httpHeaders: 9141 description: Custom headers to set 9142 in the request. HTTP allows repeated 9143 headers. 9144 items: 9145 description: HTTPHeader describes 9146 a custom header to be used in 9147 HTTP probes 9148 properties: 9149 name: 9150 description: The header field 9151 name 9152 type: string 9153 value: 9154 description: The header field 9155 value 9156 type: string 9157 required: 9158 - name 9159 - value 9160 type: object 9161 type: array 9162 path: 9163 description: Path to access on the 9164 HTTP server. 9165 type: string 9166 port: 9167 anyOf: 9168 - type: integer 9169 - type: string 9170 description: Name or number of the 9171 port to access on the container. 9172 Number must be in the range 1 to 9173 65535. Name must be an IANA_SVC_NAME. 9174 x-kubernetes-int-or-string: true 9175 scheme: 9176 description: Scheme to use for connecting 9177 to the host. Defaults to HTTP. 9178 type: string 9179 required: 9180 - port 9181 type: object 9182 initialDelaySeconds: 9183 description: 'Number of seconds after 9184 the container has started before liveness 9185 probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 9186 format: int32 9187 type: integer 9188 periodSeconds: 9189 description: How often (in seconds) to 9190 perform the probe. Default to 10 seconds. 9191 Minimum value is 1. 9192 format: int32 9193 type: integer 9194 successThreshold: 9195 description: Minimum consecutive successes 9196 for the probe to be considered successful 9197 after having failed. Defaults to 1. 9198 Must be 1 for liveness and startup. 9199 Minimum value is 1. 9200 format: int32 9201 type: integer 9202 tcpSocket: 9203 description: TCPSocket specifies an action 9204 involving a TCP port. 9205 properties: 9206 host: 9207 description: 'Optional: Host name 9208 to connect to, defaults to the pod 9209 IP.' 9210 type: string 9211 port: 9212 anyOf: 9213 - type: integer 9214 - type: string 9215 description: Number or name of the 9216 port to access on the container. 9217 Number must be in the range 1 to 9218 65535. Name must be an IANA_SVC_NAME. 9219 x-kubernetes-int-or-string: true 9220 required: 9221 - port 9222 type: object 9223 terminationGracePeriodSeconds: 9224 description: Optional duration in seconds 9225 the pod needs to terminate gracefully 9226 upon probe failure. The grace period 9227 is the duration in seconds after the 9228 processes running in the pod are sent 9229 a termination signal and the time when 9230 the processes are forcibly halted with 9231 a kill signal. Set this value longer 9232 than the expected cleanup time for your 9233 process. If this value is nil, the pod's 9234 terminationGracePeriodSeconds will be 9235 used. Otherwise, this value overrides 9236 the value provided by the pod spec. 9237 Value must be non-negative integer. 9238 The value zero indicates stop immediately 9239 via the kill signal (no opportunity 9240 to shut down). This is a beta field 9241 and requires enabling ProbeTerminationGracePeriod 9242 feature gate. Minimum value is 1. spec.terminationGracePeriodSeconds 9243 is used if unset. 9244 format: int64 9245 type: integer 9246 timeoutSeconds: 9247 description: 'Number of seconds after 9248 which the probe times out. Defaults 9249 to 1 second. Minimum value is 1. More 9250 info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 9251 format: int32 9252 type: integer 9253 type: object 9254 resources: 9255 description: 'Compute Resources required by 9256 this Sidecar. Cannot be updated. More info: 9257 https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' 9258 properties: 9259 limits: 9260 additionalProperties: 9261 anyOf: 9262 - type: integer 9263 - type: string 9264 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 9265 x-kubernetes-int-or-string: true 9266 description: 'Limits describes the maximum 9267 amount of compute resources allowed. 9268 More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' 9269 type: object 9270 requests: 9271 additionalProperties: 9272 anyOf: 9273 - type: integer 9274 - type: string 9275 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 9276 x-kubernetes-int-or-string: true 9277 description: 'Requests describes the minimum 9278 amount of compute resources required. 9279 If Requests is omitted for a container, 9280 it defaults to Limits if that is explicitly 9281 specified, otherwise to an implementation-defined 9282 value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' 9283 type: object 9284 type: object 9285 script: 9286 description: "Script is the contents of an 9287 executable file to execute. \n If Script 9288 is not empty, the Step cannot have an Command 9289 or Args." 9290 type: string 9291 securityContext: 9292 description: 'SecurityContext defines the 9293 security options the Sidecar should be run 9294 with. If set, the fields of SecurityContext 9295 override the equivalent fields of PodSecurityContext. 9296 More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/' 9297 properties: 9298 allowPrivilegeEscalation: 9299 description: 'AllowPrivilegeEscalation 9300 controls whether a process can gain 9301 more privileges than its parent process. 9302 This bool directly controls if the no_new_privs 9303 flag will be set on the container process. 9304 AllowPrivilegeEscalation is true always 9305 when the container is: 1) run as Privileged 9306 2) has CAP_SYS_ADMIN Note that this 9307 field cannot be set when spec.os.name 9308 is windows.' 9309 type: boolean 9310 capabilities: 9311 description: The capabilities to add/drop 9312 when running containers. Defaults to 9313 the default set of capabilities granted 9314 by the container runtime. Note that 9315 this field cannot be set when spec.os.name 9316 is windows. 9317 properties: 9318 add: 9319 description: Added capabilities 9320 items: 9321 description: Capability represent 9322 POSIX capabilities type 9323 type: string 9324 type: array 9325 drop: 9326 description: Removed capabilities 9327 items: 9328 description: Capability represent 9329 POSIX capabilities type 9330 type: string 9331 type: array 9332 type: object 9333 privileged: 9334 description: Run container in privileged 9335 mode. Processes in privileged containers 9336 are essentially equivalent to root on 9337 the host. Defaults to false. Note that 9338 this field cannot be set when spec.os.name 9339 is windows. 9340 type: boolean 9341 procMount: 9342 description: procMount denotes the type 9343 of proc mount to use for the containers. 9344 The default is DefaultProcMount which 9345 uses the container runtime defaults 9346 for readonly paths and masked paths. 9347 This requires the ProcMountType feature 9348 flag to be enabled. Note that this field 9349 cannot be set when spec.os.name is windows. 9350 type: string 9351 readOnlyRootFilesystem: 9352 description: Whether this container has 9353 a read-only root filesystem. Default 9354 is false. Note that this field cannot 9355 be set when spec.os.name is windows. 9356 type: boolean 9357 runAsGroup: 9358 description: The GID to run the entrypoint 9359 of the container process. Uses runtime 9360 default if unset. May also be set in 9361 PodSecurityContext. If set in both 9362 SecurityContext and PodSecurityContext, 9363 the value specified in SecurityContext 9364 takes precedence. Note that this field 9365 cannot be set when spec.os.name is windows. 9366 format: int64 9367 type: integer 9368 runAsNonRoot: 9369 description: Indicates that the container 9370 must run as a non-root user. If true, 9371 the Kubelet will validate the image 9372 at runtime to ensure that it does not 9373 run as UID 0 (root) and fail to start 9374 the container if it does. If unset or 9375 false, no such validation will be performed. 9376 May also be set in PodSecurityContext. If 9377 set in both SecurityContext and PodSecurityContext, 9378 the value specified in SecurityContext 9379 takes precedence. 9380 type: boolean 9381 runAsUser: 9382 description: The UID to run the entrypoint 9383 of the container process. Defaults to 9384 user specified in image metadata if 9385 unspecified. May also be set in PodSecurityContext. If 9386 set in both SecurityContext and PodSecurityContext, 9387 the value specified in SecurityContext 9388 takes precedence. Note that this field 9389 cannot be set when spec.os.name is windows. 9390 format: int64 9391 type: integer 9392 seLinuxOptions: 9393 description: The SELinux context to be 9394 applied to the container. If unspecified, 9395 the container runtime will allocate 9396 a random SELinux context for each container. May 9397 also be set in PodSecurityContext. If 9398 set in both SecurityContext and PodSecurityContext, 9399 the value specified in SecurityContext 9400 takes precedence. Note that this field 9401 cannot be set when spec.os.name is windows. 9402 properties: 9403 level: 9404 description: Level is SELinux level 9405 label that applies to the container. 9406 type: string 9407 role: 9408 description: Role is a SELinux role 9409 label that applies to the container. 9410 type: string 9411 type: 9412 description: Type is a SELinux type 9413 label that applies to the container. 9414 type: string 9415 user: 9416 description: User is a SELinux user 9417 label that applies to the container. 9418 type: string 9419 type: object 9420 seccompProfile: 9421 description: The seccomp options to use 9422 by this container. If seccomp options 9423 are provided at both the pod & container 9424 level, the container options override 9425 the pod options. Note that this field 9426 cannot be set when spec.os.name is windows. 9427 properties: 9428 localhostProfile: 9429 description: localhostProfile indicates 9430 a profile defined in a file on the 9431 node should be used. The profile 9432 must be preconfigured on the node 9433 to work. Must be a descending path, 9434 relative to the kubelet's configured 9435 seccomp profile location. Must only 9436 be set if type is "Localhost". 9437 type: string 9438 type: 9439 description: "type indicates which 9440 kind of seccomp profile will be 9441 applied. Valid options are: \n Localhost 9442 - a profile defined in a file on 9443 the node should be used. RuntimeDefault 9444 - the container runtime default 9445 profile should be used. Unconfined 9446 - no profile should be applied." 9447 type: string 9448 required: 9449 - type 9450 type: object 9451 windowsOptions: 9452 description: The Windows specific settings 9453 applied to all containers. If unspecified, 9454 the options from the PodSecurityContext 9455 will be used. If set in both SecurityContext 9456 and PodSecurityContext, the value specified 9457 in SecurityContext takes precedence. 9458 Note that this field cannot be set when 9459 spec.os.name is linux. 9460 properties: 9461 gmsaCredentialSpec: 9462 description: GMSACredentialSpec is 9463 where the GMSA admission webhook 9464 (https://github.com/kubernetes-sigs/windows-gmsa) 9465 inlines the contents of the GMSA 9466 credential spec named by the GMSACredentialSpecName 9467 field. 9468 type: string 9469 gmsaCredentialSpecName: 9470 description: GMSACredentialSpecName 9471 is the name of the GMSA credential 9472 spec to use. 9473 type: string 9474 hostProcess: 9475 description: HostProcess determines 9476 if a container should be run as 9477 a 'Host Process' container. This 9478 field is alpha-level and will only 9479 be honored by components that enable 9480 the WindowsHostProcessContainers 9481 feature flag. Setting this field 9482 without the feature flag will result 9483 in errors when validating the Pod. 9484 All of a Pod's containers must have 9485 the same effective HostProcess value 9486 (it is not allowed to have a mix 9487 of HostProcess containers and non-HostProcess 9488 containers). In addition, if HostProcess 9489 is true then HostNetwork must also 9490 be set to true. 9491 type: boolean 9492 runAsUserName: 9493 description: The UserName in Windows 9494 to run the entrypoint of the container 9495 process. Defaults to the user specified 9496 in image metadata if unspecified. 9497 May also be set in PodSecurityContext. 9498 If set in both SecurityContext and 9499 PodSecurityContext, the value specified 9500 in SecurityContext takes precedence. 9501 type: string 9502 type: object 9503 type: object 9504 startupProbe: 9505 description: 'StartupProbe indicates that 9506 the Pod the Sidecar is running in has successfully 9507 initialized. If specified, no other probes 9508 are executed until this completes successfully. 9509 If this probe fails, the Pod will be restarted, 9510 just as if the livenessProbe failed. This 9511 can be used to provide different probe parameters 9512 at the beginning of a Pod''s lifecycle, 9513 when it might take a long time to load data 9514 or warm a cache, than during steady-state 9515 operation. This cannot be updated. More 9516 info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 9517 properties: 9518 exec: 9519 description: Exec specifies the action 9520 to take. 9521 properties: 9522 command: 9523 description: Command is the command 9524 line to execute inside the container, 9525 the working directory for the command is 9526 root ('/') in the container's filesystem. 9527 The command is simply exec'd, it 9528 is not run inside a shell, so traditional 9529 shell instructions ('|', etc) won't 9530 work. To use a shell, you need to 9531 explicitly call out to that shell. 9532 Exit status of 0 is treated as live/healthy 9533 and non-zero is unhealthy. 9534 items: 9535 type: string 9536 type: array 9537 type: object 9538 failureThreshold: 9539 description: Minimum consecutive failures 9540 for the probe to be considered failed 9541 after having succeeded. Defaults to 9542 3. Minimum value is 1. 9543 format: int32 9544 type: integer 9545 grpc: 9546 description: GRPC specifies an action 9547 involving a GRPC port. This is a beta 9548 field and requires enabling GRPCContainerProbe 9549 feature gate. 9550 properties: 9551 port: 9552 description: Port number of the gRPC 9553 service. Number must be in the range 9554 1 to 65535. 9555 format: int32 9556 type: integer 9557 service: 9558 description: "Service is the name 9559 of the service to place in the gRPC 9560 HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). 9561 \n If this is not specified, the 9562 default behavior is defined by gRPC." 9563 type: string 9564 required: 9565 - port 9566 type: object 9567 httpGet: 9568 description: HTTPGet specifies the http 9569 request to perform. 9570 properties: 9571 host: 9572 description: Host name to connect 9573 to, defaults to the pod IP. You 9574 probably want to set "Host" in httpHeaders 9575 instead. 9576 type: string 9577 httpHeaders: 9578 description: Custom headers to set 9579 in the request. HTTP allows repeated 9580 headers. 9581 items: 9582 description: HTTPHeader describes 9583 a custom header to be used in 9584 HTTP probes 9585 properties: 9586 name: 9587 description: The header field 9588 name 9589 type: string 9590 value: 9591 description: The header field 9592 value 9593 type: string 9594 required: 9595 - name 9596 - value 9597 type: object 9598 type: array 9599 path: 9600 description: Path to access on the 9601 HTTP server. 9602 type: string 9603 port: 9604 anyOf: 9605 - type: integer 9606 - type: string 9607 description: Name or number of the 9608 port to access on the container. 9609 Number must be in the range 1 to 9610 65535. Name must be an IANA_SVC_NAME. 9611 x-kubernetes-int-or-string: true 9612 scheme: 9613 description: Scheme to use for connecting 9614 to the host. Defaults to HTTP. 9615 type: string 9616 required: 9617 - port 9618 type: object 9619 initialDelaySeconds: 9620 description: 'Number of seconds after 9621 the container has started before liveness 9622 probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 9623 format: int32 9624 type: integer 9625 periodSeconds: 9626 description: How often (in seconds) to 9627 perform the probe. Default to 10 seconds. 9628 Minimum value is 1. 9629 format: int32 9630 type: integer 9631 successThreshold: 9632 description: Minimum consecutive successes 9633 for the probe to be considered successful 9634 after having failed. Defaults to 1. 9635 Must be 1 for liveness and startup. 9636 Minimum value is 1. 9637 format: int32 9638 type: integer 9639 tcpSocket: 9640 description: TCPSocket specifies an action 9641 involving a TCP port. 9642 properties: 9643 host: 9644 description: 'Optional: Host name 9645 to connect to, defaults to the pod 9646 IP.' 9647 type: string 9648 port: 9649 anyOf: 9650 - type: integer 9651 - type: string 9652 description: Number or name of the 9653 port to access on the container. 9654 Number must be in the range 1 to 9655 65535. Name must be an IANA_SVC_NAME. 9656 x-kubernetes-int-or-string: true 9657 required: 9658 - port 9659 type: object 9660 terminationGracePeriodSeconds: 9661 description: Optional duration in seconds 9662 the pod needs to terminate gracefully 9663 upon probe failure. The grace period 9664 is the duration in seconds after the 9665 processes running in the pod are sent 9666 a termination signal and the time when 9667 the processes are forcibly halted with 9668 a kill signal. Set this value longer 9669 than the expected cleanup time for your 9670 process. If this value is nil, the pod's 9671 terminationGracePeriodSeconds will be 9672 used. Otherwise, this value overrides 9673 the value provided by the pod spec. 9674 Value must be non-negative integer. 9675 The value zero indicates stop immediately 9676 via the kill signal (no opportunity 9677 to shut down). This is a beta field 9678 and requires enabling ProbeTerminationGracePeriod 9679 feature gate. Minimum value is 1. spec.terminationGracePeriodSeconds 9680 is used if unset. 9681 format: int64 9682 type: integer 9683 timeoutSeconds: 9684 description: 'Number of seconds after 9685 which the probe times out. Defaults 9686 to 1 second. Minimum value is 1. More 9687 info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 9688 format: int32 9689 type: integer 9690 type: object 9691 stdin: 9692 description: Whether this Sidecar should allocate 9693 a buffer for stdin in the container runtime. 9694 If this is not set, reads from stdin in 9695 the Sidecar will always result in EOF. Default 9696 is false. 9697 type: boolean 9698 stdinOnce: 9699 description: Whether the container runtime 9700 should close the stdin channel after it 9701 has been opened by a single attach. When 9702 stdin is true the stdin stream will remain 9703 open across multiple attach sessions. If 9704 stdinOnce is set to true, stdin is opened 9705 on Sidecar start, is empty until the first 9706 client attaches to stdin, and then remains 9707 open and accepts data until the client disconnects, 9708 at which time stdin is closed and remains 9709 closed until the Sidecar is restarted. If 9710 this flag is false, a container processes 9711 that reads from stdin will never receive 9712 an EOF. Default is false 9713 type: boolean 9714 terminationMessagePath: 9715 description: 'Optional: Path at which the 9716 file to which the Sidecar''s termination 9717 message will be written is mounted into 9718 the Sidecar''s filesystem. Message written 9719 is intended to be brief final status, such 9720 as an assertion failure message. Will be 9721 truncated by the node if greater than 4096 9722 bytes. The total message length across all 9723 containers will be limited to 12kb. Defaults 9724 to /dev/termination-log. Cannot be updated.' 9725 type: string 9726 terminationMessagePolicy: 9727 description: Indicate how the termination 9728 message should be populated. File will use 9729 the contents of terminationMessagePath to 9730 populate the Sidecar status message on both 9731 success and failure. FallbackToLogsOnError 9732 will use the last chunk of Sidecar log output 9733 if the termination message file is empty 9734 and the Sidecar exited with an error. The 9735 log output is limited to 2048 bytes or 80 9736 lines, whichever is smaller. Defaults to 9737 File. Cannot be updated. 9738 type: string 9739 tty: 9740 description: Whether this Sidecar should allocate 9741 a TTY for itself, also requires 'stdin' 9742 to be true. Default is false. 9743 type: boolean 9744 volumeDevices: 9745 description: volumeDevices is the list of 9746 block devices to be used by the Sidecar. 9747 items: 9748 description: volumeDevice describes a mapping 9749 of a raw block device within a container. 9750 properties: 9751 devicePath: 9752 description: devicePath is the path 9753 inside of the container that the device 9754 will be mapped to. 9755 type: string 9756 name: 9757 description: name must match the name 9758 of a persistentVolumeClaim in the 9759 pod 9760 type: string 9761 required: 9762 - devicePath 9763 - name 9764 type: object 9765 type: array 9766 x-kubernetes-list-type: atomic 9767 volumeMounts: 9768 description: Volumes to mount into the Sidecar's 9769 filesystem. Cannot be updated. 9770 items: 9771 description: VolumeMount describes a mounting 9772 of a Volume within a container. 9773 properties: 9774 mountPath: 9775 description: Path within the container 9776 at which the volume should be mounted. Must 9777 not contain ':'. 9778 type: string 9779 mountPropagation: 9780 description: mountPropagation determines 9781 how mounts are propagated from the 9782 host to container and the other way 9783 around. When not set, MountPropagationNone 9784 is used. This field is beta in 1.10. 9785 type: string 9786 name: 9787 description: This must match the Name 9788 of a Volume. 9789 type: string 9790 readOnly: 9791 description: Mounted read-only if true, 9792 read-write otherwise (false or unspecified). 9793 Defaults to false. 9794 type: boolean 9795 subPath: 9796 description: Path within the volume 9797 from which the container's volume 9798 should be mounted. Defaults to "" 9799 (volume's root). 9800 type: string 9801 subPathExpr: 9802 description: Expanded path within the 9803 volume from which the container's 9804 volume should be mounted. Behaves 9805 similarly to SubPath but environment 9806 variable references $(VAR_NAME) are 9807 expanded using the container's environment. 9808 Defaults to "" (volume's root). SubPathExpr 9809 and SubPath are mutually exclusive. 9810 type: string 9811 required: 9812 - mountPath 9813 - name 9814 type: object 9815 type: array 9816 x-kubernetes-list-type: atomic 9817 workingDir: 9818 description: Sidecar's working directory. 9819 If not specified, the container runtime's 9820 default will be used, which might be configured 9821 in the container image. Cannot be updated. 9822 type: string 9823 workspaces: 9824 description: "This is an alpha field. You 9825 must set the \"enable-api-fields\" feature 9826 flag to \"alpha\" for this field to be supported. 9827 \n Workspaces is a list of workspaces from 9828 the Task that this Sidecar wants exclusive 9829 access to. Adding a workspace to this list 9830 means that any other Step or Sidecar that 9831 does not also request this Workspace will 9832 not have access to it." 9833 items: 9834 description: WorkspaceUsage is used by a 9835 Step or Sidecar to declare that it wants 9836 isolated access to a Workspace defined 9837 in a Task. 9838 properties: 9839 mountPath: 9840 description: MountPath is the path that 9841 the workspace should be mounted to 9842 inside the Step or Sidecar, overriding 9843 any MountPath specified in the Task's 9844 WorkspaceDeclaration. 9845 type: string 9846 name: 9847 description: Name is the name of the 9848 workspace this Step or Sidecar wants 9849 access to. 9850 type: string 9851 required: 9852 - mountPath 9853 - name 9854 type: object 9855 type: array 9856 x-kubernetes-list-type: atomic 9857 required: 9858 - name 9859 type: object 9860 type: array 9861 x-kubernetes-list-type: atomic 9862 spec: 9863 description: Spec is a specification of a custom 9864 task 9865 type: object 9866 stepTemplate: 9867 description: StepTemplate can be used as the basis 9868 for all step containers within the Task, so that 9869 the steps inherit settings on the base container. 9870 properties: 9871 args: 9872 description: 'Arguments to the entrypoint. The 9873 image''s CMD is used if this is not provided. 9874 Variable references $(VAR_NAME) are expanded 9875 using the Step''s environment. If a variable 9876 cannot be resolved, the reference in the input 9877 string will be unchanged. Double $$ are reduced 9878 to a single $, which allows for escaping the 9879 $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will 9880 produce the string literal "$(VAR_NAME)". 9881 Escaped references will never be expanded, 9882 regardless of whether the variable exists 9883 or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell' 9884 items: 9885 type: string 9886 type: array 9887 x-kubernetes-list-type: atomic 9888 command: 9889 description: 'Entrypoint array. Not executed 9890 within a shell. The docker image''s ENTRYPOINT 9891 is used if this is not provided. Variable 9892 references $(VAR_NAME) are expanded using 9893 the Step''s environment. If a variable cannot 9894 be resolved, the reference in the input string 9895 will be unchanged. Double $$ are reduced to 9896 a single $, which allows for escaping the 9897 $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will 9898 produce the string literal "$(VAR_NAME)". 9899 Escaped references will never be expanded, 9900 regardless of whether the variable exists 9901 or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell' 9902 items: 9903 type: string 9904 type: array 9905 x-kubernetes-list-type: atomic 9906 env: 9907 description: List of environment variables to 9908 set in the container. Cannot be updated. 9909 items: 9910 description: EnvVar represents an environment 9911 variable present in a Container. 9912 properties: 9913 name: 9914 description: Name of the environment variable. 9915 Must be a C_IDENTIFIER. 9916 type: string 9917 value: 9918 description: 'Variable references $(VAR_NAME) 9919 are expanded using the previously defined 9920 environment variables in the container 9921 and any service environment variables. 9922 If a variable cannot be resolved, the 9923 reference in the input string will be 9924 unchanged. Double $$ are reduced to 9925 a single $, which allows for escaping 9926 the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" 9927 will produce the string literal "$(VAR_NAME)". 9928 Escaped references will never be expanded, 9929 regardless of whether the variable exists 9930 or not. Defaults to "".' 9931 type: string 9932 valueFrom: 9933 description: Source for the environment 9934 variable's value. Cannot be used if 9935 value is not empty. 9936 properties: 9937 configMapKeyRef: 9938 description: Selects a key of a ConfigMap. 9939 properties: 9940 key: 9941 description: The key to select. 9942 type: string 9943 name: 9944 description: 'Name of the referent. 9945 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 9946 TODO: Add other useful fields. 9947 apiVersion, kind, uid?' 9948 type: string 9949 optional: 9950 description: Specify whether the 9951 ConfigMap or its key must be 9952 defined 9953 type: boolean 9954 required: 9955 - key 9956 type: object 9957 fieldRef: 9958 description: 'Selects a field of the 9959 pod: supports metadata.name, metadata.namespace, 9960 `metadata.labels[''<KEY>'']`, `metadata.annotations[''<KEY>'']`, 9961 spec.nodeName, spec.serviceAccountName, 9962 status.hostIP, status.podIP, status.podIPs.' 9963 properties: 9964 apiVersion: 9965 description: Version of the schema 9966 the FieldPath is written in 9967 terms of, defaults to "v1". 9968 type: string 9969 fieldPath: 9970 description: Path of the field 9971 to select in the specified API 9972 version. 9973 type: string 9974 required: 9975 - fieldPath 9976 type: object 9977 resourceFieldRef: 9978 description: 'Selects a resource of 9979 the container: only resources limits 9980 and requests (limits.cpu, limits.memory, 9981 limits.ephemeral-storage, requests.cpu, 9982 requests.memory and requests.ephemeral-storage) 9983 are currently supported.' 9984 properties: 9985 containerName: 9986 description: 'Container name: 9987 required for volumes, optional 9988 for env vars' 9989 type: string 9990 divisor: 9991 anyOf: 9992 - type: integer 9993 - type: string 9994 description: Specifies the output 9995 format of the exposed resources, 9996 defaults to "1" 9997 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 9998 x-kubernetes-int-or-string: true 9999 resource: 10000 description: 'Required: resource 10001 to select' 10002 type: string 10003 required: 10004 - resource 10005 type: object 10006 secretKeyRef: 10007 description: Selects a key of a secret 10008 in the pod's namespace 10009 properties: 10010 key: 10011 description: The key of the secret 10012 to select from. Must be a valid 10013 secret key. 10014 type: string 10015 name: 10016 description: 'Name of the referent. 10017 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 10018 TODO: Add other useful fields. 10019 apiVersion, kind, uid?' 10020 type: string 10021 optional: 10022 description: Specify whether the 10023 Secret or its key must be defined 10024 type: boolean 10025 required: 10026 - key 10027 type: object 10028 type: object 10029 required: 10030 - name 10031 type: object 10032 type: array 10033 x-kubernetes-list-type: atomic 10034 envFrom: 10035 description: List of sources to populate environment 10036 variables in the Step. The keys defined within 10037 a source must be a C_IDENTIFIER. All invalid 10038 keys will be reported as an event when the 10039 container is starting. When a key exists in 10040 multiple sources, the value associated with 10041 the last source will take precedence. Values 10042 defined by an Env with a duplicate key will 10043 take precedence. Cannot be updated. 10044 items: 10045 description: EnvFromSource represents the 10046 source of a set of ConfigMaps 10047 properties: 10048 configMapRef: 10049 description: The ConfigMap to select from 10050 properties: 10051 name: 10052 description: 'Name of the referent. 10053 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 10054 TODO: Add other useful fields. apiVersion, 10055 kind, uid?' 10056 type: string 10057 optional: 10058 description: Specify whether the ConfigMap 10059 must be defined 10060 type: boolean 10061 type: object 10062 prefix: 10063 description: An optional identifier to 10064 prepend to each key in the ConfigMap. 10065 Must be a C_IDENTIFIER. 10066 type: string 10067 secretRef: 10068 description: The Secret to select from 10069 properties: 10070 name: 10071 description: 'Name of the referent. 10072 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 10073 TODO: Add other useful fields. apiVersion, 10074 kind, uid?' 10075 type: string 10076 optional: 10077 description: Specify whether the Secret 10078 must be defined 10079 type: boolean 10080 type: object 10081 type: object 10082 type: array 10083 x-kubernetes-list-type: atomic 10084 image: 10085 description: 'Default image name to use for 10086 each Step. More info: https://kubernetes.io/docs/concepts/containers/images 10087 This field is optional to allow higher level 10088 config management to default or override container 10089 images in workload controllers like Deployments 10090 and StatefulSets.' 10091 type: string 10092 imagePullPolicy: 10093 description: 'Image pull policy. One of Always, 10094 Never, IfNotPresent. Defaults to Always if 10095 :latest tag is specified, or IfNotPresent 10096 otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images' 10097 type: string 10098 lifecycle: 10099 description: Deprecated. This field will be 10100 removed in a future release. Actions that 10101 the management system should take in response 10102 to container lifecycle events. Cannot be updated. 10103 properties: 10104 postStart: 10105 description: 'PostStart is called immediately 10106 after a container is created. If the handler 10107 fails, the container is terminated and 10108 restarted according to its restart policy. 10109 Other management of the container blocks 10110 until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks' 10111 properties: 10112 exec: 10113 description: Exec specifies the action 10114 to take. 10115 properties: 10116 command: 10117 description: Command is the command 10118 line to execute inside the container, 10119 the working directory for the 10120 command is root ('/') in the 10121 container's filesystem. The command 10122 is simply exec'd, it is not run 10123 inside a shell, so traditional 10124 shell instructions ('|', etc) 10125 won't work. To use a shell, you 10126 need to explicitly call out to 10127 that shell. Exit status of 0 is 10128 treated as live/healthy and non-zero 10129 is unhealthy. 10130 items: 10131 type: string 10132 type: array 10133 type: object 10134 httpGet: 10135 description: HTTPGet specifies the http 10136 request to perform. 10137 properties: 10138 host: 10139 description: Host name to connect 10140 to, defaults to the pod IP. You 10141 probably want to set "Host" in 10142 httpHeaders instead. 10143 type: string 10144 httpHeaders: 10145 description: Custom headers to set 10146 in the request. HTTP allows repeated 10147 headers. 10148 items: 10149 description: HTTPHeader describes 10150 a custom header to be used in 10151 HTTP probes 10152 properties: 10153 name: 10154 description: The header field 10155 name 10156 type: string 10157 value: 10158 description: The header field 10159 value 10160 type: string 10161 required: 10162 - name 10163 - value 10164 type: object 10165 type: array 10166 path: 10167 description: Path to access on the 10168 HTTP server. 10169 type: string 10170 port: 10171 anyOf: 10172 - type: integer 10173 - type: string 10174 description: Name or number of the 10175 port to access on the container. 10176 Number must be in the range 1 10177 to 65535. Name must be an IANA_SVC_NAME. 10178 x-kubernetes-int-or-string: true 10179 scheme: 10180 description: Scheme to use for connecting 10181 to the host. Defaults to HTTP. 10182 type: string 10183 required: 10184 - port 10185 type: object 10186 tcpSocket: 10187 description: Deprecated. TCPSocket is 10188 NOT supported as a LifecycleHandler 10189 and kept for the backward compatibility. 10190 There are no validation of this field 10191 and lifecycle hooks will fail in runtime 10192 when tcp handler is specified. 10193 properties: 10194 host: 10195 description: 'Optional: Host name 10196 to connect to, defaults to the 10197 pod IP.' 10198 type: string 10199 port: 10200 anyOf: 10201 - type: integer 10202 - type: string 10203 description: Number or name of the 10204 port to access on the container. 10205 Number must be in the range 1 10206 to 65535. Name must be an IANA_SVC_NAME. 10207 x-kubernetes-int-or-string: true 10208 required: 10209 - port 10210 type: object 10211 type: object 10212 preStop: 10213 description: 'PreStop is called immediately 10214 before a container is terminated due to 10215 an API request or management event such 10216 as liveness/startup probe failure, preemption, 10217 resource contention, etc. The handler 10218 is not called if the container crashes 10219 or exits. The Pod''s termination grace 10220 period countdown begins before the PreStop 10221 hook is executed. Regardless of the outcome 10222 of the handler, the container will eventually 10223 terminate within the Pod''s termination 10224 grace period (unless delayed by finalizers). 10225 Other management of the container blocks 10226 until the hook completes or until the 10227 termination grace period is reached. More 10228 info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks' 10229 properties: 10230 exec: 10231 description: Exec specifies the action 10232 to take. 10233 properties: 10234 command: 10235 description: Command is the command 10236 line to execute inside the container, 10237 the working directory for the 10238 command is root ('/') in the 10239 container's filesystem. The command 10240 is simply exec'd, it is not run 10241 inside a shell, so traditional 10242 shell instructions ('|', etc) 10243 won't work. To use a shell, you 10244 need to explicitly call out to 10245 that shell. Exit status of 0 is 10246 treated as live/healthy and non-zero 10247 is unhealthy. 10248 items: 10249 type: string 10250 type: array 10251 type: object 10252 httpGet: 10253 description: HTTPGet specifies the http 10254 request to perform. 10255 properties: 10256 host: 10257 description: Host name to connect 10258 to, defaults to the pod IP. You 10259 probably want to set "Host" in 10260 httpHeaders instead. 10261 type: string 10262 httpHeaders: 10263 description: Custom headers to set 10264 in the request. HTTP allows repeated 10265 headers. 10266 items: 10267 description: HTTPHeader describes 10268 a custom header to be used in 10269 HTTP probes 10270 properties: 10271 name: 10272 description: The header field 10273 name 10274 type: string 10275 value: 10276 description: The header field 10277 value 10278 type: string 10279 required: 10280 - name 10281 - value 10282 type: object 10283 type: array 10284 path: 10285 description: Path to access on the 10286 HTTP server. 10287 type: string 10288 port: 10289 anyOf: 10290 - type: integer 10291 - type: string 10292 description: Name or number of the 10293 port to access on the container. 10294 Number must be in the range 1 10295 to 65535. Name must be an IANA_SVC_NAME. 10296 x-kubernetes-int-or-string: true 10297 scheme: 10298 description: Scheme to use for connecting 10299 to the host. Defaults to HTTP. 10300 type: string 10301 required: 10302 - port 10303 type: object 10304 tcpSocket: 10305 description: Deprecated. TCPSocket is 10306 NOT supported as a LifecycleHandler 10307 and kept for the backward compatibility. 10308 There are no validation of this field 10309 and lifecycle hooks will fail in runtime 10310 when tcp handler is specified. 10311 properties: 10312 host: 10313 description: 'Optional: Host name 10314 to connect to, defaults to the 10315 pod IP.' 10316 type: string 10317 port: 10318 anyOf: 10319 - type: integer 10320 - type: string 10321 description: Number or name of the 10322 port to access on the container. 10323 Number must be in the range 1 10324 to 65535. Name must be an IANA_SVC_NAME. 10325 x-kubernetes-int-or-string: true 10326 required: 10327 - port 10328 type: object 10329 type: object 10330 type: object 10331 livenessProbe: 10332 description: 'Deprecated. This field will be 10333 removed in a future release. Periodic probe 10334 of container liveness. Container will be restarted 10335 if the probe fails. Cannot be updated. More 10336 info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 10337 properties: 10338 exec: 10339 description: Exec specifies the action to 10340 take. 10341 properties: 10342 command: 10343 description: Command is the command 10344 line to execute inside the container, 10345 the working directory for the command is 10346 root ('/') in the container's filesystem. 10347 The command is simply exec'd, it is 10348 not run inside a shell, so traditional 10349 shell instructions ('|', etc) won't 10350 work. To use a shell, you need to 10351 explicitly call out to that shell. 10352 Exit status of 0 is treated as live/healthy 10353 and non-zero is unhealthy. 10354 items: 10355 type: string 10356 type: array 10357 type: object 10358 failureThreshold: 10359 description: Minimum consecutive failures 10360 for the probe to be considered failed 10361 after having succeeded. Defaults to 3. 10362 Minimum value is 1. 10363 format: int32 10364 type: integer 10365 grpc: 10366 description: GRPC specifies an action involving 10367 a GRPC port. This is a beta field and 10368 requires enabling GRPCContainerProbe feature 10369 gate. 10370 properties: 10371 port: 10372 description: Port number of the gRPC 10373 service. Number must be in the range 10374 1 to 65535. 10375 format: int32 10376 type: integer 10377 service: 10378 description: "Service is the name of 10379 the service to place in the gRPC HealthCheckRequest 10380 (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). 10381 \n If this is not specified, the default 10382 behavior is defined by gRPC." 10383 type: string 10384 required: 10385 - port 10386 type: object 10387 httpGet: 10388 description: HTTPGet specifies the http 10389 request to perform. 10390 properties: 10391 host: 10392 description: Host name to connect to, 10393 defaults to the pod IP. You probably 10394 want to set "Host" in httpHeaders 10395 instead. 10396 type: string 10397 httpHeaders: 10398 description: Custom headers to set in 10399 the request. HTTP allows repeated 10400 headers. 10401 items: 10402 description: HTTPHeader describes 10403 a custom header to be used in HTTP 10404 probes 10405 properties: 10406 name: 10407 description: The header field 10408 name 10409 type: string 10410 value: 10411 description: The header field 10412 value 10413 type: string 10414 required: 10415 - name 10416 - value 10417 type: object 10418 type: array 10419 path: 10420 description: Path to access on the HTTP 10421 server. 10422 type: string 10423 port: 10424 anyOf: 10425 - type: integer 10426 - type: string 10427 description: Name or number of the port 10428 to access on the container. Number 10429 must be in the range 1 to 65535. Name 10430 must be an IANA_SVC_NAME. 10431 x-kubernetes-int-or-string: true 10432 scheme: 10433 description: Scheme to use for connecting 10434 to the host. Defaults to HTTP. 10435 type: string 10436 required: 10437 - port 10438 type: object 10439 initialDelaySeconds: 10440 description: 'Number of seconds after the 10441 container has started before liveness 10442 probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 10443 format: int32 10444 type: integer 10445 periodSeconds: 10446 description: How often (in seconds) to perform 10447 the probe. Default to 10 seconds. Minimum 10448 value is 1. 10449 format: int32 10450 type: integer 10451 successThreshold: 10452 description: Minimum consecutive successes 10453 for the probe to be considered successful 10454 after having failed. Defaults to 1. Must 10455 be 1 for liveness and startup. Minimum 10456 value is 1. 10457 format: int32 10458 type: integer 10459 tcpSocket: 10460 description: TCPSocket specifies an action 10461 involving a TCP port. 10462 properties: 10463 host: 10464 description: 'Optional: Host name to 10465 connect to, defaults to the pod IP.' 10466 type: string 10467 port: 10468 anyOf: 10469 - type: integer 10470 - type: string 10471 description: Number or name of the port 10472 to access on the container. Number 10473 must be in the range 1 to 65535. Name 10474 must be an IANA_SVC_NAME. 10475 x-kubernetes-int-or-string: true 10476 required: 10477 - port 10478 type: object 10479 terminationGracePeriodSeconds: 10480 description: Optional duration in seconds 10481 the pod needs to terminate gracefully 10482 upon probe failure. The grace period is 10483 the duration in seconds after the processes 10484 running in the pod are sent a termination 10485 signal and the time when the processes 10486 are forcibly halted with a kill signal. 10487 Set this value longer than the expected 10488 cleanup time for your process. If this 10489 value is nil, the pod's terminationGracePeriodSeconds 10490 will be used. Otherwise, this value overrides 10491 the value provided by the pod spec. Value 10492 must be non-negative integer. The value 10493 zero indicates stop immediately via the 10494 kill signal (no opportunity to shut down). 10495 This is a beta field and requires enabling 10496 ProbeTerminationGracePeriod feature gate. 10497 Minimum value is 1. spec.terminationGracePeriodSeconds 10498 is used if unset. 10499 format: int64 10500 type: integer 10501 timeoutSeconds: 10502 description: 'Number of seconds after which 10503 the probe times out. Defaults to 1 second. 10504 Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 10505 format: int32 10506 type: integer 10507 type: object 10508 name: 10509 description: Deprecated. This field will be 10510 removed in a future release. Default name 10511 for each Step specified as a DNS_LABEL. Each 10512 Step in a Task must have a unique name. Cannot 10513 be updated. 10514 type: string 10515 ports: 10516 description: Deprecated. This field will be 10517 removed in a future release. List of ports 10518 to expose from the Step's container. Exposing 10519 a port here gives the system additional information 10520 about the network connections a container 10521 uses, but is primarily informational. Not 10522 specifying a port here DOES NOT prevent that 10523 port from being exposed. Any port which is 10524 listening on the default "0.0.0.0" address 10525 inside a container will be accessible from 10526 the network. Cannot be updated. 10527 items: 10528 description: ContainerPort represents a network 10529 port in a single container. 10530 properties: 10531 containerPort: 10532 description: Number of port to expose 10533 on the pod's IP address. This must be 10534 a valid port number, 0 < x < 65536. 10535 format: int32 10536 type: integer 10537 hostIP: 10538 description: What host IP to bind the 10539 external port to. 10540 type: string 10541 hostPort: 10542 description: Number of port to expose 10543 on the host. If specified, this must 10544 be a valid port number, 0 < x < 65536. 10545 If HostNetwork is specified, this must 10546 match ContainerPort. Most containers 10547 do not need this. 10548 format: int32 10549 type: integer 10550 name: 10551 description: If specified, this must be 10552 an IANA_SVC_NAME and unique within the 10553 pod. Each named port in a pod must have 10554 a unique name. Name for the port that 10555 can be referred to by services. 10556 type: string 10557 protocol: 10558 default: TCP 10559 description: Protocol for port. Must be 10560 UDP, TCP, or SCTP. Defaults to "TCP". 10561 type: string 10562 required: 10563 - containerPort 10564 type: object 10565 type: array 10566 x-kubernetes-list-map-keys: 10567 - containerPort 10568 - protocol 10569 x-kubernetes-list-type: map 10570 readinessProbe: 10571 description: 'Deprecated. This field will be 10572 removed in a future release. Periodic probe 10573 of container service readiness. Container 10574 will be removed from service endpoints if 10575 the probe fails. Cannot be updated. More info: 10576 https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 10577 properties: 10578 exec: 10579 description: Exec specifies the action to 10580 take. 10581 properties: 10582 command: 10583 description: Command is the command 10584 line to execute inside the container, 10585 the working directory for the command is 10586 root ('/') in the container's filesystem. 10587 The command is simply exec'd, it is 10588 not run inside a shell, so traditional 10589 shell instructions ('|', etc) won't 10590 work. To use a shell, you need to 10591 explicitly call out to that shell. 10592 Exit status of 0 is treated as live/healthy 10593 and non-zero is unhealthy. 10594 items: 10595 type: string 10596 type: array 10597 type: object 10598 failureThreshold: 10599 description: Minimum consecutive failures 10600 for the probe to be considered failed 10601 after having succeeded. Defaults to 3. 10602 Minimum value is 1. 10603 format: int32 10604 type: integer 10605 grpc: 10606 description: GRPC specifies an action involving 10607 a GRPC port. This is a beta field and 10608 requires enabling GRPCContainerProbe feature 10609 gate. 10610 properties: 10611 port: 10612 description: Port number of the gRPC 10613 service. Number must be in the range 10614 1 to 65535. 10615 format: int32 10616 type: integer 10617 service: 10618 description: "Service is the name of 10619 the service to place in the gRPC HealthCheckRequest 10620 (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). 10621 \n If this is not specified, the default 10622 behavior is defined by gRPC." 10623 type: string 10624 required: 10625 - port 10626 type: object 10627 httpGet: 10628 description: HTTPGet specifies the http 10629 request to perform. 10630 properties: 10631 host: 10632 description: Host name to connect to, 10633 defaults to the pod IP. You probably 10634 want to set "Host" in httpHeaders 10635 instead. 10636 type: string 10637 httpHeaders: 10638 description: Custom headers to set in 10639 the request. HTTP allows repeated 10640 headers. 10641 items: 10642 description: HTTPHeader describes 10643 a custom header to be used in HTTP 10644 probes 10645 properties: 10646 name: 10647 description: The header field 10648 name 10649 type: string 10650 value: 10651 description: The header field 10652 value 10653 type: string 10654 required: 10655 - name 10656 - value 10657 type: object 10658 type: array 10659 path: 10660 description: Path to access on the HTTP 10661 server. 10662 type: string 10663 port: 10664 anyOf: 10665 - type: integer 10666 - type: string 10667 description: Name or number of the port 10668 to access on the container. Number 10669 must be in the range 1 to 65535. Name 10670 must be an IANA_SVC_NAME. 10671 x-kubernetes-int-or-string: true 10672 scheme: 10673 description: Scheme to use for connecting 10674 to the host. Defaults to HTTP. 10675 type: string 10676 required: 10677 - port 10678 type: object 10679 initialDelaySeconds: 10680 description: 'Number of seconds after the 10681 container has started before liveness 10682 probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 10683 format: int32 10684 type: integer 10685 periodSeconds: 10686 description: How often (in seconds) to perform 10687 the probe. Default to 10 seconds. Minimum 10688 value is 1. 10689 format: int32 10690 type: integer 10691 successThreshold: 10692 description: Minimum consecutive successes 10693 for the probe to be considered successful 10694 after having failed. Defaults to 1. Must 10695 be 1 for liveness and startup. Minimum 10696 value is 1. 10697 format: int32 10698 type: integer 10699 tcpSocket: 10700 description: TCPSocket specifies an action 10701 involving a TCP port. 10702 properties: 10703 host: 10704 description: 'Optional: Host name to 10705 connect to, defaults to the pod IP.' 10706 type: string 10707 port: 10708 anyOf: 10709 - type: integer 10710 - type: string 10711 description: Number or name of the port 10712 to access on the container. Number 10713 must be in the range 1 to 65535. Name 10714 must be an IANA_SVC_NAME. 10715 x-kubernetes-int-or-string: true 10716 required: 10717 - port 10718 type: object 10719 terminationGracePeriodSeconds: 10720 description: Optional duration in seconds 10721 the pod needs to terminate gracefully 10722 upon probe failure. The grace period is 10723 the duration in seconds after the processes 10724 running in the pod are sent a termination 10725 signal and the time when the processes 10726 are forcibly halted with a kill signal. 10727 Set this value longer than the expected 10728 cleanup time for your process. If this 10729 value is nil, the pod's terminationGracePeriodSeconds 10730 will be used. Otherwise, this value overrides 10731 the value provided by the pod spec. Value 10732 must be non-negative integer. The value 10733 zero indicates stop immediately via the 10734 kill signal (no opportunity to shut down). 10735 This is a beta field and requires enabling 10736 ProbeTerminationGracePeriod feature gate. 10737 Minimum value is 1. spec.terminationGracePeriodSeconds 10738 is used if unset. 10739 format: int64 10740 type: integer 10741 timeoutSeconds: 10742 description: 'Number of seconds after which 10743 the probe times out. Defaults to 1 second. 10744 Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 10745 format: int32 10746 type: integer 10747 type: object 10748 resources: 10749 description: 'Compute Resources required by 10750 this Step. Cannot be updated. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' 10751 properties: 10752 limits: 10753 additionalProperties: 10754 anyOf: 10755 - type: integer 10756 - type: string 10757 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 10758 x-kubernetes-int-or-string: true 10759 description: 'Limits describes the maximum 10760 amount of compute resources allowed. More 10761 info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' 10762 type: object 10763 requests: 10764 additionalProperties: 10765 anyOf: 10766 - type: integer 10767 - type: string 10768 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 10769 x-kubernetes-int-or-string: true 10770 description: 'Requests describes the minimum 10771 amount of compute resources required. 10772 If Requests is omitted for a container, 10773 it defaults to Limits if that is explicitly 10774 specified, otherwise to an implementation-defined 10775 value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' 10776 type: object 10777 type: object 10778 securityContext: 10779 description: 'SecurityContext defines the security 10780 options the Step should be run with. If set, 10781 the fields of SecurityContext override the 10782 equivalent fields of PodSecurityContext. More 10783 info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/' 10784 properties: 10785 allowPrivilegeEscalation: 10786 description: 'AllowPrivilegeEscalation controls 10787 whether a process can gain more privileges 10788 than its parent process. This bool directly 10789 controls if the no_new_privs flag will 10790 be set on the container process. AllowPrivilegeEscalation 10791 is true always when the container is: 10792 1) run as Privileged 2) has CAP_SYS_ADMIN 10793 Note that this field cannot be set when 10794 spec.os.name is windows.' 10795 type: boolean 10796 capabilities: 10797 description: The capabilities to add/drop 10798 when running containers. Defaults to the 10799 default set of capabilities granted by 10800 the container runtime. Note that this 10801 field cannot be set when spec.os.name 10802 is windows. 10803 properties: 10804 add: 10805 description: Added capabilities 10806 items: 10807 description: Capability represent 10808 POSIX capabilities type 10809 type: string 10810 type: array 10811 drop: 10812 description: Removed capabilities 10813 items: 10814 description: Capability represent 10815 POSIX capabilities type 10816 type: string 10817 type: array 10818 type: object 10819 privileged: 10820 description: Run container in privileged 10821 mode. Processes in privileged containers 10822 are essentially equivalent to root on 10823 the host. Defaults to false. Note that 10824 this field cannot be set when spec.os.name 10825 is windows. 10826 type: boolean 10827 procMount: 10828 description: procMount denotes the type 10829 of proc mount to use for the containers. 10830 The default is DefaultProcMount which 10831 uses the container runtime defaults for 10832 readonly paths and masked paths. This 10833 requires the ProcMountType feature flag 10834 to be enabled. Note that this field cannot 10835 be set when spec.os.name is windows. 10836 type: string 10837 readOnlyRootFilesystem: 10838 description: Whether this container has 10839 a read-only root filesystem. Default is 10840 false. Note that this field cannot be 10841 set when spec.os.name is windows. 10842 type: boolean 10843 runAsGroup: 10844 description: The GID to run the entrypoint 10845 of the container process. Uses runtime 10846 default if unset. May also be set in PodSecurityContext. If 10847 set in both SecurityContext and PodSecurityContext, 10848 the value specified in SecurityContext 10849 takes precedence. Note that this field 10850 cannot be set when spec.os.name is windows. 10851 format: int64 10852 type: integer 10853 runAsNonRoot: 10854 description: Indicates that the container 10855 must run as a non-root user. If true, 10856 the Kubelet will validate the image at 10857 runtime to ensure that it does not run 10858 as UID 0 (root) and fail to start the 10859 container if it does. If unset or false, 10860 no such validation will be performed. 10861 May also be set in PodSecurityContext. If 10862 set in both SecurityContext and PodSecurityContext, 10863 the value specified in SecurityContext 10864 takes precedence. 10865 type: boolean 10866 runAsUser: 10867 description: The UID to run the entrypoint 10868 of the container process. Defaults to 10869 user specified in image metadata if unspecified. 10870 May also be set in PodSecurityContext. If 10871 set in both SecurityContext and PodSecurityContext, 10872 the value specified in SecurityContext 10873 takes precedence. Note that this field 10874 cannot be set when spec.os.name is windows. 10875 format: int64 10876 type: integer 10877 seLinuxOptions: 10878 description: The SELinux context to be applied 10879 to the container. If unspecified, the 10880 container runtime will allocate a random 10881 SELinux context for each container. May 10882 also be set in PodSecurityContext. If 10883 set in both SecurityContext and PodSecurityContext, 10884 the value specified in SecurityContext 10885 takes precedence. Note that this field 10886 cannot be set when spec.os.name is windows. 10887 properties: 10888 level: 10889 description: Level is SELinux level 10890 label that applies to the container. 10891 type: string 10892 role: 10893 description: Role is a SELinux role 10894 label that applies to the container. 10895 type: string 10896 type: 10897 description: Type is a SELinux type 10898 label that applies to the container. 10899 type: string 10900 user: 10901 description: User is a SELinux user 10902 label that applies to the container. 10903 type: string 10904 type: object 10905 seccompProfile: 10906 description: The seccomp options to use 10907 by this container. If seccomp options 10908 are provided at both the pod & container 10909 level, the container options override 10910 the pod options. Note that this field 10911 cannot be set when spec.os.name is windows. 10912 properties: 10913 localhostProfile: 10914 description: localhostProfile indicates 10915 a profile defined in a file on the 10916 node should be used. The profile must 10917 be preconfigured on the node to work. 10918 Must be a descending path, relative 10919 to the kubelet's configured seccomp 10920 profile location. Must only be set 10921 if type is "Localhost". 10922 type: string 10923 type: 10924 description: "type indicates which kind 10925 of seccomp profile will be applied. 10926 Valid options are: \n Localhost - 10927 a profile defined in a file on the 10928 node should be used. RuntimeDefault 10929 - the container runtime default profile 10930 should be used. Unconfined - no profile 10931 should be applied." 10932 type: string 10933 required: 10934 - type 10935 type: object 10936 windowsOptions: 10937 description: The Windows specific settings 10938 applied to all containers. If unspecified, 10939 the options from the PodSecurityContext 10940 will be used. If set in both SecurityContext 10941 and PodSecurityContext, the value specified 10942 in SecurityContext takes precedence. Note 10943 that this field cannot be set when spec.os.name 10944 is linux. 10945 properties: 10946 gmsaCredentialSpec: 10947 description: GMSACredentialSpec is where 10948 the GMSA admission webhook (https://github.com/kubernetes-sigs/windows-gmsa) 10949 inlines the contents of the GMSA credential 10950 spec named by the GMSACredentialSpecName 10951 field. 10952 type: string 10953 gmsaCredentialSpecName: 10954 description: GMSACredentialSpecName 10955 is the name of the GMSA credential 10956 spec to use. 10957 type: string 10958 hostProcess: 10959 description: HostProcess determines 10960 if a container should be run as a 10961 'Host Process' container. This field 10962 is alpha-level and will only be honored 10963 by components that enable the WindowsHostProcessContainers 10964 feature flag. Setting this field without 10965 the feature flag will result in errors 10966 when validating the Pod. All of a 10967 Pod's containers must have the same 10968 effective HostProcess value (it is 10969 not allowed to have a mix of HostProcess 10970 containers and non-HostProcess containers). In 10971 addition, if HostProcess is true then 10972 HostNetwork must also be set to true. 10973 type: boolean 10974 runAsUserName: 10975 description: The UserName in Windows 10976 to run the entrypoint of the container 10977 process. Defaults to the user specified 10978 in image metadata if unspecified. 10979 May also be set in PodSecurityContext. 10980 If set in both SecurityContext and 10981 PodSecurityContext, the value specified 10982 in SecurityContext takes precedence. 10983 type: string 10984 type: object 10985 type: object 10986 startupProbe: 10987 description: 'Deprecated. This field will be 10988 removed in a future release. DeprecatedStartupProbe 10989 indicates that the Pod has successfully initialized. 10990 If specified, no other probes are executed 10991 until this completes successfully. If this 10992 probe fails, the Pod will be restarted, just 10993 as if the livenessProbe failed. This can be 10994 used to provide different probe parameters 10995 at the beginning of a Pod''s lifecycle, when 10996 it might take a long time to load data or 10997 warm a cache, than during steady-state operation. 10998 This cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 10999 properties: 11000 exec: 11001 description: Exec specifies the action to 11002 take. 11003 properties: 11004 command: 11005 description: Command is the command 11006 line to execute inside the container, 11007 the working directory for the command is 11008 root ('/') in the container's filesystem. 11009 The command is simply exec'd, it is 11010 not run inside a shell, so traditional 11011 shell instructions ('|', etc) won't 11012 work. To use a shell, you need to 11013 explicitly call out to that shell. 11014 Exit status of 0 is treated as live/healthy 11015 and non-zero is unhealthy. 11016 items: 11017 type: string 11018 type: array 11019 type: object 11020 failureThreshold: 11021 description: Minimum consecutive failures 11022 for the probe to be considered failed 11023 after having succeeded. Defaults to 3. 11024 Minimum value is 1. 11025 format: int32 11026 type: integer 11027 grpc: 11028 description: GRPC specifies an action involving 11029 a GRPC port. This is a beta field and 11030 requires enabling GRPCContainerProbe feature 11031 gate. 11032 properties: 11033 port: 11034 description: Port number of the gRPC 11035 service. Number must be in the range 11036 1 to 65535. 11037 format: int32 11038 type: integer 11039 service: 11040 description: "Service is the name of 11041 the service to place in the gRPC HealthCheckRequest 11042 (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). 11043 \n If this is not specified, the default 11044 behavior is defined by gRPC." 11045 type: string 11046 required: 11047 - port 11048 type: object 11049 httpGet: 11050 description: HTTPGet specifies the http 11051 request to perform. 11052 properties: 11053 host: 11054 description: Host name to connect to, 11055 defaults to the pod IP. You probably 11056 want to set "Host" in httpHeaders 11057 instead. 11058 type: string 11059 httpHeaders: 11060 description: Custom headers to set in 11061 the request. HTTP allows repeated 11062 headers. 11063 items: 11064 description: HTTPHeader describes 11065 a custom header to be used in HTTP 11066 probes 11067 properties: 11068 name: 11069 description: The header field 11070 name 11071 type: string 11072 value: 11073 description: The header field 11074 value 11075 type: string 11076 required: 11077 - name 11078 - value 11079 type: object 11080 type: array 11081 path: 11082 description: Path to access on the HTTP 11083 server. 11084 type: string 11085 port: 11086 anyOf: 11087 - type: integer 11088 - type: string 11089 description: Name or number of the port 11090 to access on the container. Number 11091 must be in the range 1 to 65535. Name 11092 must be an IANA_SVC_NAME. 11093 x-kubernetes-int-or-string: true 11094 scheme: 11095 description: Scheme to use for connecting 11096 to the host. Defaults to HTTP. 11097 type: string 11098 required: 11099 - port 11100 type: object 11101 initialDelaySeconds: 11102 description: 'Number of seconds after the 11103 container has started before liveness 11104 probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 11105 format: int32 11106 type: integer 11107 periodSeconds: 11108 description: How often (in seconds) to perform 11109 the probe. Default to 10 seconds. Minimum 11110 value is 1. 11111 format: int32 11112 type: integer 11113 successThreshold: 11114 description: Minimum consecutive successes 11115 for the probe to be considered successful 11116 after having failed. Defaults to 1. Must 11117 be 1 for liveness and startup. Minimum 11118 value is 1. 11119 format: int32 11120 type: integer 11121 tcpSocket: 11122 description: TCPSocket specifies an action 11123 involving a TCP port. 11124 properties: 11125 host: 11126 description: 'Optional: Host name to 11127 connect to, defaults to the pod IP.' 11128 type: string 11129 port: 11130 anyOf: 11131 - type: integer 11132 - type: string 11133 description: Number or name of the port 11134 to access on the container. Number 11135 must be in the range 1 to 65535. Name 11136 must be an IANA_SVC_NAME. 11137 x-kubernetes-int-or-string: true 11138 required: 11139 - port 11140 type: object 11141 terminationGracePeriodSeconds: 11142 description: Optional duration in seconds 11143 the pod needs to terminate gracefully 11144 upon probe failure. The grace period is 11145 the duration in seconds after the processes 11146 running in the pod are sent a termination 11147 signal and the time when the processes 11148 are forcibly halted with a kill signal. 11149 Set this value longer than the expected 11150 cleanup time for your process. If this 11151 value is nil, the pod's terminationGracePeriodSeconds 11152 will be used. Otherwise, this value overrides 11153 the value provided by the pod spec. Value 11154 must be non-negative integer. The value 11155 zero indicates stop immediately via the 11156 kill signal (no opportunity to shut down). 11157 This is a beta field and requires enabling 11158 ProbeTerminationGracePeriod feature gate. 11159 Minimum value is 1. spec.terminationGracePeriodSeconds 11160 is used if unset. 11161 format: int64 11162 type: integer 11163 timeoutSeconds: 11164 description: 'Number of seconds after which 11165 the probe times out. Defaults to 1 second. 11166 Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 11167 format: int32 11168 type: integer 11169 type: object 11170 stdin: 11171 description: Deprecated. This field will be 11172 removed in a future release. Whether this 11173 Step should allocate a buffer for stdin in 11174 the container runtime. If this is not set, 11175 reads from stdin in the Step will always result 11176 in EOF. Default is false. 11177 type: boolean 11178 stdinOnce: 11179 description: Deprecated. This field will be 11180 removed in a future release. Whether the container 11181 runtime should close the stdin channel after 11182 it has been opened by a single attach. When 11183 stdin is true the stdin stream will remain 11184 open across multiple attach sessions. If stdinOnce 11185 is set to true, stdin is opened on container 11186 start, is empty until the first client attaches 11187 to stdin, and then remains open and accepts 11188 data until the client disconnects, at which 11189 time stdin is closed and remains closed until 11190 the container is restarted. If this flag is 11191 false, a container processes that reads from 11192 stdin will never receive an EOF. Default is 11193 false 11194 type: boolean 11195 terminationMessagePath: 11196 description: Deprecated. This field will be 11197 removed in a future release and cannot be 11198 meaningfully used. 11199 type: string 11200 terminationMessagePolicy: 11201 description: Deprecated. This field will be 11202 removed in a future release and cannot be 11203 meaningfully used. 11204 type: string 11205 tty: 11206 description: Deprecated. This field will be 11207 removed in a future release. Whether this 11208 Step should allocate a DeprecatedTTY for itself, 11209 also requires 'stdin' to be true. Default 11210 is false. 11211 type: boolean 11212 volumeDevices: 11213 description: volumeDevices is the list of block 11214 devices to be used by the Step. 11215 items: 11216 description: volumeDevice describes a mapping 11217 of a raw block device within a container. 11218 properties: 11219 devicePath: 11220 description: devicePath is the path inside 11221 of the container that the device will 11222 be mapped to. 11223 type: string 11224 name: 11225 description: name must match the name 11226 of a persistentVolumeClaim in the pod 11227 type: string 11228 required: 11229 - devicePath 11230 - name 11231 type: object 11232 type: array 11233 x-kubernetes-list-type: atomic 11234 volumeMounts: 11235 description: Volumes to mount into the Step's 11236 filesystem. Cannot be updated. 11237 items: 11238 description: VolumeMount describes a mounting 11239 of a Volume within a container. 11240 properties: 11241 mountPath: 11242 description: Path within the container 11243 at which the volume should be mounted. Must 11244 not contain ':'. 11245 type: string 11246 mountPropagation: 11247 description: mountPropagation determines 11248 how mounts are propagated from the host 11249 to container and the other way around. 11250 When not set, MountPropagationNone is 11251 used. This field is beta in 1.10. 11252 type: string 11253 name: 11254 description: This must match the Name 11255 of a Volume. 11256 type: string 11257 readOnly: 11258 description: Mounted read-only if true, 11259 read-write otherwise (false or unspecified). 11260 Defaults to false. 11261 type: boolean 11262 subPath: 11263 description: Path within the volume from 11264 which the container's volume should 11265 be mounted. Defaults to "" (volume's 11266 root). 11267 type: string 11268 subPathExpr: 11269 description: Expanded path within the 11270 volume from which the container's volume 11271 should be mounted. Behaves similarly 11272 to SubPath but environment variable 11273 references $(VAR_NAME) are expanded 11274 using the container's environment. Defaults 11275 to "" (volume's root). SubPathExpr and 11276 SubPath are mutually exclusive. 11277 type: string 11278 required: 11279 - mountPath 11280 - name 11281 type: object 11282 type: array 11283 x-kubernetes-list-type: atomic 11284 workingDir: 11285 description: Step's working directory. If not 11286 specified, the container runtime's default 11287 will be used, which might be configured in 11288 the container image. Cannot be updated. 11289 type: string 11290 required: 11291 - name 11292 type: object 11293 steps: 11294 description: Steps are the steps of the build; each 11295 step is run sequentially with the source mounted 11296 into /workspace. 11297 items: 11298 description: Step runs a subcomponent of a Task 11299 properties: 11300 args: 11301 description: 'Arguments to the entrypoint. 11302 The image''s CMD is used if this is not 11303 provided. Variable references $(VAR_NAME) 11304 are expanded using the container''s environment. 11305 If a variable cannot be resolved, the reference 11306 in the input string will be unchanged. Double 11307 $$ are reduced to a single $, which allows 11308 for escaping the $(VAR_NAME) syntax: i.e. 11309 "$$(VAR_NAME)" will produce the string literal 11310 "$(VAR_NAME)". Escaped references will never 11311 be expanded, regardless of whether the variable 11312 exists or not. Cannot be updated. More info: 11313 https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell' 11314 items: 11315 type: string 11316 type: array 11317 x-kubernetes-list-type: atomic 11318 command: 11319 description: 'Entrypoint array. Not executed 11320 within a shell. The image''s ENTRYPOINT 11321 is used if this is not provided. Variable 11322 references $(VAR_NAME) are expanded using 11323 the container''s environment. If a variable 11324 cannot be resolved, the reference in the 11325 input string will be unchanged. Double $$ 11326 are reduced to a single $, which allows 11327 for escaping the $(VAR_NAME) syntax: i.e. 11328 "$$(VAR_NAME)" will produce the string literal 11329 "$(VAR_NAME)". Escaped references will never 11330 be expanded, regardless of whether the variable 11331 exists or not. Cannot be updated. More info: 11332 https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell' 11333 items: 11334 type: string 11335 type: array 11336 x-kubernetes-list-type: atomic 11337 env: 11338 description: List of environment variables 11339 to set in the container. Cannot be updated. 11340 items: 11341 description: EnvVar represents an environment 11342 variable present in a Container. 11343 properties: 11344 name: 11345 description: Name of the environment 11346 variable. Must be a C_IDENTIFIER. 11347 type: string 11348 value: 11349 description: 'Variable references $(VAR_NAME) 11350 are expanded using the previously 11351 defined environment variables in the 11352 container and any service environment 11353 variables. If a variable cannot be 11354 resolved, the reference in the input 11355 string will be unchanged. Double $$ 11356 are reduced to a single $, which allows 11357 for escaping the $(VAR_NAME) syntax: 11358 i.e. "$$(VAR_NAME)" will produce the 11359 string literal "$(VAR_NAME)". Escaped 11360 references will never be expanded, 11361 regardless of whether the variable 11362 exists or not. Defaults to "".' 11363 type: string 11364 valueFrom: 11365 description: Source for the environment 11366 variable's value. Cannot be used if 11367 value is not empty. 11368 properties: 11369 configMapKeyRef: 11370 description: Selects a key of a 11371 ConfigMap. 11372 properties: 11373 key: 11374 description: The key to select. 11375 type: string 11376 name: 11377 description: 'Name of the referent. 11378 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 11379 TODO: Add other useful fields. 11380 apiVersion, kind, uid?' 11381 type: string 11382 optional: 11383 description: Specify whether 11384 the ConfigMap or its key must 11385 be defined 11386 type: boolean 11387 required: 11388 - key 11389 type: object 11390 fieldRef: 11391 description: 'Selects a field of 11392 the pod: supports metadata.name, 11393 metadata.namespace, `metadata.labels[''<KEY>'']`, 11394 `metadata.annotations[''<KEY>'']`, 11395 spec.nodeName, spec.serviceAccountName, 11396 status.hostIP, status.podIP, status.podIPs.' 11397 properties: 11398 apiVersion: 11399 description: Version of the 11400 schema the FieldPath is written 11401 in terms of, defaults to "v1". 11402 type: string 11403 fieldPath: 11404 description: Path of the field 11405 to select in the specified 11406 API version. 11407 type: string 11408 required: 11409 - fieldPath 11410 type: object 11411 resourceFieldRef: 11412 description: 'Selects a resource 11413 of the container: only resources 11414 limits and requests (limits.cpu, 11415 limits.memory, limits.ephemeral-storage, 11416 requests.cpu, requests.memory 11417 and requests.ephemeral-storage) 11418 are currently supported.' 11419 properties: 11420 containerName: 11421 description: 'Container name: 11422 required for volumes, optional 11423 for env vars' 11424 type: string 11425 divisor: 11426 anyOf: 11427 - type: integer 11428 - type: string 11429 description: Specifies the output 11430 format of the exposed resources, 11431 defaults to "1" 11432 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 11433 x-kubernetes-int-or-string: true 11434 resource: 11435 description: 'Required: resource 11436 to select' 11437 type: string 11438 required: 11439 - resource 11440 type: object 11441 secretKeyRef: 11442 description: Selects a key of a 11443 secret in the pod's namespace 11444 properties: 11445 key: 11446 description: The key of the 11447 secret to select from. Must 11448 be a valid secret key. 11449 type: string 11450 name: 11451 description: 'Name of the referent. 11452 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 11453 TODO: Add other useful fields. 11454 apiVersion, kind, uid?' 11455 type: string 11456 optional: 11457 description: Specify whether 11458 the Secret or its key must 11459 be defined 11460 type: boolean 11461 required: 11462 - key 11463 type: object 11464 type: object 11465 required: 11466 - name 11467 type: object 11468 type: array 11469 x-kubernetes-list-type: atomic 11470 envFrom: 11471 description: List of sources to populate environment 11472 variables in the container. The keys defined 11473 within a source must be a C_IDENTIFIER. 11474 All invalid keys will be reported as an 11475 event when the container is starting. When 11476 a key exists in multiple sources, the value 11477 associated with the last source will take 11478 precedence. Values defined by an Env with 11479 a duplicate key will take precedence. Cannot 11480 be updated. 11481 items: 11482 description: EnvFromSource represents the 11483 source of a set of ConfigMaps 11484 properties: 11485 configMapRef: 11486 description: The ConfigMap to select 11487 from 11488 properties: 11489 name: 11490 description: 'Name of the referent. 11491 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 11492 TODO: Add other useful fields. 11493 apiVersion, kind, uid?' 11494 type: string 11495 optional: 11496 description: Specify whether the 11497 ConfigMap must be defined 11498 type: boolean 11499 type: object 11500 prefix: 11501 description: An optional identifier 11502 to prepend to each key in the ConfigMap. 11503 Must be a C_IDENTIFIER. 11504 type: string 11505 secretRef: 11506 description: The Secret to select from 11507 properties: 11508 name: 11509 description: 'Name of the referent. 11510 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 11511 TODO: Add other useful fields. 11512 apiVersion, kind, uid?' 11513 type: string 11514 optional: 11515 description: Specify whether the 11516 Secret must be defined 11517 type: boolean 11518 type: object 11519 type: object 11520 type: array 11521 x-kubernetes-list-type: atomic 11522 image: 11523 description: 'Image reference name to run 11524 for this Step. More info: https://kubernetes.io/docs/concepts/containers/images' 11525 type: string 11526 imagePullPolicy: 11527 description: 'Image pull policy. One of Always, 11528 Never, IfNotPresent. Defaults to Always 11529 if :latest tag is specified, or IfNotPresent 11530 otherwise. Cannot be updated. More info: 11531 https://kubernetes.io/docs/concepts/containers/images#updating-images' 11532 type: string 11533 lifecycle: 11534 description: Deprecated. This field will be 11535 removed in a future release. Actions that 11536 the management system should take in response 11537 to container lifecycle events. Cannot be 11538 updated. 11539 properties: 11540 postStart: 11541 description: 'PostStart is called immediately 11542 after a container is created. If the 11543 handler fails, the container is terminated 11544 and restarted according to its restart 11545 policy. Other management of the container 11546 blocks until the hook completes. More 11547 info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks' 11548 properties: 11549 exec: 11550 description: Exec specifies the action 11551 to take. 11552 properties: 11553 command: 11554 description: Command is the command 11555 line to execute inside the container, 11556 the working directory for the 11557 command is root ('/') in the 11558 container's filesystem. The 11559 command is simply exec'd, it 11560 is not run inside a shell, so 11561 traditional shell instructions 11562 ('|', etc) won't work. To use 11563 a shell, you need to explicitly 11564 call out to that shell. Exit 11565 status of 0 is treated as live/healthy 11566 and non-zero is unhealthy. 11567 items: 11568 type: string 11569 type: array 11570 type: object 11571 httpGet: 11572 description: HTTPGet specifies the 11573 http request to perform. 11574 properties: 11575 host: 11576 description: Host name to connect 11577 to, defaults to the pod IP. 11578 You probably want to set "Host" 11579 in httpHeaders instead. 11580 type: string 11581 httpHeaders: 11582 description: Custom headers to 11583 set in the request. HTTP allows 11584 repeated headers. 11585 items: 11586 description: HTTPHeader describes 11587 a custom header to be used 11588 in HTTP probes 11589 properties: 11590 name: 11591 description: The header 11592 field name 11593 type: string 11594 value: 11595 description: The header 11596 field value 11597 type: string 11598 required: 11599 - name 11600 - value 11601 type: object 11602 type: array 11603 path: 11604 description: Path to access on 11605 the HTTP server. 11606 type: string 11607 port: 11608 anyOf: 11609 - type: integer 11610 - type: string 11611 description: Name or number of 11612 the port to access on the container. 11613 Number must be in the range 11614 1 to 65535. Name must be an 11615 IANA_SVC_NAME. 11616 x-kubernetes-int-or-string: true 11617 scheme: 11618 description: Scheme to use for 11619 connecting to the host. Defaults 11620 to HTTP. 11621 type: string 11622 required: 11623 - port 11624 type: object 11625 tcpSocket: 11626 description: Deprecated. TCPSocket 11627 is NOT supported as a LifecycleHandler 11628 and kept for the backward compatibility. 11629 There are no validation of this 11630 field and lifecycle hooks will fail 11631 in runtime when tcp handler is specified. 11632 properties: 11633 host: 11634 description: 'Optional: Host name 11635 to connect to, defaults to the 11636 pod IP.' 11637 type: string 11638 port: 11639 anyOf: 11640 - type: integer 11641 - type: string 11642 description: Number or name of 11643 the port to access on the container. 11644 Number must be in the range 11645 1 to 65535. Name must be an 11646 IANA_SVC_NAME. 11647 x-kubernetes-int-or-string: true 11648 required: 11649 - port 11650 type: object 11651 type: object 11652 preStop: 11653 description: 'PreStop is called immediately 11654 before a container is terminated due 11655 to an API request or management event 11656 such as liveness/startup probe failure, 11657 preemption, resource contention, etc. 11658 The handler is not called if the container 11659 crashes or exits. The Pod''s termination 11660 grace period countdown begins before 11661 the PreStop hook is executed. Regardless 11662 of the outcome of the handler, the container 11663 will eventually terminate within the 11664 Pod''s termination grace period (unless 11665 delayed by finalizers). Other management 11666 of the container blocks until the hook 11667 completes or until the termination grace 11668 period is reached. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks' 11669 properties: 11670 exec: 11671 description: Exec specifies the action 11672 to take. 11673 properties: 11674 command: 11675 description: Command is the command 11676 line to execute inside the container, 11677 the working directory for the 11678 command is root ('/') in the 11679 container's filesystem. The 11680 command is simply exec'd, it 11681 is not run inside a shell, so 11682 traditional shell instructions 11683 ('|', etc) won't work. To use 11684 a shell, you need to explicitly 11685 call out to that shell. Exit 11686 status of 0 is treated as live/healthy 11687 and non-zero is unhealthy. 11688 items: 11689 type: string 11690 type: array 11691 type: object 11692 httpGet: 11693 description: HTTPGet specifies the 11694 http request to perform. 11695 properties: 11696 host: 11697 description: Host name to connect 11698 to, defaults to the pod IP. 11699 You probably want to set "Host" 11700 in httpHeaders instead. 11701 type: string 11702 httpHeaders: 11703 description: Custom headers to 11704 set in the request. HTTP allows 11705 repeated headers. 11706 items: 11707 description: HTTPHeader describes 11708 a custom header to be used 11709 in HTTP probes 11710 properties: 11711 name: 11712 description: The header 11713 field name 11714 type: string 11715 value: 11716 description: The header 11717 field value 11718 type: string 11719 required: 11720 - name 11721 - value 11722 type: object 11723 type: array 11724 path: 11725 description: Path to access on 11726 the HTTP server. 11727 type: string 11728 port: 11729 anyOf: 11730 - type: integer 11731 - type: string 11732 description: Name or number of 11733 the port to access on the container. 11734 Number must be in the range 11735 1 to 65535. Name must be an 11736 IANA_SVC_NAME. 11737 x-kubernetes-int-or-string: true 11738 scheme: 11739 description: Scheme to use for 11740 connecting to the host. Defaults 11741 to HTTP. 11742 type: string 11743 required: 11744 - port 11745 type: object 11746 tcpSocket: 11747 description: Deprecated. TCPSocket 11748 is NOT supported as a LifecycleHandler 11749 and kept for the backward compatibility. 11750 There are no validation of this 11751 field and lifecycle hooks will fail 11752 in runtime when tcp handler is specified. 11753 properties: 11754 host: 11755 description: 'Optional: Host name 11756 to connect to, defaults to the 11757 pod IP.' 11758 type: string 11759 port: 11760 anyOf: 11761 - type: integer 11762 - type: string 11763 description: Number or name of 11764 the port to access on the container. 11765 Number must be in the range 11766 1 to 65535. Name must be an 11767 IANA_SVC_NAME. 11768 x-kubernetes-int-or-string: true 11769 required: 11770 - port 11771 type: object 11772 type: object 11773 type: object 11774 livenessProbe: 11775 description: 'Deprecated. This field will 11776 be removed in a future release. Periodic 11777 probe of container liveness. Step will be 11778 restarted if the probe fails. Cannot be 11779 updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 11780 properties: 11781 exec: 11782 description: Exec specifies the action 11783 to take. 11784 properties: 11785 command: 11786 description: Command is the command 11787 line to execute inside the container, 11788 the working directory for the command is 11789 root ('/') in the container's filesystem. 11790 The command is simply exec'd, it 11791 is not run inside a shell, so traditional 11792 shell instructions ('|', etc) won't 11793 work. To use a shell, you need to 11794 explicitly call out to that shell. 11795 Exit status of 0 is treated as live/healthy 11796 and non-zero is unhealthy. 11797 items: 11798 type: string 11799 type: array 11800 type: object 11801 failureThreshold: 11802 description: Minimum consecutive failures 11803 for the probe to be considered failed 11804 after having succeeded. Defaults to 11805 3. Minimum value is 1. 11806 format: int32 11807 type: integer 11808 grpc: 11809 description: GRPC specifies an action 11810 involving a GRPC port. This is a beta 11811 field and requires enabling GRPCContainerProbe 11812 feature gate. 11813 properties: 11814 port: 11815 description: Port number of the gRPC 11816 service. Number must be in the range 11817 1 to 65535. 11818 format: int32 11819 type: integer 11820 service: 11821 description: "Service is the name 11822 of the service to place in the gRPC 11823 HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). 11824 \n If this is not specified, the 11825 default behavior is defined by gRPC." 11826 type: string 11827 required: 11828 - port 11829 type: object 11830 httpGet: 11831 description: HTTPGet specifies the http 11832 request to perform. 11833 properties: 11834 host: 11835 description: Host name to connect 11836 to, defaults to the pod IP. You 11837 probably want to set "Host" in httpHeaders 11838 instead. 11839 type: string 11840 httpHeaders: 11841 description: Custom headers to set 11842 in the request. HTTP allows repeated 11843 headers. 11844 items: 11845 description: HTTPHeader describes 11846 a custom header to be used in 11847 HTTP probes 11848 properties: 11849 name: 11850 description: The header field 11851 name 11852 type: string 11853 value: 11854 description: The header field 11855 value 11856 type: string 11857 required: 11858 - name 11859 - value 11860 type: object 11861 type: array 11862 path: 11863 description: Path to access on the 11864 HTTP server. 11865 type: string 11866 port: 11867 anyOf: 11868 - type: integer 11869 - type: string 11870 description: Name or number of the 11871 port to access on the container. 11872 Number must be in the range 1 to 11873 65535. Name must be an IANA_SVC_NAME. 11874 x-kubernetes-int-or-string: true 11875 scheme: 11876 description: Scheme to use for connecting 11877 to the host. Defaults to HTTP. 11878 type: string 11879 required: 11880 - port 11881 type: object 11882 initialDelaySeconds: 11883 description: 'Number of seconds after 11884 the container has started before liveness 11885 probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 11886 format: int32 11887 type: integer 11888 periodSeconds: 11889 description: How often (in seconds) to 11890 perform the probe. Default to 10 seconds. 11891 Minimum value is 1. 11892 format: int32 11893 type: integer 11894 successThreshold: 11895 description: Minimum consecutive successes 11896 for the probe to be considered successful 11897 after having failed. Defaults to 1. 11898 Must be 1 for liveness and startup. 11899 Minimum value is 1. 11900 format: int32 11901 type: integer 11902 tcpSocket: 11903 description: TCPSocket specifies an action 11904 involving a TCP port. 11905 properties: 11906 host: 11907 description: 'Optional: Host name 11908 to connect to, defaults to the pod 11909 IP.' 11910 type: string 11911 port: 11912 anyOf: 11913 - type: integer 11914 - type: string 11915 description: Number or name of the 11916 port to access on the container. 11917 Number must be in the range 1 to 11918 65535. Name must be an IANA_SVC_NAME. 11919 x-kubernetes-int-or-string: true 11920 required: 11921 - port 11922 type: object 11923 terminationGracePeriodSeconds: 11924 description: Optional duration in seconds 11925 the pod needs to terminate gracefully 11926 upon probe failure. The grace period 11927 is the duration in seconds after the 11928 processes running in the pod are sent 11929 a termination signal and the time when 11930 the processes are forcibly halted with 11931 a kill signal. Set this value longer 11932 than the expected cleanup time for your 11933 process. If this value is nil, the pod's 11934 terminationGracePeriodSeconds will be 11935 used. Otherwise, this value overrides 11936 the value provided by the pod spec. 11937 Value must be non-negative integer. 11938 The value zero indicates stop immediately 11939 via the kill signal (no opportunity 11940 to shut down). This is a beta field 11941 and requires enabling ProbeTerminationGracePeriod 11942 feature gate. Minimum value is 1. spec.terminationGracePeriodSeconds 11943 is used if unset. 11944 format: int64 11945 type: integer 11946 timeoutSeconds: 11947 description: 'Number of seconds after 11948 which the probe times out. Defaults 11949 to 1 second. Minimum value is 1. More 11950 info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 11951 format: int32 11952 type: integer 11953 type: object 11954 name: 11955 description: Name of the Step specified as 11956 a DNS_LABEL. Each Step in a Task must have 11957 a unique name. 11958 type: string 11959 onError: 11960 description: OnError defines the exiting behavior 11961 of a container on error can be set to [ 11962 continue | stopAndFail ] 11963 type: string 11964 ports: 11965 description: Deprecated. This field will be 11966 removed in a future release. List of ports 11967 to expose from the Step's container. Exposing 11968 a port here gives the system additional 11969 information about the network connections 11970 a container uses, but is primarily informational. 11971 Not specifying a port here DOES NOT prevent 11972 that port from being exposed. Any port which 11973 is listening on the default "0.0.0.0" address 11974 inside a container will be accessible from 11975 the network. Cannot be updated. 11976 items: 11977 description: ContainerPort represents a 11978 network port in a single container. 11979 properties: 11980 containerPort: 11981 description: Number of port to expose 11982 on the pod's IP address. This must 11983 be a valid port number, 0 < x < 65536. 11984 format: int32 11985 type: integer 11986 hostIP: 11987 description: What host IP to bind the 11988 external port to. 11989 type: string 11990 hostPort: 11991 description: Number of port to expose 11992 on the host. If specified, this must 11993 be a valid port number, 0 < x < 65536. 11994 If HostNetwork is specified, this 11995 must match ContainerPort. Most containers 11996 do not need this. 11997 format: int32 11998 type: integer 11999 name: 12000 description: If specified, this must 12001 be an IANA_SVC_NAME and unique within 12002 the pod. Each named port in a pod 12003 must have a unique name. Name for 12004 the port that can be referred to by 12005 services. 12006 type: string 12007 protocol: 12008 default: TCP 12009 description: Protocol for port. Must 12010 be UDP, TCP, or SCTP. Defaults to 12011 "TCP". 12012 type: string 12013 required: 12014 - containerPort 12015 type: object 12016 type: array 12017 x-kubernetes-list-map-keys: 12018 - containerPort 12019 - protocol 12020 x-kubernetes-list-type: map 12021 readinessProbe: 12022 description: 'Deprecated. This field will 12023 be removed in a future release. Periodic 12024 probe of container service readiness. Step 12025 will be removed from service endpoints if 12026 the probe fails. Cannot be updated. More 12027 info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 12028 properties: 12029 exec: 12030 description: Exec specifies the action 12031 to take. 12032 properties: 12033 command: 12034 description: Command is the command 12035 line to execute inside the container, 12036 the working directory for the command is 12037 root ('/') in the container's filesystem. 12038 The command is simply exec'd, it 12039 is not run inside a shell, so traditional 12040 shell instructions ('|', etc) won't 12041 work. To use a shell, you need to 12042 explicitly call out to that shell. 12043 Exit status of 0 is treated as live/healthy 12044 and non-zero is unhealthy. 12045 items: 12046 type: string 12047 type: array 12048 type: object 12049 failureThreshold: 12050 description: Minimum consecutive failures 12051 for the probe to be considered failed 12052 after having succeeded. Defaults to 12053 3. Minimum value is 1. 12054 format: int32 12055 type: integer 12056 grpc: 12057 description: GRPC specifies an action 12058 involving a GRPC port. This is a beta 12059 field and requires enabling GRPCContainerProbe 12060 feature gate. 12061 properties: 12062 port: 12063 description: Port number of the gRPC 12064 service. Number must be in the range 12065 1 to 65535. 12066 format: int32 12067 type: integer 12068 service: 12069 description: "Service is the name 12070 of the service to place in the gRPC 12071 HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). 12072 \n If this is not specified, the 12073 default behavior is defined by gRPC." 12074 type: string 12075 required: 12076 - port 12077 type: object 12078 httpGet: 12079 description: HTTPGet specifies the http 12080 request to perform. 12081 properties: 12082 host: 12083 description: Host name to connect 12084 to, defaults to the pod IP. You 12085 probably want to set "Host" in httpHeaders 12086 instead. 12087 type: string 12088 httpHeaders: 12089 description: Custom headers to set 12090 in the request. HTTP allows repeated 12091 headers. 12092 items: 12093 description: HTTPHeader describes 12094 a custom header to be used in 12095 HTTP probes 12096 properties: 12097 name: 12098 description: The header field 12099 name 12100 type: string 12101 value: 12102 description: The header field 12103 value 12104 type: string 12105 required: 12106 - name 12107 - value 12108 type: object 12109 type: array 12110 path: 12111 description: Path to access on the 12112 HTTP server. 12113 type: string 12114 port: 12115 anyOf: 12116 - type: integer 12117 - type: string 12118 description: Name or number of the 12119 port to access on the container. 12120 Number must be in the range 1 to 12121 65535. Name must be an IANA_SVC_NAME. 12122 x-kubernetes-int-or-string: true 12123 scheme: 12124 description: Scheme to use for connecting 12125 to the host. Defaults to HTTP. 12126 type: string 12127 required: 12128 - port 12129 type: object 12130 initialDelaySeconds: 12131 description: 'Number of seconds after 12132 the container has started before liveness 12133 probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 12134 format: int32 12135 type: integer 12136 periodSeconds: 12137 description: How often (in seconds) to 12138 perform the probe. Default to 10 seconds. 12139 Minimum value is 1. 12140 format: int32 12141 type: integer 12142 successThreshold: 12143 description: Minimum consecutive successes 12144 for the probe to be considered successful 12145 after having failed. Defaults to 1. 12146 Must be 1 for liveness and startup. 12147 Minimum value is 1. 12148 format: int32 12149 type: integer 12150 tcpSocket: 12151 description: TCPSocket specifies an action 12152 involving a TCP port. 12153 properties: 12154 host: 12155 description: 'Optional: Host name 12156 to connect to, defaults to the pod 12157 IP.' 12158 type: string 12159 port: 12160 anyOf: 12161 - type: integer 12162 - type: string 12163 description: Number or name of the 12164 port to access on the container. 12165 Number must be in the range 1 to 12166 65535. Name must be an IANA_SVC_NAME. 12167 x-kubernetes-int-or-string: true 12168 required: 12169 - port 12170 type: object 12171 terminationGracePeriodSeconds: 12172 description: Optional duration in seconds 12173 the pod needs to terminate gracefully 12174 upon probe failure. The grace period 12175 is the duration in seconds after the 12176 processes running in the pod are sent 12177 a termination signal and the time when 12178 the processes are forcibly halted with 12179 a kill signal. Set this value longer 12180 than the expected cleanup time for your 12181 process. If this value is nil, the pod's 12182 terminationGracePeriodSeconds will be 12183 used. Otherwise, this value overrides 12184 the value provided by the pod spec. 12185 Value must be non-negative integer. 12186 The value zero indicates stop immediately 12187 via the kill signal (no opportunity 12188 to shut down). This is a beta field 12189 and requires enabling ProbeTerminationGracePeriod 12190 feature gate. Minimum value is 1. spec.terminationGracePeriodSeconds 12191 is used if unset. 12192 format: int64 12193 type: integer 12194 timeoutSeconds: 12195 description: 'Number of seconds after 12196 which the probe times out. Defaults 12197 to 1 second. Minimum value is 1. More 12198 info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 12199 format: int32 12200 type: integer 12201 type: object 12202 resources: 12203 description: 'Compute Resources required by 12204 this Step. Cannot be updated. More info: 12205 https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' 12206 properties: 12207 limits: 12208 additionalProperties: 12209 anyOf: 12210 - type: integer 12211 - type: string 12212 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 12213 x-kubernetes-int-or-string: true 12214 description: 'Limits describes the maximum 12215 amount of compute resources allowed. 12216 More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' 12217 type: object 12218 requests: 12219 additionalProperties: 12220 anyOf: 12221 - type: integer 12222 - type: string 12223 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 12224 x-kubernetes-int-or-string: true 12225 description: 'Requests describes the minimum 12226 amount of compute resources required. 12227 If Requests is omitted for a container, 12228 it defaults to Limits if that is explicitly 12229 specified, otherwise to an implementation-defined 12230 value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' 12231 type: object 12232 type: object 12233 script: 12234 description: "Script is the contents of an 12235 executable file to execute. \n If Script 12236 is not empty, the Step cannot have an Command 12237 and the Args will be passed to the Script." 12238 type: string 12239 securityContext: 12240 description: 'SecurityContext defines the 12241 security options the Step should be run 12242 with. If set, the fields of SecurityContext 12243 override the equivalent fields of PodSecurityContext. 12244 More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/' 12245 properties: 12246 allowPrivilegeEscalation: 12247 description: 'AllowPrivilegeEscalation 12248 controls whether a process can gain 12249 more privileges than its parent process. 12250 This bool directly controls if the no_new_privs 12251 flag will be set on the container process. 12252 AllowPrivilegeEscalation is true always 12253 when the container is: 1) run as Privileged 12254 2) has CAP_SYS_ADMIN Note that this 12255 field cannot be set when spec.os.name 12256 is windows.' 12257 type: boolean 12258 capabilities: 12259 description: The capabilities to add/drop 12260 when running containers. Defaults to 12261 the default set of capabilities granted 12262 by the container runtime. Note that 12263 this field cannot be set when spec.os.name 12264 is windows. 12265 properties: 12266 add: 12267 description: Added capabilities 12268 items: 12269 description: Capability represent 12270 POSIX capabilities type 12271 type: string 12272 type: array 12273 drop: 12274 description: Removed capabilities 12275 items: 12276 description: Capability represent 12277 POSIX capabilities type 12278 type: string 12279 type: array 12280 type: object 12281 privileged: 12282 description: Run container in privileged 12283 mode. Processes in privileged containers 12284 are essentially equivalent to root on 12285 the host. Defaults to false. Note that 12286 this field cannot be set when spec.os.name 12287 is windows. 12288 type: boolean 12289 procMount: 12290 description: procMount denotes the type 12291 of proc mount to use for the containers. 12292 The default is DefaultProcMount which 12293 uses the container runtime defaults 12294 for readonly paths and masked paths. 12295 This requires the ProcMountType feature 12296 flag to be enabled. Note that this field 12297 cannot be set when spec.os.name is windows. 12298 type: string 12299 readOnlyRootFilesystem: 12300 description: Whether this container has 12301 a read-only root filesystem. Default 12302 is false. Note that this field cannot 12303 be set when spec.os.name is windows. 12304 type: boolean 12305 runAsGroup: 12306 description: The GID to run the entrypoint 12307 of the container process. Uses runtime 12308 default if unset. May also be set in 12309 PodSecurityContext. If set in both 12310 SecurityContext and PodSecurityContext, 12311 the value specified in SecurityContext 12312 takes precedence. Note that this field 12313 cannot be set when spec.os.name is windows. 12314 format: int64 12315 type: integer 12316 runAsNonRoot: 12317 description: Indicates that the container 12318 must run as a non-root user. If true, 12319 the Kubelet will validate the image 12320 at runtime to ensure that it does not 12321 run as UID 0 (root) and fail to start 12322 the container if it does. If unset or 12323 false, no such validation will be performed. 12324 May also be set in PodSecurityContext. If 12325 set in both SecurityContext and PodSecurityContext, 12326 the value specified in SecurityContext 12327 takes precedence. 12328 type: boolean 12329 runAsUser: 12330 description: The UID to run the entrypoint 12331 of the container process. Defaults to 12332 user specified in image metadata if 12333 unspecified. May also be set in PodSecurityContext. If 12334 set in both SecurityContext and PodSecurityContext, 12335 the value specified in SecurityContext 12336 takes precedence. Note that this field 12337 cannot be set when spec.os.name is windows. 12338 format: int64 12339 type: integer 12340 seLinuxOptions: 12341 description: The SELinux context to be 12342 applied to the container. If unspecified, 12343 the container runtime will allocate 12344 a random SELinux context for each container. May 12345 also be set in PodSecurityContext. If 12346 set in both SecurityContext and PodSecurityContext, 12347 the value specified in SecurityContext 12348 takes precedence. Note that this field 12349 cannot be set when spec.os.name is windows. 12350 properties: 12351 level: 12352 description: Level is SELinux level 12353 label that applies to the container. 12354 type: string 12355 role: 12356 description: Role is a SELinux role 12357 label that applies to the container. 12358 type: string 12359 type: 12360 description: Type is a SELinux type 12361 label that applies to the container. 12362 type: string 12363 user: 12364 description: User is a SELinux user 12365 label that applies to the container. 12366 type: string 12367 type: object 12368 seccompProfile: 12369 description: The seccomp options to use 12370 by this container. If seccomp options 12371 are provided at both the pod & container 12372 level, the container options override 12373 the pod options. Note that this field 12374 cannot be set when spec.os.name is windows. 12375 properties: 12376 localhostProfile: 12377 description: localhostProfile indicates 12378 a profile defined in a file on the 12379 node should be used. The profile 12380 must be preconfigured on the node 12381 to work. Must be a descending path, 12382 relative to the kubelet's configured 12383 seccomp profile location. Must only 12384 be set if type is "Localhost". 12385 type: string 12386 type: 12387 description: "type indicates which 12388 kind of seccomp profile will be 12389 applied. Valid options are: \n Localhost 12390 - a profile defined in a file on 12391 the node should be used. RuntimeDefault 12392 - the container runtime default 12393 profile should be used. Unconfined 12394 - no profile should be applied." 12395 type: string 12396 required: 12397 - type 12398 type: object 12399 windowsOptions: 12400 description: The Windows specific settings 12401 applied to all containers. If unspecified, 12402 the options from the PodSecurityContext 12403 will be used. If set in both SecurityContext 12404 and PodSecurityContext, the value specified 12405 in SecurityContext takes precedence. 12406 Note that this field cannot be set when 12407 spec.os.name is linux. 12408 properties: 12409 gmsaCredentialSpec: 12410 description: GMSACredentialSpec is 12411 where the GMSA admission webhook 12412 (https://github.com/kubernetes-sigs/windows-gmsa) 12413 inlines the contents of the GMSA 12414 credential spec named by the GMSACredentialSpecName 12415 field. 12416 type: string 12417 gmsaCredentialSpecName: 12418 description: GMSACredentialSpecName 12419 is the name of the GMSA credential 12420 spec to use. 12421 type: string 12422 hostProcess: 12423 description: HostProcess determines 12424 if a container should be run as 12425 a 'Host Process' container. This 12426 field is alpha-level and will only 12427 be honored by components that enable 12428 the WindowsHostProcessContainers 12429 feature flag. Setting this field 12430 without the feature flag will result 12431 in errors when validating the Pod. 12432 All of a Pod's containers must have 12433 the same effective HostProcess value 12434 (it is not allowed to have a mix 12435 of HostProcess containers and non-HostProcess 12436 containers). In addition, if HostProcess 12437 is true then HostNetwork must also 12438 be set to true. 12439 type: boolean 12440 runAsUserName: 12441 description: The UserName in Windows 12442 to run the entrypoint of the container 12443 process. Defaults to the user specified 12444 in image metadata if unspecified. 12445 May also be set in PodSecurityContext. 12446 If set in both SecurityContext and 12447 PodSecurityContext, the value specified 12448 in SecurityContext takes precedence. 12449 type: string 12450 type: object 12451 type: object 12452 startupProbe: 12453 description: 'Deprecated. This field will 12454 be removed in a future release. DeprecatedStartupProbe 12455 indicates that the Pod this Step runs in 12456 has successfully initialized. If specified, 12457 no other probes are executed until this 12458 completes successfully. If this probe fails, 12459 the Pod will be restarted, just as if the 12460 livenessProbe failed. This can be used to 12461 provide different probe parameters at the 12462 beginning of a Pod''s lifecycle, when it 12463 might take a long time to load data or warm 12464 a cache, than during steady-state operation. 12465 This cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 12466 properties: 12467 exec: 12468 description: Exec specifies the action 12469 to take. 12470 properties: 12471 command: 12472 description: Command is the command 12473 line to execute inside the container, 12474 the working directory for the command is 12475 root ('/') in the container's filesystem. 12476 The command is simply exec'd, it 12477 is not run inside a shell, so traditional 12478 shell instructions ('|', etc) won't 12479 work. To use a shell, you need to 12480 explicitly call out to that shell. 12481 Exit status of 0 is treated as live/healthy 12482 and non-zero is unhealthy. 12483 items: 12484 type: string 12485 type: array 12486 type: object 12487 failureThreshold: 12488 description: Minimum consecutive failures 12489 for the probe to be considered failed 12490 after having succeeded. Defaults to 12491 3. Minimum value is 1. 12492 format: int32 12493 type: integer 12494 grpc: 12495 description: GRPC specifies an action 12496 involving a GRPC port. This is a beta 12497 field and requires enabling GRPCContainerProbe 12498 feature gate. 12499 properties: 12500 port: 12501 description: Port number of the gRPC 12502 service. Number must be in the range 12503 1 to 65535. 12504 format: int32 12505 type: integer 12506 service: 12507 description: "Service is the name 12508 of the service to place in the gRPC 12509 HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). 12510 \n If this is not specified, the 12511 default behavior is defined by gRPC." 12512 type: string 12513 required: 12514 - port 12515 type: object 12516 httpGet: 12517 description: HTTPGet specifies the http 12518 request to perform. 12519 properties: 12520 host: 12521 description: Host name to connect 12522 to, defaults to the pod IP. You 12523 probably want to set "Host" in httpHeaders 12524 instead. 12525 type: string 12526 httpHeaders: 12527 description: Custom headers to set 12528 in the request. HTTP allows repeated 12529 headers. 12530 items: 12531 description: HTTPHeader describes 12532 a custom header to be used in 12533 HTTP probes 12534 properties: 12535 name: 12536 description: The header field 12537 name 12538 type: string 12539 value: 12540 description: The header field 12541 value 12542 type: string 12543 required: 12544 - name 12545 - value 12546 type: object 12547 type: array 12548 path: 12549 description: Path to access on the 12550 HTTP server. 12551 type: string 12552 port: 12553 anyOf: 12554 - type: integer 12555 - type: string 12556 description: Name or number of the 12557 port to access on the container. 12558 Number must be in the range 1 to 12559 65535. Name must be an IANA_SVC_NAME. 12560 x-kubernetes-int-or-string: true 12561 scheme: 12562 description: Scheme to use for connecting 12563 to the host. Defaults to HTTP. 12564 type: string 12565 required: 12566 - port 12567 type: object 12568 initialDelaySeconds: 12569 description: 'Number of seconds after 12570 the container has started before liveness 12571 probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 12572 format: int32 12573 type: integer 12574 periodSeconds: 12575 description: How often (in seconds) to 12576 perform the probe. Default to 10 seconds. 12577 Minimum value is 1. 12578 format: int32 12579 type: integer 12580 successThreshold: 12581 description: Minimum consecutive successes 12582 for the probe to be considered successful 12583 after having failed. Defaults to 1. 12584 Must be 1 for liveness and startup. 12585 Minimum value is 1. 12586 format: int32 12587 type: integer 12588 tcpSocket: 12589 description: TCPSocket specifies an action 12590 involving a TCP port. 12591 properties: 12592 host: 12593 description: 'Optional: Host name 12594 to connect to, defaults to the pod 12595 IP.' 12596 type: string 12597 port: 12598 anyOf: 12599 - type: integer 12600 - type: string 12601 description: Number or name of the 12602 port to access on the container. 12603 Number must be in the range 1 to 12604 65535. Name must be an IANA_SVC_NAME. 12605 x-kubernetes-int-or-string: true 12606 required: 12607 - port 12608 type: object 12609 terminationGracePeriodSeconds: 12610 description: Optional duration in seconds 12611 the pod needs to terminate gracefully 12612 upon probe failure. The grace period 12613 is the duration in seconds after the 12614 processes running in the pod are sent 12615 a termination signal and the time when 12616 the processes are forcibly halted with 12617 a kill signal. Set this value longer 12618 than the expected cleanup time for your 12619 process. If this value is nil, the pod's 12620 terminationGracePeriodSeconds will be 12621 used. Otherwise, this value overrides 12622 the value provided by the pod spec. 12623 Value must be non-negative integer. 12624 The value zero indicates stop immediately 12625 via the kill signal (no opportunity 12626 to shut down). This is a beta field 12627 and requires enabling ProbeTerminationGracePeriod 12628 feature gate. Minimum value is 1. spec.terminationGracePeriodSeconds 12629 is used if unset. 12630 format: int64 12631 type: integer 12632 timeoutSeconds: 12633 description: 'Number of seconds after 12634 which the probe times out. Defaults 12635 to 1 second. Minimum value is 1. More 12636 info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 12637 format: int32 12638 type: integer 12639 type: object 12640 stderrConfig: 12641 description: Stores configuration for the 12642 stderr stream of the step. 12643 properties: 12644 path: 12645 description: Path to duplicate stdout 12646 stream to on container's local filesystem. 12647 type: string 12648 type: object 12649 stdin: 12650 description: Deprecated. This field will be 12651 removed in a future release. Whether this 12652 container should allocate a buffer for stdin 12653 in the container runtime. If this is not 12654 set, reads from stdin in the container will 12655 always result in EOF. Default is false. 12656 type: boolean 12657 stdinOnce: 12658 description: Deprecated. This field will be 12659 removed in a future release. Whether the 12660 container runtime should close the stdin 12661 channel after it has been opened by a single 12662 attach. When stdin is true the stdin stream 12663 will remain open across multiple attach 12664 sessions. If stdinOnce is set to true, stdin 12665 is opened on container start, is empty until 12666 the first client attaches to stdin, and 12667 then remains open and accepts data until 12668 the client disconnects, at which time stdin 12669 is closed and remains closed until the container 12670 is restarted. If this flag is false, a container 12671 processes that reads from stdin will never 12672 receive an EOF. Default is false 12673 type: boolean 12674 stdoutConfig: 12675 description: Stores configuration for the 12676 stdout stream of the step. 12677 properties: 12678 path: 12679 description: Path to duplicate stdout 12680 stream to on container's local filesystem. 12681 type: string 12682 type: object 12683 terminationMessagePath: 12684 description: Deprecated. This field will be 12685 removed in a future release and can't be 12686 meaningfully used. 12687 type: string 12688 terminationMessagePolicy: 12689 description: Deprecated. This field will be 12690 removed in a future release and can't be 12691 meaningfully used. 12692 type: string 12693 timeout: 12694 description: 'Timeout is the time after which 12695 the step times out. Defaults to never. Refer 12696 to Go''s ParseDuration documentation for 12697 expected format: https://golang.org/pkg/time/#ParseDuration' 12698 type: string 12699 tty: 12700 description: Deprecated. This field will be 12701 removed in a future release. Whether this 12702 container should allocate a DeprecatedTTY 12703 for itself, also requires 'stdin' to be 12704 true. Default is false. 12705 type: boolean 12706 volumeDevices: 12707 description: volumeDevices is the list of 12708 block devices to be used by the Step. 12709 items: 12710 description: volumeDevice describes a mapping 12711 of a raw block device within a container. 12712 properties: 12713 devicePath: 12714 description: devicePath is the path 12715 inside of the container that the device 12716 will be mapped to. 12717 type: string 12718 name: 12719 description: name must match the name 12720 of a persistentVolumeClaim in the 12721 pod 12722 type: string 12723 required: 12724 - devicePath 12725 - name 12726 type: object 12727 type: array 12728 x-kubernetes-list-type: atomic 12729 volumeMounts: 12730 description: Volumes to mount into the Step's 12731 filesystem. Cannot be updated. 12732 items: 12733 description: VolumeMount describes a mounting 12734 of a Volume within a container. 12735 properties: 12736 mountPath: 12737 description: Path within the container 12738 at which the volume should be mounted. Must 12739 not contain ':'. 12740 type: string 12741 mountPropagation: 12742 description: mountPropagation determines 12743 how mounts are propagated from the 12744 host to container and the other way 12745 around. When not set, MountPropagationNone 12746 is used. This field is beta in 1.10. 12747 type: string 12748 name: 12749 description: This must match the Name 12750 of a Volume. 12751 type: string 12752 readOnly: 12753 description: Mounted read-only if true, 12754 read-write otherwise (false or unspecified). 12755 Defaults to false. 12756 type: boolean 12757 subPath: 12758 description: Path within the volume 12759 from which the container's volume 12760 should be mounted. Defaults to "" 12761 (volume's root). 12762 type: string 12763 subPathExpr: 12764 description: Expanded path within the 12765 volume from which the container's 12766 volume should be mounted. Behaves 12767 similarly to SubPath but environment 12768 variable references $(VAR_NAME) are 12769 expanded using the container's environment. 12770 Defaults to "" (volume's root). SubPathExpr 12771 and SubPath are mutually exclusive. 12772 type: string 12773 required: 12774 - mountPath 12775 - name 12776 type: object 12777 type: array 12778 x-kubernetes-list-type: atomic 12779 workingDir: 12780 description: Step's working directory. If 12781 not specified, the container runtime's default 12782 will be used, which might be configured 12783 in the container image. Cannot be updated. 12784 type: string 12785 workspaces: 12786 description: "This is an alpha field. You 12787 must set the \"enable-api-fields\" feature 12788 flag to \"alpha\" for this field to be supported. 12789 \n Workspaces is a list of workspaces from 12790 the Task that this Step wants exclusive 12791 access to. Adding a workspace to this list 12792 means that any other Step or Sidecar that 12793 does not also request this Workspace will 12794 not have access to it." 12795 items: 12796 description: WorkspaceUsage is used by a 12797 Step or Sidecar to declare that it wants 12798 isolated access to a Workspace defined 12799 in a Task. 12800 properties: 12801 mountPath: 12802 description: MountPath is the path that 12803 the workspace should be mounted to 12804 inside the Step or Sidecar, overriding 12805 any MountPath specified in the Task's 12806 WorkspaceDeclaration. 12807 type: string 12808 name: 12809 description: Name is the name of the 12810 workspace this Step or Sidecar wants 12811 access to. 12812 type: string 12813 required: 12814 - mountPath 12815 - name 12816 type: object 12817 type: array 12818 x-kubernetes-list-type: atomic 12819 required: 12820 - name 12821 type: object 12822 type: array 12823 x-kubernetes-list-type: atomic 12824 volumes: 12825 description: Volumes is a collection of volumes 12826 that are available to mount into the steps of 12827 the build. 12828 items: 12829 description: Volume represents a named volume 12830 in a pod that may be accessed by any container 12831 in the pod. 12832 properties: 12833 awsElasticBlockStore: 12834 description: 'awsElasticBlockStore represents 12835 an AWS Disk resource that is attached to 12836 a kubelet''s host machine and then exposed 12837 to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore' 12838 properties: 12839 fsType: 12840 description: 'fsType is the filesystem 12841 type of the volume that you want to 12842 mount. Tip: Ensure that the filesystem 12843 type is supported by the host operating 12844 system. Examples: "ext4", "xfs", "ntfs". 12845 Implicitly inferred to be "ext4" if 12846 unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore 12847 TODO: how do we prevent errors in the 12848 filesystem from compromising the machine' 12849 type: string 12850 partition: 12851 description: 'partition is the partition 12852 in the volume that you want to mount. 12853 If omitted, the default is to mount 12854 by volume name. Examples: For volume 12855 /dev/sda1, you specify the partition 12856 as "1". Similarly, the volume partition 12857 for /dev/sda is "0" (or you can leave 12858 the property empty).' 12859 format: int32 12860 type: integer 12861 readOnly: 12862 description: 'readOnly value true will 12863 force the readOnly setting in VolumeMounts. 12864 More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore' 12865 type: boolean 12866 volumeID: 12867 description: 'volumeID is unique ID of 12868 the persistent disk resource in AWS 12869 (Amazon EBS volume). More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore' 12870 type: string 12871 required: 12872 - volumeID 12873 type: object 12874 azureDisk: 12875 description: azureDisk represents an Azure 12876 Data Disk mount on the host and bind mount 12877 to the pod. 12878 properties: 12879 cachingMode: 12880 description: 'cachingMode is the Host 12881 Caching mode: None, Read Only, Read 12882 Write.' 12883 type: string 12884 diskName: 12885 description: diskName is the Name of the 12886 data disk in the blob storage 12887 type: string 12888 diskURI: 12889 description: diskURI is the URI of data 12890 disk in the blob storage 12891 type: string 12892 fsType: 12893 description: fsType is Filesystem type 12894 to mount. Must be a filesystem type 12895 supported by the host operating system. 12896 Ex. "ext4", "xfs", "ntfs". Implicitly 12897 inferred to be "ext4" if unspecified. 12898 type: string 12899 kind: 12900 description: 'kind expected values are 12901 Shared: multiple blob disks per storage 12902 account Dedicated: single blob disk 12903 per storage account Managed: azure 12904 managed data disk (only in managed availability 12905 set). defaults to shared' 12906 type: string 12907 readOnly: 12908 description: readOnly Defaults to false 12909 (read/write). ReadOnly here will force 12910 the ReadOnly setting in VolumeMounts. 12911 type: boolean 12912 required: 12913 - diskName 12914 - diskURI 12915 type: object 12916 azureFile: 12917 description: azureFile represents an Azure 12918 File Service mount on the host and bind 12919 mount to the pod. 12920 properties: 12921 readOnly: 12922 description: readOnly defaults to false 12923 (read/write). ReadOnly here will force 12924 the ReadOnly setting in VolumeMounts. 12925 type: boolean 12926 secretName: 12927 description: secretName is the name of 12928 secret that contains Azure Storage Account 12929 Name and Key 12930 type: string 12931 shareName: 12932 description: shareName is the azure share 12933 Name 12934 type: string 12935 required: 12936 - secretName 12937 - shareName 12938 type: object 12939 cephfs: 12940 description: cephFS represents a Ceph FS mount 12941 on the host that shares a pod's lifetime 12942 properties: 12943 monitors: 12944 description: 'monitors is Required: Monitors 12945 is a collection of Ceph monitors More 12946 info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it' 12947 items: 12948 type: string 12949 type: array 12950 path: 12951 description: 'path is Optional: Used as 12952 the mounted root, rather than the full 12953 Ceph tree, default is /' 12954 type: string 12955 readOnly: 12956 description: 'readOnly is Optional: Defaults 12957 to false (read/write). ReadOnly here 12958 will force the ReadOnly setting in VolumeMounts. 12959 More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it' 12960 type: boolean 12961 secretFile: 12962 description: 'secretFile is Optional: 12963 SecretFile is the path to key ring for 12964 User, default is /etc/ceph/user.secret 12965 More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it' 12966 type: string 12967 secretRef: 12968 description: 'secretRef is Optional: SecretRef 12969 is reference to the authentication secret 12970 for User, default is empty. More info: 12971 https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it' 12972 properties: 12973 name: 12974 description: 'Name of the referent. 12975 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 12976 TODO: Add other useful fields. apiVersion, 12977 kind, uid?' 12978 type: string 12979 type: object 12980 user: 12981 description: 'user is optional: User is 12982 the rados user name, default is admin 12983 More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it' 12984 type: string 12985 required: 12986 - monitors 12987 type: object 12988 cinder: 12989 description: 'cinder represents a cinder volume 12990 attached and mounted on kubelets host machine. 12991 More info: https://examples.k8s.io/mysql-cinder-pd/README.md' 12992 properties: 12993 fsType: 12994 description: 'fsType is the filesystem 12995 type to mount. Must be a filesystem 12996 type supported by the host operating 12997 system. Examples: "ext4", "xfs", "ntfs". 12998 Implicitly inferred to be "ext4" if 12999 unspecified. More info: https://examples.k8s.io/mysql-cinder-pd/README.md' 13000 type: string 13001 readOnly: 13002 description: 'readOnly defaults to false 13003 (read/write). ReadOnly here will force 13004 the ReadOnly setting in VolumeMounts. 13005 More info: https://examples.k8s.io/mysql-cinder-pd/README.md' 13006 type: boolean 13007 secretRef: 13008 description: 'secretRef is optional: points 13009 to a secret object containing parameters 13010 used to connect to OpenStack.' 13011 properties: 13012 name: 13013 description: 'Name of the referent. 13014 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 13015 TODO: Add other useful fields. apiVersion, 13016 kind, uid?' 13017 type: string 13018 type: object 13019 volumeID: 13020 description: 'volumeID used to identify 13021 the volume in cinder. More info: https://examples.k8s.io/mysql-cinder-pd/README.md' 13022 type: string 13023 required: 13024 - volumeID 13025 type: object 13026 configMap: 13027 description: configMap represents a configMap 13028 that should populate this volume 13029 properties: 13030 defaultMode: 13031 description: 'defaultMode is optional: 13032 mode bits used to set permissions on 13033 created files by default. Must be an 13034 octal value between 0000 and 0777 or 13035 a decimal value between 0 and 511. YAML 13036 accepts both octal and decimal values, 13037 JSON requires decimal values for mode 13038 bits. Defaults to 0644. Directories 13039 within the path are not affected by 13040 this setting. This might be in conflict 13041 with other options that affect the file 13042 mode, like fsGroup, and the result can 13043 be other mode bits set.' 13044 format: int32 13045 type: integer 13046 items: 13047 description: items if unspecified, each 13048 key-value pair in the Data field of 13049 the referenced ConfigMap will be projected 13050 into the volume as a file whose name 13051 is the key and content is the value. 13052 If specified, the listed keys will be 13053 projected into the specified paths, 13054 and unlisted keys will not be present. 13055 If a key is specified which is not present 13056 in the ConfigMap, the volume setup will 13057 error unless it is marked optional. 13058 Paths must be relative and may not contain 13059 the '..' path or start with '..'. 13060 items: 13061 description: Maps a string key to a 13062 path within a volume. 13063 properties: 13064 key: 13065 description: key is the key to project. 13066 type: string 13067 mode: 13068 description: 'mode is Optional: 13069 mode bits used to set permissions 13070 on this file. Must be an octal 13071 value between 0000 and 0777 or 13072 a decimal value between 0 and 13073 511. YAML accepts both octal and 13074 decimal values, JSON requires 13075 decimal values for mode bits. 13076 If not specified, the volume defaultMode 13077 will be used. This might be in 13078 conflict with other options that 13079 affect the file mode, like fsGroup, 13080 and the result can be other mode 13081 bits set.' 13082 format: int32 13083 type: integer 13084 path: 13085 description: path is the relative 13086 path of the file to map the key 13087 to. May not be an absolute path. 13088 May not contain the path element 13089 '..'. May not start with the string 13090 '..'. 13091 type: string 13092 required: 13093 - key 13094 - path 13095 type: object 13096 type: array 13097 name: 13098 description: 'Name of the referent. More 13099 info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 13100 TODO: Add other useful fields. apiVersion, 13101 kind, uid?' 13102 type: string 13103 optional: 13104 description: optional specify whether 13105 the ConfigMap or its keys must be defined 13106 type: boolean 13107 type: object 13108 csi: 13109 description: csi (Container Storage Interface) 13110 represents ephemeral storage that is handled 13111 by certain external CSI drivers (Beta feature). 13112 properties: 13113 driver: 13114 description: driver is the name of the 13115 CSI driver that handles this volume. 13116 Consult with your admin for the correct 13117 name as registered in the cluster. 13118 type: string 13119 fsType: 13120 description: fsType to mount. Ex. "ext4", 13121 "xfs", "ntfs". If not provided, the 13122 empty value is passed to the associated 13123 CSI driver which will determine the 13124 default filesystem to apply. 13125 type: string 13126 nodePublishSecretRef: 13127 description: nodePublishSecretRef is a 13128 reference to the secret object containing 13129 sensitive information to pass to the 13130 CSI driver to complete the CSI NodePublishVolume 13131 and NodeUnpublishVolume calls. This 13132 field is optional, and may be empty 13133 if no secret is required. If the secret 13134 object contains more than one secret, 13135 all secret references are passed. 13136 properties: 13137 name: 13138 description: 'Name of the referent. 13139 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 13140 TODO: Add other useful fields. apiVersion, 13141 kind, uid?' 13142 type: string 13143 type: object 13144 readOnly: 13145 description: readOnly specifies a read-only 13146 configuration for the volume. Defaults 13147 to false (read/write). 13148 type: boolean 13149 volumeAttributes: 13150 additionalProperties: 13151 type: string 13152 description: volumeAttributes stores driver-specific 13153 properties that are passed to the CSI 13154 driver. Consult your driver's documentation 13155 for supported values. 13156 type: object 13157 required: 13158 - driver 13159 type: object 13160 downwardAPI: 13161 description: downwardAPI represents downward 13162 API about the pod that should populate this 13163 volume 13164 properties: 13165 defaultMode: 13166 description: 'Optional: mode bits to use 13167 on created files by default. Must be 13168 a Optional: mode bits used to set permissions 13169 on created files by default. Must be 13170 an octal value between 0000 and 0777 13171 or a decimal value between 0 and 511. 13172 YAML accepts both octal and decimal 13173 values, JSON requires decimal values 13174 for mode bits. Defaults to 0644. Directories 13175 within the path are not affected by 13176 this setting. This might be in conflict 13177 with other options that affect the file 13178 mode, like fsGroup, and the result can 13179 be other mode bits set.' 13180 format: int32 13181 type: integer 13182 items: 13183 description: Items is a list of downward 13184 API volume file 13185 items: 13186 description: DownwardAPIVolumeFile represents 13187 information to create the file containing 13188 the pod field 13189 properties: 13190 fieldRef: 13191 description: 'Required: Selects 13192 a field of the pod: only annotations, 13193 labels, name and namespace are 13194 supported.' 13195 properties: 13196 apiVersion: 13197 description: Version of the 13198 schema the FieldPath is written 13199 in terms of, defaults to "v1". 13200 type: string 13201 fieldPath: 13202 description: Path of the field 13203 to select in the specified 13204 API version. 13205 type: string 13206 required: 13207 - fieldPath 13208 type: object 13209 mode: 13210 description: 'Optional: mode bits 13211 used to set permissions on this 13212 file, must be an octal value between 13213 0000 and 0777 or a decimal value 13214 between 0 and 511. YAML accepts 13215 both octal and decimal values, 13216 JSON requires decimal values for 13217 mode bits. If not specified, the 13218 volume defaultMode will be used. 13219 This might be in conflict with 13220 other options that affect the 13221 file mode, like fsGroup, and the 13222 result can be other mode bits 13223 set.' 13224 format: int32 13225 type: integer 13226 path: 13227 description: 'Required: Path is the 13228 relative path name of the file 13229 to be created. Must not be absolute 13230 or contain the ''..'' path. Must 13231 be utf-8 encoded. The first item 13232 of the relative path must not 13233 start with ''..''' 13234 type: string 13235 resourceFieldRef: 13236 description: 'Selects a resource 13237 of the container: only resources 13238 limits and requests (limits.cpu, 13239 limits.memory, requests.cpu and 13240 requests.memory) are currently 13241 supported.' 13242 properties: 13243 containerName: 13244 description: 'Container name: 13245 required for volumes, optional 13246 for env vars' 13247 type: string 13248 divisor: 13249 anyOf: 13250 - type: integer 13251 - type: string 13252 description: Specifies the output 13253 format of the exposed resources, 13254 defaults to "1" 13255 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 13256 x-kubernetes-int-or-string: true 13257 resource: 13258 description: 'Required: resource 13259 to select' 13260 type: string 13261 required: 13262 - resource 13263 type: object 13264 required: 13265 - path 13266 type: object 13267 type: array 13268 type: object 13269 emptyDir: 13270 description: 'emptyDir represents a temporary 13271 directory that shares a pod''s lifetime. 13272 More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir' 13273 properties: 13274 medium: 13275 description: 'medium represents what type 13276 of storage medium should back this directory. 13277 The default is "" which means to use 13278 the node''s default medium. Must be 13279 an empty string (default) or Memory. 13280 More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir' 13281 type: string 13282 sizeLimit: 13283 anyOf: 13284 - type: integer 13285 - type: string 13286 description: 'sizeLimit is the total amount 13287 of local storage required for this EmptyDir 13288 volume. The size limit is also applicable 13289 for memory medium. The maximum usage 13290 on memory medium EmptyDir would be the 13291 minimum value between the SizeLimit 13292 specified here and the sum of memory 13293 limits of all containers in a pod. The 13294 default is nil which means that the 13295 limit is undefined. More info: http://kubernetes.io/docs/user-guide/volumes#emptydir' 13296 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 13297 x-kubernetes-int-or-string: true 13298 type: object 13299 ephemeral: 13300 description: "ephemeral represents a volume 13301 that is handled by a cluster storage driver. 13302 The volume's lifecycle is tied to the pod 13303 that defines it - it will be created before 13304 the pod starts, and deleted when the pod 13305 is removed. \n Use this if: a) the volume 13306 is only needed while the pod runs, b) features 13307 of normal volumes like restoring from snapshot 13308 or capacity tracking are needed, c) the 13309 storage driver is specified through a storage 13310 class, and d) the storage driver supports 13311 dynamic volume provisioning through a 13312 PersistentVolumeClaim (see EphemeralVolumeSource 13313 for more information on the connection 13314 between this volume type and PersistentVolumeClaim). 13315 \n Use PersistentVolumeClaim or one of the 13316 vendor-specific APIs for volumes that persist 13317 for longer than the lifecycle of an individual 13318 pod. \n Use CSI for light-weight local ephemeral 13319 volumes if the CSI driver is meant to be 13320 used that way - see the documentation of 13321 the driver for more information. \n A pod 13322 can use both types of ephemeral volumes 13323 and persistent volumes at the same time." 13324 properties: 13325 volumeClaimTemplate: 13326 description: "Will be used to create a 13327 stand-alone PVC to provision the volume. 13328 The pod in which this EphemeralVolumeSource 13329 is embedded will be the owner of the 13330 PVC, i.e. the PVC will be deleted together 13331 with the pod. The name of the PVC will 13332 be `<pod name>-<volume name>` where 13333 `<volume name>` is the name from the 13334 `PodSpec.Volumes` array entry. Pod validation 13335 will reject the pod if the concatenated 13336 name is not valid for a PVC (for example, 13337 too long). \n An existing PVC with that 13338 name that is not owned by the pod will 13339 *not* be used for the pod to avoid using 13340 an unrelated volume by mistake. Starting 13341 the pod is then blocked until the unrelated 13342 PVC is removed. If such a pre-created 13343 PVC is meant to be used by the pod, 13344 the PVC has to updated with an owner 13345 reference to the pod once the pod exists. 13346 Normally this should not be necessary, 13347 but it may be useful when manually reconstructing 13348 a broken cluster. \n This field is read-only 13349 and no changes will be made by Kubernetes 13350 to the PVC after it has been created. 13351 \n Required, must not be nil." 13352 properties: 13353 metadata: 13354 description: May contain labels and 13355 annotations that will be copied 13356 into the PVC when creating it. No 13357 other fields are allowed and will 13358 be rejected during validation. 13359 type: object 13360 spec: 13361 description: The specification for 13362 the PersistentVolumeClaim. The entire 13363 content is copied unchanged into 13364 the PVC that gets created from this 13365 template. The same fields as in 13366 a PersistentVolumeClaim are also 13367 valid here. 13368 properties: 13369 accessModes: 13370 description: 'accessModes contains 13371 the desired access modes the 13372 volume should have. More info: 13373 https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1' 13374 items: 13375 type: string 13376 type: array 13377 dataSource: 13378 description: 'dataSource field 13379 can be used to specify either: 13380 * An existing VolumeSnapshot 13381 object (snapshot.storage.k8s.io/VolumeSnapshot) 13382 * An existing PVC (PersistentVolumeClaim) 13383 If the provisioner or an external 13384 controller can support the specified 13385 data source, it will create 13386 a new volume based on the contents 13387 of the specified data source. 13388 If the AnyVolumeDataSource feature 13389 gate is enabled, this field 13390 will always have the same contents 13391 as the DataSourceRef field.' 13392 properties: 13393 apiGroup: 13394 description: APIGroup is the 13395 group for the resource being 13396 referenced. If APIGroup 13397 is not specified, the specified 13398 Kind must be in the core 13399 API group. For any other 13400 third-party types, APIGroup 13401 is required. 13402 type: string 13403 kind: 13404 description: Kind is the type 13405 of resource being referenced 13406 type: string 13407 name: 13408 description: Name is the name 13409 of resource being referenced 13410 type: string 13411 required: 13412 - kind 13413 - name 13414 type: object 13415 dataSourceRef: 13416 description: 'dataSourceRef specifies 13417 the object from which to populate 13418 the volume with data, if a non-empty 13419 volume is desired. This may 13420 be any local object from a non-empty 13421 API group (non core object) 13422 or a PersistentVolumeClaim object. 13423 When this field is specified, 13424 volume binding will only succeed 13425 if the type of the specified 13426 object matches some installed 13427 volume populator or dynamic 13428 provisioner. This field will 13429 replace the functionality of 13430 the DataSource field and as 13431 such if both fields are non-empty, 13432 they must have the same value. 13433 For backwards compatibility, 13434 both fields (DataSource and 13435 DataSourceRef) will be set to 13436 the same value automatically 13437 if one of them is empty and 13438 the other is non-empty. There 13439 are two important differences 13440 between DataSource and DataSourceRef: 13441 * While DataSource only allows 13442 two specific types of objects, 13443 DataSourceRef allows any non-core 13444 object, as well as PersistentVolumeClaim 13445 objects. * While DataSource 13446 ignores disallowed values (dropping 13447 them), DataSourceRef preserves 13448 all values, and generates an 13449 error if a disallowed value 13450 is specified. (Beta) Using 13451 this field requires the AnyVolumeDataSource 13452 feature gate to be enabled.' 13453 properties: 13454 apiGroup: 13455 description: APIGroup is the 13456 group for the resource being 13457 referenced. If APIGroup 13458 is not specified, the specified 13459 Kind must be in the core 13460 API group. For any other 13461 third-party types, APIGroup 13462 is required. 13463 type: string 13464 kind: 13465 description: Kind is the type 13466 of resource being referenced 13467 type: string 13468 name: 13469 description: Name is the name 13470 of resource being referenced 13471 type: string 13472 required: 13473 - kind 13474 - name 13475 type: object 13476 resources: 13477 description: 'resources represents 13478 the minimum resources the volume 13479 should have. If RecoverVolumeExpansionFailure 13480 feature is enabled users are 13481 allowed to specify resource 13482 requirements that are lower 13483 than previous value but must 13484 still be higher than capacity 13485 recorded in the status field 13486 of the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources' 13487 properties: 13488 limits: 13489 additionalProperties: 13490 anyOf: 13491 - type: integer 13492 - type: string 13493 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 13494 x-kubernetes-int-or-string: true 13495 description: 'Limits describes 13496 the maximum amount of compute 13497 resources allowed. More 13498 info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' 13499 type: object 13500 requests: 13501 additionalProperties: 13502 anyOf: 13503 - type: integer 13504 - type: string 13505 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 13506 x-kubernetes-int-or-string: true 13507 description: 'Requests describes 13508 the minimum amount of compute 13509 resources required. If Requests 13510 is omitted for a container, 13511 it defaults to Limits if 13512 that is explicitly specified, 13513 otherwise to an implementation-defined 13514 value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' 13515 type: object 13516 type: object 13517 selector: 13518 description: selector is a label 13519 query over volumes to consider 13520 for binding. 13521 properties: 13522 matchExpressions: 13523 description: matchExpressions 13524 is a list of label selector 13525 requirements. The requirements 13526 are ANDed. 13527 items: 13528 description: A label selector 13529 requirement is a selector 13530 that contains values, 13531 a key, and an operator 13532 that relates the key and 13533 values. 13534 properties: 13535 key: 13536 description: key is 13537 the label key that 13538 the selector applies 13539 to. 13540 type: string 13541 operator: 13542 description: operator 13543 represents a key's 13544 relationship to a 13545 set of values. Valid 13546 operators are In, 13547 NotIn, Exists and 13548 DoesNotExist. 13549 type: string 13550 values: 13551 description: values 13552 is an array of string 13553 values. If the operator 13554 is In or NotIn, the 13555 values array must 13556 be non-empty. If the 13557 operator is Exists 13558 or DoesNotExist, the 13559 values array must 13560 be empty. This array 13561 is replaced during 13562 a strategic merge 13563 patch. 13564 items: 13565 type: string 13566 type: array 13567 required: 13568 - key 13569 - operator 13570 type: object 13571 type: array 13572 matchLabels: 13573 additionalProperties: 13574 type: string 13575 description: matchLabels is 13576 a map of {key,value} pairs. 13577 A single {key,value} in 13578 the matchLabels map is equivalent 13579 to an element of matchExpressions, 13580 whose key field is "key", 13581 the operator is "In", and 13582 the values array contains 13583 only "value". The requirements 13584 are ANDed. 13585 type: object 13586 type: object 13587 storageClassName: 13588 description: 'storageClassName 13589 is the name of the StorageClass 13590 required by the claim. More 13591 info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1' 13592 type: string 13593 volumeMode: 13594 description: volumeMode defines 13595 what type of volume is required 13596 by the claim. Value of Filesystem 13597 is implied when not included 13598 in claim spec. 13599 type: string 13600 volumeName: 13601 description: volumeName is the 13602 binding reference to the PersistentVolume 13603 backing this claim. 13604 type: string 13605 type: object 13606 required: 13607 - spec 13608 type: object 13609 type: object 13610 fc: 13611 description: fc represents a Fibre Channel 13612 resource that is attached to a kubelet's 13613 host machine and then exposed to the pod. 13614 properties: 13615 fsType: 13616 description: 'fsType is the filesystem 13617 type to mount. Must be a filesystem 13618 type supported by the host operating 13619 system. Ex. "ext4", "xfs", "ntfs". Implicitly 13620 inferred to be "ext4" if unspecified. 13621 TODO: how do we prevent errors in the 13622 filesystem from compromising the machine' 13623 type: string 13624 lun: 13625 description: 'lun is Optional: FC target 13626 lun number' 13627 format: int32 13628 type: integer 13629 readOnly: 13630 description: 'readOnly is Optional: Defaults 13631 to false (read/write). ReadOnly here 13632 will force the ReadOnly setting in VolumeMounts.' 13633 type: boolean 13634 targetWWNs: 13635 description: 'targetWWNs is Optional: 13636 FC target worldwide names (WWNs)' 13637 items: 13638 type: string 13639 type: array 13640 wwids: 13641 description: 'wwids Optional: FC volume 13642 world wide identifiers (wwids) Either 13643 wwids or combination of targetWWNs and 13644 lun must be set, but not both simultaneously.' 13645 items: 13646 type: string 13647 type: array 13648 type: object 13649 flexVolume: 13650 description: flexVolume represents a generic 13651 volume resource that is provisioned/attached 13652 using an exec based plugin. 13653 properties: 13654 driver: 13655 description: driver is the name of the 13656 driver to use for this volume. 13657 type: string 13658 fsType: 13659 description: fsType is the filesystem 13660 type to mount. Must be a filesystem 13661 type supported by the host operating 13662 system. Ex. "ext4", "xfs", "ntfs". The 13663 default filesystem depends on FlexVolume 13664 script. 13665 type: string 13666 options: 13667 additionalProperties: 13668 type: string 13669 description: 'options is Optional: this 13670 field holds extra command options if 13671 any.' 13672 type: object 13673 readOnly: 13674 description: 'readOnly is Optional: defaults 13675 to false (read/write). ReadOnly here 13676 will force the ReadOnly setting in VolumeMounts.' 13677 type: boolean 13678 secretRef: 13679 description: 'secretRef is Optional: secretRef 13680 is reference to the secret object containing 13681 sensitive information to pass to the 13682 plugin scripts. This may be empty if 13683 no secret object is specified. If the 13684 secret object contains more than one 13685 secret, all secrets are passed to the 13686 plugin scripts.' 13687 properties: 13688 name: 13689 description: 'Name of the referent. 13690 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 13691 TODO: Add other useful fields. apiVersion, 13692 kind, uid?' 13693 type: string 13694 type: object 13695 required: 13696 - driver 13697 type: object 13698 flocker: 13699 description: flocker represents a Flocker 13700 volume attached to a kubelet's host machine. 13701 This depends on the Flocker control service 13702 being running 13703 properties: 13704 datasetName: 13705 description: datasetName is Name of the 13706 dataset stored as metadata -> name on 13707 the dataset for Flocker should be considered 13708 as deprecated 13709 type: string 13710 datasetUUID: 13711 description: datasetUUID is the UUID of 13712 the dataset. This is unique identifier 13713 of a Flocker dataset 13714 type: string 13715 type: object 13716 gcePersistentDisk: 13717 description: 'gcePersistentDisk represents 13718 a GCE Disk resource that is attached to 13719 a kubelet''s host machine and then exposed 13720 to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk' 13721 properties: 13722 fsType: 13723 description: 'fsType is filesystem type 13724 of the volume that you want to mount. 13725 Tip: Ensure that the filesystem type 13726 is supported by the host operating system. 13727 Examples: "ext4", "xfs", "ntfs". Implicitly 13728 inferred to be "ext4" if unspecified. 13729 More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk 13730 TODO: how do we prevent errors in the 13731 filesystem from compromising the machine' 13732 type: string 13733 partition: 13734 description: 'partition is the partition 13735 in the volume that you want to mount. 13736 If omitted, the default is to mount 13737 by volume name. Examples: For volume 13738 /dev/sda1, you specify the partition 13739 as "1". Similarly, the volume partition 13740 for /dev/sda is "0" (or you can leave 13741 the property empty). More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk' 13742 format: int32 13743 type: integer 13744 pdName: 13745 description: 'pdName is unique name of 13746 the PD resource in GCE. Used to identify 13747 the disk in GCE. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk' 13748 type: string 13749 readOnly: 13750 description: 'readOnly here will force 13751 the ReadOnly setting in VolumeMounts. 13752 Defaults to false. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk' 13753 type: boolean 13754 required: 13755 - pdName 13756 type: object 13757 gitRepo: 13758 description: 'gitRepo represents a git repository 13759 at a particular revision. DEPRECATED: GitRepo 13760 is deprecated. To provision a container 13761 with a git repo, mount an EmptyDir into 13762 an InitContainer that clones the repo using 13763 git, then mount the EmptyDir into the Pod''s 13764 container.' 13765 properties: 13766 directory: 13767 description: directory is the target directory 13768 name. Must not contain or start with 13769 '..'. If '.' is supplied, the volume 13770 directory will be the git repository. Otherwise, 13771 if specified, the volume will contain 13772 the git repository in the subdirectory 13773 with the given name. 13774 type: string 13775 repository: 13776 description: repository is the URL 13777 type: string 13778 revision: 13779 description: revision is the commit hash 13780 for the specified revision. 13781 type: string 13782 required: 13783 - repository 13784 type: object 13785 glusterfs: 13786 description: 'glusterfs represents a Glusterfs 13787 mount on the host that shares a pod''s lifetime. 13788 More info: https://examples.k8s.io/volumes/glusterfs/README.md' 13789 properties: 13790 endpoints: 13791 description: 'endpoints is the endpoint 13792 name that details Glusterfs topology. 13793 More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod' 13794 type: string 13795 path: 13796 description: 'path is the Glusterfs volume 13797 path. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod' 13798 type: string 13799 readOnly: 13800 description: 'readOnly here will force 13801 the Glusterfs volume to be mounted with 13802 read-only permissions. Defaults to false. 13803 More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod' 13804 type: boolean 13805 required: 13806 - endpoints 13807 - path 13808 type: object 13809 hostPath: 13810 description: 'hostPath represents a pre-existing 13811 file or directory on the host machine that 13812 is directly exposed to the container. This 13813 is generally used for system agents or other 13814 privileged things that are allowed to see 13815 the host machine. Most containers will NOT 13816 need this. More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath 13817 --- TODO(jonesdl) We need to restrict who 13818 can use host directory mounts and who can/can 13819 not mount host directories as read/write.' 13820 properties: 13821 path: 13822 description: 'path of the directory on 13823 the host. If the path is a symlink, 13824 it will follow the link to the real 13825 path. More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath' 13826 type: string 13827 type: 13828 description: 'type for HostPath Volume 13829 Defaults to "" More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath' 13830 type: string 13831 required: 13832 - path 13833 type: object 13834 iscsi: 13835 description: 'iscsi represents an ISCSI Disk 13836 resource that is attached to a kubelet''s 13837 host machine and then exposed to the pod. 13838 More info: https://examples.k8s.io/volumes/iscsi/README.md' 13839 properties: 13840 chapAuthDiscovery: 13841 description: chapAuthDiscovery defines 13842 whether support iSCSI Discovery CHAP 13843 authentication 13844 type: boolean 13845 chapAuthSession: 13846 description: chapAuthSession defines whether 13847 support iSCSI Session CHAP authentication 13848 type: boolean 13849 fsType: 13850 description: 'fsType is the filesystem 13851 type of the volume that you want to 13852 mount. Tip: Ensure that the filesystem 13853 type is supported by the host operating 13854 system. Examples: "ext4", "xfs", "ntfs". 13855 Implicitly inferred to be "ext4" if 13856 unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#iscsi 13857 TODO: how do we prevent errors in the 13858 filesystem from compromising the machine' 13859 type: string 13860 initiatorName: 13861 description: initiatorName is the custom 13862 iSCSI Initiator Name. If initiatorName 13863 is specified with iscsiInterface simultaneously, 13864 new iSCSI interface <target portal>:<volume 13865 name> will be created for the connection. 13866 type: string 13867 iqn: 13868 description: iqn is the target iSCSI Qualified 13869 Name. 13870 type: string 13871 iscsiInterface: 13872 description: iscsiInterface is the interface 13873 Name that uses an iSCSI transport. Defaults 13874 to 'default' (tcp). 13875 type: string 13876 lun: 13877 description: lun represents iSCSI Target 13878 Lun number. 13879 format: int32 13880 type: integer 13881 portals: 13882 description: portals is the iSCSI Target 13883 Portal List. The portal is either an 13884 IP or ip_addr:port if the port is other 13885 than default (typically TCP ports 860 13886 and 3260). 13887 items: 13888 type: string 13889 type: array 13890 readOnly: 13891 description: readOnly here will force 13892 the ReadOnly setting in VolumeMounts. 13893 Defaults to false. 13894 type: boolean 13895 secretRef: 13896 description: secretRef is the CHAP Secret 13897 for iSCSI target and initiator authentication 13898 properties: 13899 name: 13900 description: 'Name of the referent. 13901 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 13902 TODO: Add other useful fields. apiVersion, 13903 kind, uid?' 13904 type: string 13905 type: object 13906 targetPortal: 13907 description: targetPortal is iSCSI Target 13908 Portal. The Portal is either an IP or 13909 ip_addr:port if the port is other than 13910 default (typically TCP ports 860 and 13911 3260). 13912 type: string 13913 required: 13914 - iqn 13915 - lun 13916 - targetPortal 13917 type: object 13918 name: 13919 description: 'name of the volume. Must be 13920 a DNS_LABEL and unique within the pod. More 13921 info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' 13922 type: string 13923 nfs: 13924 description: 'nfs represents an NFS mount 13925 on the host that shares a pod''s lifetime 13926 More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs' 13927 properties: 13928 path: 13929 description: 'path that is exported by 13930 the NFS server. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs' 13931 type: string 13932 readOnly: 13933 description: 'readOnly here will force 13934 the NFS export to be mounted with read-only 13935 permissions. Defaults to false. More 13936 info: https://kubernetes.io/docs/concepts/storage/volumes#nfs' 13937 type: boolean 13938 server: 13939 description: 'server is the hostname or 13940 IP address of the NFS server. More info: 13941 https://kubernetes.io/docs/concepts/storage/volumes#nfs' 13942 type: string 13943 required: 13944 - path 13945 - server 13946 type: object 13947 persistentVolumeClaim: 13948 description: 'persistentVolumeClaimVolumeSource 13949 represents a reference to a PersistentVolumeClaim 13950 in the same namespace. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims' 13951 properties: 13952 claimName: 13953 description: 'claimName is the name of 13954 a PersistentVolumeClaim in the same 13955 namespace as the pod using this volume. 13956 More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims' 13957 type: string 13958 readOnly: 13959 description: readOnly Will force the ReadOnly 13960 setting in VolumeMounts. Default false. 13961 type: boolean 13962 required: 13963 - claimName 13964 type: object 13965 photonPersistentDisk: 13966 description: photonPersistentDisk represents 13967 a PhotonController persistent disk attached 13968 and mounted on kubelets host machine 13969 properties: 13970 fsType: 13971 description: fsType is the filesystem 13972 type to mount. Must be a filesystem 13973 type supported by the host operating 13974 system. Ex. "ext4", "xfs", "ntfs". Implicitly 13975 inferred to be "ext4" if unspecified. 13976 type: string 13977 pdID: 13978 description: pdID is the ID that identifies 13979 Photon Controller persistent disk 13980 type: string 13981 required: 13982 - pdID 13983 type: object 13984 portworxVolume: 13985 description: portworxVolume represents a portworx 13986 volume attached and mounted on kubelets 13987 host machine 13988 properties: 13989 fsType: 13990 description: fSType represents the filesystem 13991 type to mount Must be a filesystem type 13992 supported by the host operating system. 13993 Ex. "ext4", "xfs". Implicitly inferred 13994 to be "ext4" if unspecified. 13995 type: string 13996 readOnly: 13997 description: readOnly defaults to false 13998 (read/write). ReadOnly here will force 13999 the ReadOnly setting in VolumeMounts. 14000 type: boolean 14001 volumeID: 14002 description: volumeID uniquely identifies 14003 a Portworx volume 14004 type: string 14005 required: 14006 - volumeID 14007 type: object 14008 projected: 14009 description: projected items for all in one 14010 resources secrets, configmaps, and downward 14011 API 14012 properties: 14013 defaultMode: 14014 description: defaultMode are the mode 14015 bits used to set permissions on created 14016 files by default. Must be an octal value 14017 between 0000 and 0777 or a decimal value 14018 between 0 and 511. YAML accepts both 14019 octal and decimal values, JSON requires 14020 decimal values for mode bits. Directories 14021 within the path are not affected by 14022 this setting. This might be in conflict 14023 with other options that affect the file 14024 mode, like fsGroup, and the result can 14025 be other mode bits set. 14026 format: int32 14027 type: integer 14028 sources: 14029 description: sources is the list of volume 14030 projections 14031 items: 14032 description: Projection that may be 14033 projected along with other supported 14034 volume types 14035 properties: 14036 configMap: 14037 description: configMap information 14038 about the configMap data to project 14039 properties: 14040 items: 14041 description: items if unspecified, 14042 each key-value pair in the 14043 Data field of the referenced 14044 ConfigMap will be projected 14045 into the volume as a file 14046 whose name is the key and 14047 content is the value. If specified, 14048 the listed keys will be projected 14049 into the specified paths, 14050 and unlisted keys will not 14051 be present. If a key is specified 14052 which is not present in the 14053 ConfigMap, the volume setup 14054 will error unless it is marked 14055 optional. Paths must be relative 14056 and may not contain the '..' 14057 path or start with '..'. 14058 items: 14059 description: Maps a string 14060 key to a path within a volume. 14061 properties: 14062 key: 14063 description: key is the 14064 key to project. 14065 type: string 14066 mode: 14067 description: 'mode is 14068 Optional: mode bits 14069 used to set permissions 14070 on this file. Must be 14071 an octal value between 14072 0000 and 0777 or a decimal 14073 value between 0 and 14074 511. YAML accepts both 14075 octal and decimal values, 14076 JSON requires decimal 14077 values for mode bits. 14078 If not specified, the 14079 volume defaultMode will 14080 be used. This might 14081 be in conflict with 14082 other options that affect 14083 the file mode, like 14084 fsGroup, and the result 14085 can be other mode bits 14086 set.' 14087 format: int32 14088 type: integer 14089 path: 14090 description: path is the 14091 relative path of the 14092 file to map the key 14093 to. May not be an absolute 14094 path. May not contain 14095 the path element '..'. 14096 May not start with the 14097 string '..'. 14098 type: string 14099 required: 14100 - key 14101 - path 14102 type: object 14103 type: array 14104 name: 14105 description: 'Name of the referent. 14106 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 14107 TODO: Add other useful fields. 14108 apiVersion, kind, uid?' 14109 type: string 14110 optional: 14111 description: optional specify 14112 whether the ConfigMap or its 14113 keys must be defined 14114 type: boolean 14115 type: object 14116 downwardAPI: 14117 description: downwardAPI information 14118 about the downwardAPI data to 14119 project 14120 properties: 14121 items: 14122 description: Items is a list 14123 of DownwardAPIVolume file 14124 items: 14125 description: DownwardAPIVolumeFile 14126 represents information to 14127 create the file containing 14128 the pod field 14129 properties: 14130 fieldRef: 14131 description: 'Required: 14132 Selects a field of the 14133 pod: only annotations, 14134 labels, name and namespace 14135 are supported.' 14136 properties: 14137 apiVersion: 14138 description: Version 14139 of the schema the 14140 FieldPath is written 14141 in terms of, defaults 14142 to "v1". 14143 type: string 14144 fieldPath: 14145 description: Path 14146 of the field to 14147 select in the specified 14148 API version. 14149 type: string 14150 required: 14151 - fieldPath 14152 type: object 14153 mode: 14154 description: 'Optional: 14155 mode bits used to set 14156 permissions on this 14157 file, must be an octal 14158 value between 0000 and 14159 0777 or a decimal value 14160 between 0 and 511. YAML 14161 accepts both octal and 14162 decimal values, JSON 14163 requires decimal values 14164 for mode bits. If not 14165 specified, the volume 14166 defaultMode will be 14167 used. This might be 14168 in conflict with other 14169 options that affect 14170 the file mode, like 14171 fsGroup, and the result 14172 can be other mode bits 14173 set.' 14174 format: int32 14175 type: integer 14176 path: 14177 description: 'Required: 14178 Path is the relative 14179 path name of the file 14180 to be created. Must 14181 not be absolute or contain 14182 the ''..'' path. Must 14183 be utf-8 encoded. The 14184 first item of the relative 14185 path must not start 14186 with ''..''' 14187 type: string 14188 resourceFieldRef: 14189 description: 'Selects 14190 a resource of the container: 14191 only resources limits 14192 and requests (limits.cpu, 14193 limits.memory, requests.cpu 14194 and requests.memory) 14195 are currently supported.' 14196 properties: 14197 containerName: 14198 description: 'Container 14199 name: required for 14200 volumes, optional 14201 for env vars' 14202 type: string 14203 divisor: 14204 anyOf: 14205 - type: integer 14206 - type: string 14207 description: Specifies 14208 the output format 14209 of the exposed resources, 14210 defaults to "1" 14211 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 14212 x-kubernetes-int-or-string: true 14213 resource: 14214 description: 'Required: 14215 resource to select' 14216 type: string 14217 required: 14218 - resource 14219 type: object 14220 required: 14221 - path 14222 type: object 14223 type: array 14224 type: object 14225 secret: 14226 description: secret information 14227 about the secret data to project 14228 properties: 14229 items: 14230 description: items if unspecified, 14231 each key-value pair in the 14232 Data field of the referenced 14233 Secret will be projected into 14234 the volume as a file whose 14235 name is the key and content 14236 is the value. If specified, 14237 the listed keys will be projected 14238 into the specified paths, 14239 and unlisted keys will not 14240 be present. If a key is specified 14241 which is not present in the 14242 Secret, the volume setup will 14243 error unless it is marked 14244 optional. Paths must be relative 14245 and may not contain the '..' 14246 path or start with '..'. 14247 items: 14248 description: Maps a string 14249 key to a path within a volume. 14250 properties: 14251 key: 14252 description: key is the 14253 key to project. 14254 type: string 14255 mode: 14256 description: 'mode is 14257 Optional: mode bits 14258 used to set permissions 14259 on this file. Must be 14260 an octal value between 14261 0000 and 0777 or a decimal 14262 value between 0 and 14263 511. YAML accepts both 14264 octal and decimal values, 14265 JSON requires decimal 14266 values for mode bits. 14267 If not specified, the 14268 volume defaultMode will 14269 be used. This might 14270 be in conflict with 14271 other options that affect 14272 the file mode, like 14273 fsGroup, and the result 14274 can be other mode bits 14275 set.' 14276 format: int32 14277 type: integer 14278 path: 14279 description: path is the 14280 relative path of the 14281 file to map the key 14282 to. May not be an absolute 14283 path. May not contain 14284 the path element '..'. 14285 May not start with the 14286 string '..'. 14287 type: string 14288 required: 14289 - key 14290 - path 14291 type: object 14292 type: array 14293 name: 14294 description: 'Name of the referent. 14295 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 14296 TODO: Add other useful fields. 14297 apiVersion, kind, uid?' 14298 type: string 14299 optional: 14300 description: optional field 14301 specify whether the Secret 14302 or its key must be defined 14303 type: boolean 14304 type: object 14305 serviceAccountToken: 14306 description: serviceAccountToken 14307 is information about the serviceAccountToken 14308 data to project 14309 properties: 14310 audience: 14311 description: audience is the 14312 intended audience of the token. 14313 A recipient of a token must 14314 identify itself with an identifier 14315 specified in the audience 14316 of the token, and otherwise 14317 should reject the token. The 14318 audience defaults to the identifier 14319 of the apiserver. 14320 type: string 14321 expirationSeconds: 14322 description: expirationSeconds 14323 is the requested duration 14324 of validity of the service 14325 account token. As the token 14326 approaches expiration, the 14327 kubelet volume plugin will 14328 proactively rotate the service 14329 account token. The kubelet 14330 will start trying to rotate 14331 the token if the token is 14332 older than 80 percent of its 14333 time to live or if the token 14334 is older than 24 hours.Defaults 14335 to 1 hour and must be at least 14336 10 minutes. 14337 format: int64 14338 type: integer 14339 path: 14340 description: path is the path 14341 relative to the mount point 14342 of the file to project the 14343 token into. 14344 type: string 14345 required: 14346 - path 14347 type: object 14348 type: object 14349 type: array 14350 type: object 14351 quobyte: 14352 description: quobyte represents a Quobyte 14353 mount on the host that shares a pod's lifetime 14354 properties: 14355 group: 14356 description: group to map volume access 14357 to Default is no group 14358 type: string 14359 readOnly: 14360 description: readOnly here will force 14361 the Quobyte volume to be mounted with 14362 read-only permissions. Defaults to false. 14363 type: boolean 14364 registry: 14365 description: registry represents a single 14366 or multiple Quobyte Registry services 14367 specified as a string as host:port pair 14368 (multiple entries are separated with 14369 commas) which acts as the central registry 14370 for volumes 14371 type: string 14372 tenant: 14373 description: tenant owning the given Quobyte 14374 volume in the Backend Used with dynamically 14375 provisioned Quobyte volumes, value is 14376 set by the plugin 14377 type: string 14378 user: 14379 description: user to map volume access 14380 to Defaults to serivceaccount user 14381 type: string 14382 volume: 14383 description: volume is a string that references 14384 an already created Quobyte volume by 14385 name. 14386 type: string 14387 required: 14388 - registry 14389 - volume 14390 type: object 14391 rbd: 14392 description: 'rbd represents a Rados Block 14393 Device mount on the host that shares a pod''s 14394 lifetime. More info: https://examples.k8s.io/volumes/rbd/README.md' 14395 properties: 14396 fsType: 14397 description: 'fsType is the filesystem 14398 type of the volume that you want to 14399 mount. Tip: Ensure that the filesystem 14400 type is supported by the host operating 14401 system. Examples: "ext4", "xfs", "ntfs". 14402 Implicitly inferred to be "ext4" if 14403 unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#rbd 14404 TODO: how do we prevent errors in the 14405 filesystem from compromising the machine' 14406 type: string 14407 image: 14408 description: 'image is the rados image 14409 name. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it' 14410 type: string 14411 keyring: 14412 description: 'keyring is the path to key 14413 ring for RBDUser. Default is /etc/ceph/keyring. 14414 More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it' 14415 type: string 14416 monitors: 14417 description: 'monitors is a collection 14418 of Ceph monitors. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it' 14419 items: 14420 type: string 14421 type: array 14422 pool: 14423 description: 'pool is the rados pool name. 14424 Default is rbd. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it' 14425 type: string 14426 readOnly: 14427 description: 'readOnly here will force 14428 the ReadOnly setting in VolumeMounts. 14429 Defaults to false. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it' 14430 type: boolean 14431 secretRef: 14432 description: 'secretRef is name of the 14433 authentication secret for RBDUser. If 14434 provided overrides keyring. Default 14435 is nil. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it' 14436 properties: 14437 name: 14438 description: 'Name of the referent. 14439 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 14440 TODO: Add other useful fields. apiVersion, 14441 kind, uid?' 14442 type: string 14443 type: object 14444 user: 14445 description: 'user is the rados user name. 14446 Default is admin. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it' 14447 type: string 14448 required: 14449 - image 14450 - monitors 14451 type: object 14452 scaleIO: 14453 description: scaleIO represents a ScaleIO 14454 persistent volume attached and mounted on 14455 Kubernetes nodes. 14456 properties: 14457 fsType: 14458 description: fsType is the filesystem 14459 type to mount. Must be a filesystem 14460 type supported by the host operating 14461 system. Ex. "ext4", "xfs", "ntfs". Default 14462 is "xfs". 14463 type: string 14464 gateway: 14465 description: gateway is the host address 14466 of the ScaleIO API Gateway. 14467 type: string 14468 protectionDomain: 14469 description: protectionDomain is the name 14470 of the ScaleIO Protection Domain for 14471 the configured storage. 14472 type: string 14473 readOnly: 14474 description: readOnly Defaults to false 14475 (read/write). ReadOnly here will force 14476 the ReadOnly setting in VolumeMounts. 14477 type: boolean 14478 secretRef: 14479 description: secretRef references to the 14480 secret for ScaleIO user and other sensitive 14481 information. If this is not provided, 14482 Login operation will fail. 14483 properties: 14484 name: 14485 description: 'Name of the referent. 14486 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 14487 TODO: Add other useful fields. apiVersion, 14488 kind, uid?' 14489 type: string 14490 type: object 14491 sslEnabled: 14492 description: sslEnabled Flag enable/disable 14493 SSL communication with Gateway, default 14494 false 14495 type: boolean 14496 storageMode: 14497 description: storageMode indicates whether 14498 the storage for a volume should be ThickProvisioned 14499 or ThinProvisioned. Default is ThinProvisioned. 14500 type: string 14501 storagePool: 14502 description: storagePool is the ScaleIO 14503 Storage Pool associated with the protection 14504 domain. 14505 type: string 14506 system: 14507 description: system is the name of the 14508 storage system as configured in ScaleIO. 14509 type: string 14510 volumeName: 14511 description: volumeName is the name of 14512 a volume already created in the ScaleIO 14513 system that is associated with this 14514 volume source. 14515 type: string 14516 required: 14517 - gateway 14518 - secretRef 14519 - system 14520 type: object 14521 secret: 14522 description: 'secret represents a secret that 14523 should populate this volume. More info: 14524 https://kubernetes.io/docs/concepts/storage/volumes#secret' 14525 properties: 14526 defaultMode: 14527 description: 'defaultMode is Optional: 14528 mode bits used to set permissions on 14529 created files by default. Must be an 14530 octal value between 0000 and 0777 or 14531 a decimal value between 0 and 511. YAML 14532 accepts both octal and decimal values, 14533 JSON requires decimal values for mode 14534 bits. Defaults to 0644. Directories 14535 within the path are not affected by 14536 this setting. This might be in conflict 14537 with other options that affect the file 14538 mode, like fsGroup, and the result can 14539 be other mode bits set.' 14540 format: int32 14541 type: integer 14542 items: 14543 description: items If unspecified, each 14544 key-value pair in the Data field of 14545 the referenced Secret will be projected 14546 into the volume as a file whose name 14547 is the key and content is the value. 14548 If specified, the listed keys will be 14549 projected into the specified paths, 14550 and unlisted keys will not be present. 14551 If a key is specified which is not present 14552 in the Secret, the volume setup will 14553 error unless it is marked optional. 14554 Paths must be relative and may not contain 14555 the '..' path or start with '..'. 14556 items: 14557 description: Maps a string key to a 14558 path within a volume. 14559 properties: 14560 key: 14561 description: key is the key to project. 14562 type: string 14563 mode: 14564 description: 'mode is Optional: 14565 mode bits used to set permissions 14566 on this file. Must be an octal 14567 value between 0000 and 0777 or 14568 a decimal value between 0 and 14569 511. YAML accepts both octal and 14570 decimal values, JSON requires 14571 decimal values for mode bits. 14572 If not specified, the volume defaultMode 14573 will be used. This might be in 14574 conflict with other options that 14575 affect the file mode, like fsGroup, 14576 and the result can be other mode 14577 bits set.' 14578 format: int32 14579 type: integer 14580 path: 14581 description: path is the relative 14582 path of the file to map the key 14583 to. May not be an absolute path. 14584 May not contain the path element 14585 '..'. May not start with the string 14586 '..'. 14587 type: string 14588 required: 14589 - key 14590 - path 14591 type: object 14592 type: array 14593 optional: 14594 description: optional field specify whether 14595 the Secret or its keys must be defined 14596 type: boolean 14597 secretName: 14598 description: 'secretName is the name of 14599 the secret in the pod''s namespace to 14600 use. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret' 14601 type: string 14602 type: object 14603 storageos: 14604 description: storageOS represents a StorageOS 14605 volume attached and mounted on Kubernetes 14606 nodes. 14607 properties: 14608 fsType: 14609 description: fsType is the filesystem 14610 type to mount. Must be a filesystem 14611 type supported by the host operating 14612 system. Ex. "ext4", "xfs", "ntfs". Implicitly 14613 inferred to be "ext4" if unspecified. 14614 type: string 14615 readOnly: 14616 description: readOnly defaults to false 14617 (read/write). ReadOnly here will force 14618 the ReadOnly setting in VolumeMounts. 14619 type: boolean 14620 secretRef: 14621 description: secretRef specifies the secret 14622 to use for obtaining the StorageOS API 14623 credentials. If not specified, default 14624 values will be attempted. 14625 properties: 14626 name: 14627 description: 'Name of the referent. 14628 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 14629 TODO: Add other useful fields. apiVersion, 14630 kind, uid?' 14631 type: string 14632 type: object 14633 volumeName: 14634 description: volumeName is the human-readable 14635 name of the StorageOS volume. Volume 14636 names are only unique within a namespace. 14637 type: string 14638 volumeNamespace: 14639 description: volumeNamespace specifies 14640 the scope of the volume within StorageOS. If 14641 no namespace is specified then the Pod's 14642 namespace will be used. This allows 14643 the Kubernetes name scoping to be mirrored 14644 within StorageOS for tighter integration. 14645 Set VolumeName to any name to override 14646 the default behaviour. Set to "default" 14647 if you are not using namespaces within 14648 StorageOS. Namespaces that do not pre-exist 14649 within StorageOS will be created. 14650 type: string 14651 type: object 14652 vsphereVolume: 14653 description: vsphereVolume represents a vSphere 14654 volume attached and mounted on kubelets 14655 host machine 14656 properties: 14657 fsType: 14658 description: fsType is filesystem type 14659 to mount. Must be a filesystem type 14660 supported by the host operating system. 14661 Ex. "ext4", "xfs", "ntfs". Implicitly 14662 inferred to be "ext4" if unspecified. 14663 type: string 14664 storagePolicyID: 14665 description: storagePolicyID is the storage 14666 Policy Based Management (SPBM) profile 14667 ID associated with the StoragePolicyName. 14668 type: string 14669 storagePolicyName: 14670 description: storagePolicyName is the 14671 storage Policy Based Management (SPBM) 14672 profile name. 14673 type: string 14674 volumePath: 14675 description: volumePath is the path that 14676 identifies vSphere volume vmdk 14677 type: string 14678 required: 14679 - volumePath 14680 type: object 14681 required: 14682 - name 14683 type: object 14684 type: array 14685 x-kubernetes-list-type: atomic 14686 workspaces: 14687 description: Workspaces are the volumes that this 14688 Task requires. 14689 items: 14690 description: WorkspaceDeclaration is a declaration 14691 of a volume that a Task requires. 14692 properties: 14693 description: 14694 description: Description is an optional human 14695 readable description of this volume. 14696 type: string 14697 mountPath: 14698 description: MountPath overrides the directory 14699 that the volume will be made available at. 14700 type: string 14701 name: 14702 description: Name is the name by which you 14703 can bind the volume at runtime. 14704 type: string 14705 optional: 14706 description: Optional marks a Workspace as 14707 not being required in TaskRuns. By default 14708 this field is false and so declared workspaces 14709 are required. 14710 type: boolean 14711 readOnly: 14712 description: ReadOnly dictates whether a mounted 14713 volume is writable. By default this field 14714 is false and so mounted volumes are writable. 14715 type: boolean 14716 required: 14717 - name 14718 type: object 14719 type: array 14720 x-kubernetes-list-type: atomic 14721 type: object 14722 timeout: 14723 description: 'Time after which the TaskRun times out. 14724 Defaults to 1 hour. Specified TaskRun timeout should 14725 be less than 24h. Refer Go''s ParseDuration documentation 14726 for expected format: https://golang.org/pkg/time/#ParseDuration' 14727 type: string 14728 when: 14729 description: WhenExpressions is a list of when expressions 14730 that need to be true for the task to run 14731 items: 14732 description: WhenExpression allows a PipelineTask 14733 to declare expressions to be evaluated before the 14734 Task is run to determine whether the Task should 14735 be executed or skipped 14736 properties: 14737 input: 14738 description: Input is the string for guard checking 14739 which can be a static input or an output from 14740 a parent Task 14741 type: string 14742 operator: 14743 description: Operator that represents an Input's 14744 relationship to the values 14745 type: string 14746 values: 14747 description: Values is an array of strings, which 14748 is compared against the input, for guard checking 14749 It must be non-empty 14750 items: 14751 type: string 14752 type: array 14753 x-kubernetes-list-type: atomic 14754 required: 14755 - input 14756 - operator 14757 - values 14758 type: object 14759 type: array 14760 workspaces: 14761 description: Workspaces maps workspaces from the pipeline 14762 spec to the workspaces declared in the Task. 14763 items: 14764 description: WorkspacePipelineTaskBinding describes 14765 how a workspace passed into the pipeline should 14766 be mapped to a task's declared workspace. 14767 properties: 14768 name: 14769 description: Name is the name of the workspace 14770 as declared by the task 14771 type: string 14772 subPath: 14773 description: SubPath is optionally a directory 14774 on the volume which should be used for this 14775 binding (i.e. the volume will be mounted at 14776 this sub directory). 14777 type: string 14778 workspace: 14779 description: Workspace is the name of the workspace 14780 declared by the pipeline 14781 type: string 14782 required: 14783 - name 14784 type: object 14785 type: array 14786 x-kubernetes-list-type: atomic 14787 type: object 14788 type: array 14789 x-kubernetes-list-type: atomic 14790 workspaces: 14791 description: Workspaces declares a set of named workspaces 14792 that are expected to be provided by a PipelineRun. 14793 items: 14794 description: PipelineWorkspaceDeclaration creates a named 14795 slot in a Pipeline that a PipelineRun is expected to populate 14796 with a workspace binding. 14797 properties: 14798 description: 14799 description: Description is a human readable string 14800 describing how the workspace will be used in the Pipeline. 14801 It can be useful to include a bit of detail about 14802 which tasks are intended to have access to the data 14803 on the workspace. 14804 type: string 14805 name: 14806 description: Name is the name of a workspace to be provided 14807 by a PipelineRun. 14808 type: string 14809 optional: 14810 description: Optional marks a Workspace as not being 14811 required in PipelineRuns. By default this field is 14812 false and so declared workspaces are required. 14813 type: boolean 14814 required: 14815 - name 14816 type: object 14817 type: array 14818 x-kubernetes-list-type: atomic 14819 type: object 14820 podTemplate: 14821 description: PodTemplate holds pod specific configuration 14822 properties: 14823 affinity: 14824 description: If specified, the pod's scheduling constraints 14825 properties: 14826 nodeAffinity: 14827 description: Describes node affinity scheduling rules 14828 for the pod. 14829 properties: 14830 preferredDuringSchedulingIgnoredDuringExecution: 14831 description: The scheduler will prefer to schedule 14832 pods to nodes that satisfy the affinity expressions 14833 specified by this field, but it may choose a node 14834 that violates one or more of the expressions. The 14835 node that is most preferred is the one with the 14836 greatest sum of weights, i.e. for each node that 14837 meets all of the scheduling requirements (resource 14838 request, requiredDuringScheduling affinity expressions, 14839 etc.), compute a sum by iterating through the elements 14840 of this field and adding "weight" to the sum if 14841 the node matches the corresponding matchExpressions; 14842 the node(s) with the highest sum are the most preferred. 14843 items: 14844 description: An empty preferred scheduling term 14845 matches all objects with implicit weight 0 (i.e. 14846 it's a no-op). A null preferred scheduling term 14847 matches no objects (i.e. is also a no-op). 14848 properties: 14849 preference: 14850 description: A node selector term, associated 14851 with the corresponding weight. 14852 properties: 14853 matchExpressions: 14854 description: A list of node selector requirements 14855 by node's labels. 14856 items: 14857 description: A node selector requirement 14858 is a selector that contains values, 14859 a key, and an operator that relates 14860 the key and values. 14861 properties: 14862 key: 14863 description: The label key that the 14864 selector applies to. 14865 type: string 14866 operator: 14867 description: Represents a key's relationship 14868 to a set of values. Valid operators 14869 are In, NotIn, Exists, DoesNotExist. 14870 Gt, and Lt. 14871 type: string 14872 values: 14873 description: An array of string values. 14874 If the operator is In or NotIn, 14875 the values array must be non-empty. 14876 If the operator is Exists or DoesNotExist, 14877 the values array must be empty. 14878 If the operator is Gt or Lt, the 14879 values array must have a single 14880 element, which will be interpreted 14881 as an integer. This array is replaced 14882 during a strategic merge patch. 14883 items: 14884 type: string 14885 type: array 14886 required: 14887 - key 14888 - operator 14889 type: object 14890 type: array 14891 matchFields: 14892 description: A list of node selector requirements 14893 by node's fields. 14894 items: 14895 description: A node selector requirement 14896 is a selector that contains values, 14897 a key, and an operator that relates 14898 the key and values. 14899 properties: 14900 key: 14901 description: The label key that the 14902 selector applies to. 14903 type: string 14904 operator: 14905 description: Represents a key's relationship 14906 to a set of values. Valid operators 14907 are In, NotIn, Exists, DoesNotExist. 14908 Gt, and Lt. 14909 type: string 14910 values: 14911 description: An array of string values. 14912 If the operator is In or NotIn, 14913 the values array must be non-empty. 14914 If the operator is Exists or DoesNotExist, 14915 the values array must be empty. 14916 If the operator is Gt or Lt, the 14917 values array must have a single 14918 element, which will be interpreted 14919 as an integer. This array is replaced 14920 during a strategic merge patch. 14921 items: 14922 type: string 14923 type: array 14924 required: 14925 - key 14926 - operator 14927 type: object 14928 type: array 14929 type: object 14930 weight: 14931 description: Weight associated with matching 14932 the corresponding nodeSelectorTerm, in the 14933 range 1-100. 14934 format: int32 14935 type: integer 14936 required: 14937 - preference 14938 - weight 14939 type: object 14940 type: array 14941 requiredDuringSchedulingIgnoredDuringExecution: 14942 description: If the affinity requirements specified 14943 by this field are not met at scheduling time, the 14944 pod will not be scheduled onto the node. If the 14945 affinity requirements specified by this field cease 14946 to be met at some point during pod execution (e.g. 14947 due to an update), the system may or may not try 14948 to eventually evict the pod from its node. 14949 properties: 14950 nodeSelectorTerms: 14951 description: Required. A list of node selector 14952 terms. The terms are ORed. 14953 items: 14954 description: A null or empty node selector term 14955 matches no objects. The requirements of them 14956 are ANDed. The TopologySelectorTerm type implements 14957 a subset of the NodeSelectorTerm. 14958 properties: 14959 matchExpressions: 14960 description: A list of node selector requirements 14961 by node's labels. 14962 items: 14963 description: A node selector requirement 14964 is a selector that contains values, 14965 a key, and an operator that relates 14966 the key and values. 14967 properties: 14968 key: 14969 description: The label key that the 14970 selector applies to. 14971 type: string 14972 operator: 14973 description: Represents a key's relationship 14974 to a set of values. Valid operators 14975 are In, NotIn, Exists, DoesNotExist. 14976 Gt, and Lt. 14977 type: string 14978 values: 14979 description: An array of string values. 14980 If the operator is In or NotIn, 14981 the values array must be non-empty. 14982 If the operator is Exists or DoesNotExist, 14983 the values array must be empty. 14984 If the operator is Gt or Lt, the 14985 values array must have a single 14986 element, which will be interpreted 14987 as an integer. This array is replaced 14988 during a strategic merge patch. 14989 items: 14990 type: string 14991 type: array 14992 required: 14993 - key 14994 - operator 14995 type: object 14996 type: array 14997 matchFields: 14998 description: A list of node selector requirements 14999 by node's fields. 15000 items: 15001 description: A node selector requirement 15002 is a selector that contains values, 15003 a key, and an operator that relates 15004 the key and values. 15005 properties: 15006 key: 15007 description: The label key that the 15008 selector applies to. 15009 type: string 15010 operator: 15011 description: Represents a key's relationship 15012 to a set of values. Valid operators 15013 are In, NotIn, Exists, DoesNotExist. 15014 Gt, and Lt. 15015 type: string 15016 values: 15017 description: An array of string values. 15018 If the operator is In or NotIn, 15019 the values array must be non-empty. 15020 If the operator is Exists or DoesNotExist, 15021 the values array must be empty. 15022 If the operator is Gt or Lt, the 15023 values array must have a single 15024 element, which will be interpreted 15025 as an integer. This array is replaced 15026 during a strategic merge patch. 15027 items: 15028 type: string 15029 type: array 15030 required: 15031 - key 15032 - operator 15033 type: object 15034 type: array 15035 type: object 15036 type: array 15037 required: 15038 - nodeSelectorTerms 15039 type: object 15040 type: object 15041 podAffinity: 15042 description: Describes pod affinity scheduling rules (e.g. 15043 co-locate this pod in the same node, zone, etc. as some 15044 other pod(s)). 15045 properties: 15046 preferredDuringSchedulingIgnoredDuringExecution: 15047 description: The scheduler will prefer to schedule 15048 pods to nodes that satisfy the affinity expressions 15049 specified by this field, but it may choose a node 15050 that violates one or more of the expressions. The 15051 node that is most preferred is the one with the 15052 greatest sum of weights, i.e. for each node that 15053 meets all of the scheduling requirements (resource 15054 request, requiredDuringScheduling affinity expressions, 15055 etc.), compute a sum by iterating through the elements 15056 of this field and adding "weight" to the sum if 15057 the node has pods which matches the corresponding 15058 podAffinityTerm; the node(s) with the highest sum 15059 are the most preferred. 15060 items: 15061 description: The weights of all of the matched WeightedPodAffinityTerm 15062 fields are added per-node to find the most preferred 15063 node(s) 15064 properties: 15065 podAffinityTerm: 15066 description: Required. A pod affinity term, 15067 associated with the corresponding weight. 15068 properties: 15069 labelSelector: 15070 description: A label query over a set of 15071 resources, in this case pods. 15072 properties: 15073 matchExpressions: 15074 description: matchExpressions is a list 15075 of label selector requirements. The 15076 requirements are ANDed. 15077 items: 15078 description: A label selector requirement 15079 is a selector that contains values, 15080 a key, and an operator that relates 15081 the key and values. 15082 properties: 15083 key: 15084 description: key is the label 15085 key that the selector applies 15086 to. 15087 type: string 15088 operator: 15089 description: operator represents 15090 a key's relationship to a set 15091 of values. Valid operators are 15092 In, NotIn, Exists and DoesNotExist. 15093 type: string 15094 values: 15095 description: values is an array 15096 of string values. If the operator 15097 is In or NotIn, the values array 15098 must be non-empty. If the operator 15099 is Exists or DoesNotExist, the 15100 values array must be empty. 15101 This array is replaced during 15102 a strategic merge patch. 15103 items: 15104 type: string 15105 type: array 15106 required: 15107 - key 15108 - operator 15109 type: object 15110 type: array 15111 matchLabels: 15112 additionalProperties: 15113 type: string 15114 description: matchLabels is a map of 15115 {key,value} pairs. A single {key,value} 15116 in the matchLabels map is equivalent 15117 to an element of matchExpressions, 15118 whose key field is "key", the operator 15119 is "In", and the values array contains 15120 only "value". The requirements are 15121 ANDed. 15122 type: object 15123 type: object 15124 namespaceSelector: 15125 description: A label query over the set 15126 of namespaces that the term applies to. 15127 The term is applied to the union of the 15128 namespaces selected by this field and 15129 the ones listed in the namespaces field. 15130 null selector and null or empty namespaces 15131 list means "this pod's namespace". An 15132 empty selector ({}) matches all namespaces. 15133 properties: 15134 matchExpressions: 15135 description: matchExpressions is a list 15136 of label selector requirements. The 15137 requirements are ANDed. 15138 items: 15139 description: A label selector requirement 15140 is a selector that contains values, 15141 a key, and an operator that relates 15142 the key and values. 15143 properties: 15144 key: 15145 description: key is the label 15146 key that the selector applies 15147 to. 15148 type: string 15149 operator: 15150 description: operator represents 15151 a key's relationship to a set 15152 of values. Valid operators are 15153 In, NotIn, Exists and DoesNotExist. 15154 type: string 15155 values: 15156 description: values is an array 15157 of string values. If the operator 15158 is In or NotIn, the values array 15159 must be non-empty. If the operator 15160 is Exists or DoesNotExist, the 15161 values array must be empty. 15162 This array is replaced during 15163 a strategic merge patch. 15164 items: 15165 type: string 15166 type: array 15167 required: 15168 - key 15169 - operator 15170 type: object 15171 type: array 15172 matchLabels: 15173 additionalProperties: 15174 type: string 15175 description: matchLabels is a map of 15176 {key,value} pairs. A single {key,value} 15177 in the matchLabels map is equivalent 15178 to an element of matchExpressions, 15179 whose key field is "key", the operator 15180 is "In", and the values array contains 15181 only "value". The requirements are 15182 ANDed. 15183 type: object 15184 type: object 15185 namespaces: 15186 description: namespaces specifies a static 15187 list of namespace names that the term 15188 applies to. The term is applied to the 15189 union of the namespaces listed in this 15190 field and the ones selected by namespaceSelector. 15191 null or empty namespaces list and null 15192 namespaceSelector means "this pod's namespace". 15193 items: 15194 type: string 15195 type: array 15196 topologyKey: 15197 description: This pod should be co-located 15198 (affinity) or not co-located (anti-affinity) 15199 with the pods matching the labelSelector 15200 in the specified namespaces, where co-located 15201 is defined as running on a node whose 15202 value of the label with key topologyKey 15203 matches that of any node on which any 15204 of the selected pods is running. Empty 15205 topologyKey is not allowed. 15206 type: string 15207 required: 15208 - topologyKey 15209 type: object 15210 weight: 15211 description: weight associated with matching 15212 the corresponding podAffinityTerm, in the 15213 range 1-100. 15214 format: int32 15215 type: integer 15216 required: 15217 - podAffinityTerm 15218 - weight 15219 type: object 15220 type: array 15221 requiredDuringSchedulingIgnoredDuringExecution: 15222 description: If the affinity requirements specified 15223 by this field are not met at scheduling time, the 15224 pod will not be scheduled onto the node. If the 15225 affinity requirements specified by this field cease 15226 to be met at some point during pod execution (e.g. 15227 due to a pod label update), the system may or may 15228 not try to eventually evict the pod from its node. 15229 When there are multiple elements, the lists of nodes 15230 corresponding to each podAffinityTerm are intersected, 15231 i.e. all terms must be satisfied. 15232 items: 15233 description: Defines a set of pods (namely those 15234 matching the labelSelector relative to the given 15235 namespace(s)) that this pod should be co-located 15236 (affinity) or not co-located (anti-affinity) with, 15237 where co-located is defined as running on a node 15238 whose value of the label with key <topologyKey> 15239 matches that of any node on which a pod of the 15240 set of pods is running 15241 properties: 15242 labelSelector: 15243 description: A label query over a set of resources, 15244 in this case pods. 15245 properties: 15246 matchExpressions: 15247 description: matchExpressions is a list 15248 of label selector requirements. The requirements 15249 are ANDed. 15250 items: 15251 description: A label selector requirement 15252 is a selector that contains values, 15253 a key, and an operator that relates 15254 the key and values. 15255 properties: 15256 key: 15257 description: key is the label key 15258 that the selector applies to. 15259 type: string 15260 operator: 15261 description: operator represents a 15262 key's relationship to a set of values. 15263 Valid operators are In, NotIn, Exists 15264 and DoesNotExist. 15265 type: string 15266 values: 15267 description: values is an array of 15268 string values. If the operator is 15269 In or NotIn, the values array must 15270 be non-empty. If the operator is 15271 Exists or DoesNotExist, the values 15272 array must be empty. This array 15273 is replaced during a strategic merge 15274 patch. 15275 items: 15276 type: string 15277 type: array 15278 required: 15279 - key 15280 - operator 15281 type: object 15282 type: array 15283 matchLabels: 15284 additionalProperties: 15285 type: string 15286 description: matchLabels is a map of {key,value} 15287 pairs. A single {key,value} in the matchLabels 15288 map is equivalent to an element of matchExpressions, 15289 whose key field is "key", the operator 15290 is "In", and the values array contains 15291 only "value". The requirements are ANDed. 15292 type: object 15293 type: object 15294 namespaceSelector: 15295 description: A label query over the set of namespaces 15296 that the term applies to. The term is applied 15297 to the union of the namespaces selected by 15298 this field and the ones listed in the namespaces 15299 field. null selector and null or empty namespaces 15300 list means "this pod's namespace". An empty 15301 selector ({}) matches all namespaces. 15302 properties: 15303 matchExpressions: 15304 description: matchExpressions is a list 15305 of label selector requirements. The requirements 15306 are ANDed. 15307 items: 15308 description: A label selector requirement 15309 is a selector that contains values, 15310 a key, and an operator that relates 15311 the key and values. 15312 properties: 15313 key: 15314 description: key is the label key 15315 that the selector applies to. 15316 type: string 15317 operator: 15318 description: operator represents a 15319 key's relationship to a set of values. 15320 Valid operators are In, NotIn, Exists 15321 and DoesNotExist. 15322 type: string 15323 values: 15324 description: values is an array of 15325 string values. If the operator is 15326 In or NotIn, the values array must 15327 be non-empty. If the operator is 15328 Exists or DoesNotExist, the values 15329 array must be empty. This array 15330 is replaced during a strategic merge 15331 patch. 15332 items: 15333 type: string 15334 type: array 15335 required: 15336 - key 15337 - operator 15338 type: object 15339 type: array 15340 matchLabels: 15341 additionalProperties: 15342 type: string 15343 description: matchLabels is a map of {key,value} 15344 pairs. A single {key,value} in the matchLabels 15345 map is equivalent to an element of matchExpressions, 15346 whose key field is "key", the operator 15347 is "In", and the values array contains 15348 only "value". The requirements are ANDed. 15349 type: object 15350 type: object 15351 namespaces: 15352 description: namespaces specifies a static list 15353 of namespace names that the term applies to. 15354 The term is applied to the union of the namespaces 15355 listed in this field and the ones selected 15356 by namespaceSelector. null or empty namespaces 15357 list and null namespaceSelector means "this 15358 pod's namespace". 15359 items: 15360 type: string 15361 type: array 15362 topologyKey: 15363 description: This pod should be co-located (affinity) 15364 or not co-located (anti-affinity) with the 15365 pods matching the labelSelector in the specified 15366 namespaces, where co-located is defined as 15367 running on a node whose value of the label 15368 with key topologyKey matches that of any node 15369 on which any of the selected pods is running. 15370 Empty topologyKey is not allowed. 15371 type: string 15372 required: 15373 - topologyKey 15374 type: object 15375 type: array 15376 type: object 15377 podAntiAffinity: 15378 description: Describes pod anti-affinity scheduling rules 15379 (e.g. avoid putting this pod in the same node, zone, 15380 etc. as some other pod(s)). 15381 properties: 15382 preferredDuringSchedulingIgnoredDuringExecution: 15383 description: The scheduler will prefer to schedule 15384 pods to nodes that satisfy the anti-affinity expressions 15385 specified by this field, but it may choose a node 15386 that violates one or more of the expressions. The 15387 node that is most preferred is the one with the 15388 greatest sum of weights, i.e. for each node that 15389 meets all of the scheduling requirements (resource 15390 request, requiredDuringScheduling anti-affinity 15391 expressions, etc.), compute a sum by iterating through 15392 the elements of this field and adding "weight" to 15393 the sum if the node has pods which matches the corresponding 15394 podAffinityTerm; the node(s) with the highest sum 15395 are the most preferred. 15396 items: 15397 description: The weights of all of the matched WeightedPodAffinityTerm 15398 fields are added per-node to find the most preferred 15399 node(s) 15400 properties: 15401 podAffinityTerm: 15402 description: Required. A pod affinity term, 15403 associated with the corresponding weight. 15404 properties: 15405 labelSelector: 15406 description: A label query over a set of 15407 resources, in this case pods. 15408 properties: 15409 matchExpressions: 15410 description: matchExpressions is a list 15411 of label selector requirements. The 15412 requirements are ANDed. 15413 items: 15414 description: A label selector requirement 15415 is a selector that contains values, 15416 a key, and an operator that relates 15417 the key and values. 15418 properties: 15419 key: 15420 description: key is the label 15421 key that the selector applies 15422 to. 15423 type: string 15424 operator: 15425 description: operator represents 15426 a key's relationship to a set 15427 of values. Valid operators are 15428 In, NotIn, Exists and DoesNotExist. 15429 type: string 15430 values: 15431 description: values is an array 15432 of string values. If the operator 15433 is In or NotIn, the values array 15434 must be non-empty. If the operator 15435 is Exists or DoesNotExist, the 15436 values array must be empty. 15437 This array is replaced during 15438 a strategic merge patch. 15439 items: 15440 type: string 15441 type: array 15442 required: 15443 - key 15444 - operator 15445 type: object 15446 type: array 15447 matchLabels: 15448 additionalProperties: 15449 type: string 15450 description: matchLabels is a map of 15451 {key,value} pairs. A single {key,value} 15452 in the matchLabels map is equivalent 15453 to an element of matchExpressions, 15454 whose key field is "key", the operator 15455 is "In", and the values array contains 15456 only "value". The requirements are 15457 ANDed. 15458 type: object 15459 type: object 15460 namespaceSelector: 15461 description: A label query over the set 15462 of namespaces that the term applies to. 15463 The term is applied to the union of the 15464 namespaces selected by this field and 15465 the ones listed in the namespaces field. 15466 null selector and null or empty namespaces 15467 list means "this pod's namespace". An 15468 empty selector ({}) matches all namespaces. 15469 properties: 15470 matchExpressions: 15471 description: matchExpressions is a list 15472 of label selector requirements. The 15473 requirements are ANDed. 15474 items: 15475 description: A label selector requirement 15476 is a selector that contains values, 15477 a key, and an operator that relates 15478 the key and values. 15479 properties: 15480 key: 15481 description: key is the label 15482 key that the selector applies 15483 to. 15484 type: string 15485 operator: 15486 description: operator represents 15487 a key's relationship to a set 15488 of values. Valid operators are 15489 In, NotIn, Exists and DoesNotExist. 15490 type: string 15491 values: 15492 description: values is an array 15493 of string values. If the operator 15494 is In or NotIn, the values array 15495 must be non-empty. If the operator 15496 is Exists or DoesNotExist, the 15497 values array must be empty. 15498 This array is replaced during 15499 a strategic merge patch. 15500 items: 15501 type: string 15502 type: array 15503 required: 15504 - key 15505 - operator 15506 type: object 15507 type: array 15508 matchLabels: 15509 additionalProperties: 15510 type: string 15511 description: matchLabels is a map of 15512 {key,value} pairs. A single {key,value} 15513 in the matchLabels map is equivalent 15514 to an element of matchExpressions, 15515 whose key field is "key", the operator 15516 is "In", and the values array contains 15517 only "value". The requirements are 15518 ANDed. 15519 type: object 15520 type: object 15521 namespaces: 15522 description: namespaces specifies a static 15523 list of namespace names that the term 15524 applies to. The term is applied to the 15525 union of the namespaces listed in this 15526 field and the ones selected by namespaceSelector. 15527 null or empty namespaces list and null 15528 namespaceSelector means "this pod's namespace". 15529 items: 15530 type: string 15531 type: array 15532 topologyKey: 15533 description: This pod should be co-located 15534 (affinity) or not co-located (anti-affinity) 15535 with the pods matching the labelSelector 15536 in the specified namespaces, where co-located 15537 is defined as running on a node whose 15538 value of the label with key topologyKey 15539 matches that of any node on which any 15540 of the selected pods is running. Empty 15541 topologyKey is not allowed. 15542 type: string 15543 required: 15544 - topologyKey 15545 type: object 15546 weight: 15547 description: weight associated with matching 15548 the corresponding podAffinityTerm, in the 15549 range 1-100. 15550 format: int32 15551 type: integer 15552 required: 15553 - podAffinityTerm 15554 - weight 15555 type: object 15556 type: array 15557 requiredDuringSchedulingIgnoredDuringExecution: 15558 description: If the anti-affinity requirements specified 15559 by this field are not met at scheduling time, the 15560 pod will not be scheduled onto the node. If the 15561 anti-affinity requirements specified by this field 15562 cease to be met at some point during pod execution 15563 (e.g. due to a pod label update), the system may 15564 or may not try to eventually evict the pod from 15565 its node. When there are multiple elements, the 15566 lists of nodes corresponding to each podAffinityTerm 15567 are intersected, i.e. all terms must be satisfied. 15568 items: 15569 description: Defines a set of pods (namely those 15570 matching the labelSelector relative to the given 15571 namespace(s)) that this pod should be co-located 15572 (affinity) or not co-located (anti-affinity) with, 15573 where co-located is defined as running on a node 15574 whose value of the label with key <topologyKey> 15575 matches that of any node on which a pod of the 15576 set of pods is running 15577 properties: 15578 labelSelector: 15579 description: A label query over a set of resources, 15580 in this case pods. 15581 properties: 15582 matchExpressions: 15583 description: matchExpressions is a list 15584 of label selector requirements. The requirements 15585 are ANDed. 15586 items: 15587 description: A label selector requirement 15588 is a selector that contains values, 15589 a key, and an operator that relates 15590 the key and values. 15591 properties: 15592 key: 15593 description: key is the label key 15594 that the selector applies to. 15595 type: string 15596 operator: 15597 description: operator represents a 15598 key's relationship to a set of values. 15599 Valid operators are In, NotIn, Exists 15600 and DoesNotExist. 15601 type: string 15602 values: 15603 description: values is an array of 15604 string values. If the operator is 15605 In or NotIn, the values array must 15606 be non-empty. If the operator is 15607 Exists or DoesNotExist, the values 15608 array must be empty. This array 15609 is replaced during a strategic merge 15610 patch. 15611 items: 15612 type: string 15613 type: array 15614 required: 15615 - key 15616 - operator 15617 type: object 15618 type: array 15619 matchLabels: 15620 additionalProperties: 15621 type: string 15622 description: matchLabels is a map of {key,value} 15623 pairs. A single {key,value} in the matchLabels 15624 map is equivalent to an element of matchExpressions, 15625 whose key field is "key", the operator 15626 is "In", and the values array contains 15627 only "value". The requirements are ANDed. 15628 type: object 15629 type: object 15630 namespaceSelector: 15631 description: A label query over the set of namespaces 15632 that the term applies to. The term is applied 15633 to the union of the namespaces selected by 15634 this field and the ones listed in the namespaces 15635 field. null selector and null or empty namespaces 15636 list means "this pod's namespace". An empty 15637 selector ({}) matches all namespaces. 15638 properties: 15639 matchExpressions: 15640 description: matchExpressions is a list 15641 of label selector requirements. The requirements 15642 are ANDed. 15643 items: 15644 description: A label selector requirement 15645 is a selector that contains values, 15646 a key, and an operator that relates 15647 the key and values. 15648 properties: 15649 key: 15650 description: key is the label key 15651 that the selector applies to. 15652 type: string 15653 operator: 15654 description: operator represents a 15655 key's relationship to a set of values. 15656 Valid operators are In, NotIn, Exists 15657 and DoesNotExist. 15658 type: string 15659 values: 15660 description: values is an array of 15661 string values. If the operator is 15662 In or NotIn, the values array must 15663 be non-empty. If the operator is 15664 Exists or DoesNotExist, the values 15665 array must be empty. This array 15666 is replaced during a strategic merge 15667 patch. 15668 items: 15669 type: string 15670 type: array 15671 required: 15672 - key 15673 - operator 15674 type: object 15675 type: array 15676 matchLabels: 15677 additionalProperties: 15678 type: string 15679 description: matchLabels is a map of {key,value} 15680 pairs. A single {key,value} in the matchLabels 15681 map is equivalent to an element of matchExpressions, 15682 whose key field is "key", the operator 15683 is "In", and the values array contains 15684 only "value". The requirements are ANDed. 15685 type: object 15686 type: object 15687 namespaces: 15688 description: namespaces specifies a static list 15689 of namespace names that the term applies to. 15690 The term is applied to the union of the namespaces 15691 listed in this field and the ones selected 15692 by namespaceSelector. null or empty namespaces 15693 list and null namespaceSelector means "this 15694 pod's namespace". 15695 items: 15696 type: string 15697 type: array 15698 topologyKey: 15699 description: This pod should be co-located (affinity) 15700 or not co-located (anti-affinity) with the 15701 pods matching the labelSelector in the specified 15702 namespaces, where co-located is defined as 15703 running on a node whose value of the label 15704 with key topologyKey matches that of any node 15705 on which any of the selected pods is running. 15706 Empty topologyKey is not allowed. 15707 type: string 15708 required: 15709 - topologyKey 15710 type: object 15711 type: array 15712 type: object 15713 type: object 15714 automountServiceAccountToken: 15715 description: AutomountServiceAccountToken indicates whether 15716 pods running as this service account should have an API 15717 token automatically mounted. 15718 type: boolean 15719 dnsConfig: 15720 description: Specifies the DNS parameters of a pod. Parameters 15721 specified here will be merged to the generated DNS configuration 15722 based on DNSPolicy. 15723 properties: 15724 nameservers: 15725 description: A list of DNS name server IP addresses. This 15726 will be appended to the base nameservers generated from 15727 DNSPolicy. Duplicated nameservers will be removed. 15728 items: 15729 type: string 15730 type: array 15731 options: 15732 description: A list of DNS resolver options. This will 15733 be merged with the base options generated from DNSPolicy. 15734 Duplicated entries will be removed. Resolution options 15735 given in Options will override those that appear in 15736 the base DNSPolicy. 15737 items: 15738 description: PodDNSConfigOption defines DNS resolver 15739 options of a pod. 15740 properties: 15741 name: 15742 description: Required. 15743 type: string 15744 value: 15745 type: string 15746 type: object 15747 type: array 15748 searches: 15749 description: A list of DNS search domains for host-name 15750 lookup. This will be appended to the base search paths 15751 generated from DNSPolicy. Duplicated search paths will 15752 be removed. 15753 items: 15754 type: string 15755 type: array 15756 type: object 15757 dnsPolicy: 15758 description: Set DNS policy for the pod. Defaults to "ClusterFirst". 15759 Valid values are 'ClusterFirst', 'Default' or 'None'. DNS 15760 parameters given in DNSConfig will be merged with the policy 15761 selected with DNSPolicy. 15762 type: string 15763 enableServiceLinks: 15764 description: 'EnableServiceLinks indicates whether information 15765 about services should be injected into pod''s environment 15766 variables, matching the syntax of Docker links. Optional: 15767 Defaults to true.' 15768 type: boolean 15769 env: 15770 description: List of environment variables that can be provided 15771 to the containers belonging to the pod. 15772 items: 15773 description: EnvVar represents an environment variable present 15774 in a Container. 15775 properties: 15776 name: 15777 description: Name of the environment variable. Must 15778 be a C_IDENTIFIER. 15779 type: string 15780 value: 15781 description: 'Variable references $(VAR_NAME) are expanded 15782 using the previously defined environment variables 15783 in the container and any service environment variables. 15784 If a variable cannot be resolved, the reference in 15785 the input string will be unchanged. Double $$ are 15786 reduced to a single $, which allows for escaping the 15787 $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce 15788 the string literal "$(VAR_NAME)". Escaped references 15789 will never be expanded, regardless of whether the 15790 variable exists or not. Defaults to "".' 15791 type: string 15792 valueFrom: 15793 description: Source for the environment variable's value. 15794 Cannot be used if value is not empty. 15795 properties: 15796 configMapKeyRef: 15797 description: Selects a key of a ConfigMap. 15798 properties: 15799 key: 15800 description: The key to select. 15801 type: string 15802 name: 15803 description: 'Name of the referent. More info: 15804 https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 15805 TODO: Add other useful fields. apiVersion, 15806 kind, uid?' 15807 type: string 15808 optional: 15809 description: Specify whether the ConfigMap or 15810 its key must be defined 15811 type: boolean 15812 required: 15813 - key 15814 type: object 15815 fieldRef: 15816 description: 'Selects a field of the pod: supports 15817 metadata.name, metadata.namespace, `metadata.labels[''<KEY>'']`, 15818 `metadata.annotations[''<KEY>'']`, spec.nodeName, 15819 spec.serviceAccountName, status.hostIP, status.podIP, 15820 status.podIPs.' 15821 properties: 15822 apiVersion: 15823 description: Version of the schema the FieldPath 15824 is written in terms of, defaults to "v1". 15825 type: string 15826 fieldPath: 15827 description: Path of the field to select in 15828 the specified API version. 15829 type: string 15830 required: 15831 - fieldPath 15832 type: object 15833 resourceFieldRef: 15834 description: 'Selects a resource of the container: 15835 only resources limits and requests (limits.cpu, 15836 limits.memory, limits.ephemeral-storage, requests.cpu, 15837 requests.memory and requests.ephemeral-storage) 15838 are currently supported.' 15839 properties: 15840 containerName: 15841 description: 'Container name: required for volumes, 15842 optional for env vars' 15843 type: string 15844 divisor: 15845 anyOf: 15846 - type: integer 15847 - type: string 15848 description: Specifies the output format of 15849 the exposed resources, defaults to "1" 15850 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 15851 x-kubernetes-int-or-string: true 15852 resource: 15853 description: 'Required: resource to select' 15854 type: string 15855 required: 15856 - resource 15857 type: object 15858 secretKeyRef: 15859 description: Selects a key of a secret in the pod's 15860 namespace 15861 properties: 15862 key: 15863 description: The key of the secret to select 15864 from. Must be a valid secret key. 15865 type: string 15866 name: 15867 description: 'Name of the referent. More info: 15868 https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 15869 TODO: Add other useful fields. apiVersion, 15870 kind, uid?' 15871 type: string 15872 optional: 15873 description: Specify whether the Secret or its 15874 key must be defined 15875 type: boolean 15876 required: 15877 - key 15878 type: object 15879 type: object 15880 required: 15881 - name 15882 type: object 15883 type: array 15884 x-kubernetes-list-type: atomic 15885 hostAliases: 15886 description: HostAliases is an optional list of hosts and 15887 IPs that will be injected into the pod's hosts file if specified. 15888 This is only valid for non-hostNetwork pods. 15889 items: 15890 description: HostAlias holds the mapping between IP and 15891 hostnames that will be injected as an entry in the pod's 15892 hosts file. 15893 properties: 15894 hostnames: 15895 description: Hostnames for the above IP address. 15896 items: 15897 type: string 15898 type: array 15899 ip: 15900 description: IP address of the host file entry. 15901 type: string 15902 type: object 15903 type: array 15904 x-kubernetes-list-type: atomic 15905 hostNetwork: 15906 description: HostNetwork specifies whether the pod may use 15907 the node network namespace 15908 type: boolean 15909 imagePullSecrets: 15910 description: ImagePullSecrets gives the name of the secret 15911 used by the pod to pull the image if specified 15912 items: 15913 description: LocalObjectReference contains enough information 15914 to let you locate the referenced object inside the same 15915 namespace. 15916 properties: 15917 name: 15918 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 15919 TODO: Add other useful fields. apiVersion, kind, uid?' 15920 type: string 15921 type: object 15922 type: array 15923 x-kubernetes-list-type: atomic 15924 nodeSelector: 15925 additionalProperties: 15926 type: string 15927 description: 'NodeSelector is a selector which must be true 15928 for the pod to fit on a node. Selector which must match 15929 a node''s labels for the pod to be scheduled on that node. 15930 More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/' 15931 type: object 15932 priorityClassName: 15933 description: If specified, indicates the pod's priority. "system-node-critical" 15934 and "system-cluster-critical" are two special keywords which 15935 indicate the highest priorities with the former being the 15936 highest priority. Any other name must be defined by creating 15937 a PriorityClass object with that name. If not specified, 15938 the pod priority will be default or zero if there is no 15939 default. 15940 type: string 15941 runtimeClassName: 15942 description: 'RuntimeClassName refers to a RuntimeClass object 15943 in the node.k8s.io group, which should be used to run this 15944 pod. If no RuntimeClass resource matches the named class, 15945 the pod will not be run. If unset or empty, the "legacy" 15946 RuntimeClass will be used, which is an implicit class with 15947 an empty definition that uses the default runtime handler. 15948 More info: https://git.k8s.io/enhancements/keps/sig-node/runtime-class.md 15949 This is a beta feature as of Kubernetes v1.14.' 15950 type: string 15951 schedulerName: 15952 description: SchedulerName specifies the scheduler to be used 15953 to dispatch the Pod 15954 type: string 15955 securityContext: 15956 description: 'SecurityContext holds pod-level security attributes 15957 and common container settings. Optional: Defaults to empty. See 15958 type description for default values of each field.' 15959 properties: 15960 fsGroup: 15961 description: "A special supplemental group that applies 15962 to all containers in a pod. Some volume types allow 15963 the Kubelet to change the ownership of that volume to 15964 be owned by the pod: \n 1. The owning GID will be the 15965 FSGroup 2. The setgid bit is set (new files created 15966 in the volume will be owned by FSGroup) 3. The permission 15967 bits are OR'd with rw-rw---- \n If unset, the Kubelet 15968 will not modify the ownership and permissions of any 15969 volume. Note that this field cannot be set when spec.os.name 15970 is windows." 15971 format: int64 15972 type: integer 15973 fsGroupChangePolicy: 15974 description: 'fsGroupChangePolicy defines behavior of 15975 changing ownership and permission of the volume before 15976 being exposed inside Pod. This field will only apply 15977 to volume types which support fsGroup based ownership(and 15978 permissions). It will have no effect on ephemeral volume 15979 types such as: secret, configmaps and emptydir. Valid 15980 values are "OnRootMismatch" and "Always". If not specified, 15981 "Always" is used. Note that this field cannot be set 15982 when spec.os.name is windows.' 15983 type: string 15984 runAsGroup: 15985 description: The GID to run the entrypoint of the container 15986 process. Uses runtime default if unset. May also be 15987 set in SecurityContext. If set in both SecurityContext 15988 and PodSecurityContext, the value specified in SecurityContext 15989 takes precedence for that container. Note that this 15990 field cannot be set when spec.os.name is windows. 15991 format: int64 15992 type: integer 15993 runAsNonRoot: 15994 description: Indicates that the container must run as 15995 a non-root user. If true, the Kubelet will validate 15996 the image at runtime to ensure that it does not run 15997 as UID 0 (root) and fail to start the container if it 15998 does. If unset or false, no such validation will be 15999 performed. May also be set in SecurityContext. If set 16000 in both SecurityContext and PodSecurityContext, the 16001 value specified in SecurityContext takes precedence. 16002 type: boolean 16003 runAsUser: 16004 description: The UID to run the entrypoint of the container 16005 process. Defaults to user specified in image metadata 16006 if unspecified. May also be set in SecurityContext. If 16007 set in both SecurityContext and PodSecurityContext, 16008 the value specified in SecurityContext takes precedence 16009 for that container. Note that this field cannot be set 16010 when spec.os.name is windows. 16011 format: int64 16012 type: integer 16013 seLinuxOptions: 16014 description: The SELinux context to be applied to all 16015 containers. If unspecified, the container runtime will 16016 allocate a random SELinux context for each container. May 16017 also be set in SecurityContext. If set in both SecurityContext 16018 and PodSecurityContext, the value specified in SecurityContext 16019 takes precedence for that container. Note that this 16020 field cannot be set when spec.os.name is windows. 16021 properties: 16022 level: 16023 description: Level is SELinux level label that applies 16024 to the container. 16025 type: string 16026 role: 16027 description: Role is a SELinux role label that applies 16028 to the container. 16029 type: string 16030 type: 16031 description: Type is a SELinux type label that applies 16032 to the container. 16033 type: string 16034 user: 16035 description: User is a SELinux user label that applies 16036 to the container. 16037 type: string 16038 type: object 16039 seccompProfile: 16040 description: The seccomp options to use by the containers 16041 in this pod. Note that this field cannot be set when 16042 spec.os.name is windows. 16043 properties: 16044 localhostProfile: 16045 description: localhostProfile indicates a profile 16046 defined in a file on the node should be used. The 16047 profile must be preconfigured on the node to work. 16048 Must be a descending path, relative to the kubelet's 16049 configured seccomp profile location. Must only be 16050 set if type is "Localhost". 16051 type: string 16052 type: 16053 description: "type indicates which kind of seccomp 16054 profile will be applied. Valid options are: \n Localhost 16055 - a profile defined in a file on the node should 16056 be used. RuntimeDefault - the container runtime 16057 default profile should be used. Unconfined - no 16058 profile should be applied." 16059 type: string 16060 required: 16061 - type 16062 type: object 16063 supplementalGroups: 16064 description: A list of groups applied to the first process 16065 run in each container, in addition to the container's 16066 primary GID. If unspecified, no groups will be added 16067 to any container. Note that this field cannot be set 16068 when spec.os.name is windows. 16069 items: 16070 format: int64 16071 type: integer 16072 type: array 16073 sysctls: 16074 description: Sysctls hold a list of namespaced sysctls 16075 used for the pod. Pods with unsupported sysctls (by 16076 the container runtime) might fail to launch. Note that 16077 this field cannot be set when spec.os.name is windows. 16078 items: 16079 description: Sysctl defines a kernel parameter to be 16080 set 16081 properties: 16082 name: 16083 description: Name of a property to set 16084 type: string 16085 value: 16086 description: Value of a property to set 16087 type: string 16088 required: 16089 - name 16090 - value 16091 type: object 16092 type: array 16093 windowsOptions: 16094 description: The Windows specific settings applied to 16095 all containers. If unspecified, the options within a 16096 container's SecurityContext will be used. If set in 16097 both SecurityContext and PodSecurityContext, the value 16098 specified in SecurityContext takes precedence. Note 16099 that this field cannot be set when spec.os.name is linux. 16100 properties: 16101 gmsaCredentialSpec: 16102 description: GMSACredentialSpec is where the GMSA 16103 admission webhook (https://github.com/kubernetes-sigs/windows-gmsa) 16104 inlines the contents of the GMSA credential spec 16105 named by the GMSACredentialSpecName field. 16106 type: string 16107 gmsaCredentialSpecName: 16108 description: GMSACredentialSpecName is the name of 16109 the GMSA credential spec to use. 16110 type: string 16111 hostProcess: 16112 description: HostProcess determines if a container 16113 should be run as a 'Host Process' container. This 16114 field is alpha-level and will only be honored by 16115 components that enable the WindowsHostProcessContainers 16116 feature flag. Setting this field without the feature 16117 flag will result in errors when validating the Pod. 16118 All of a Pod's containers must have the same effective 16119 HostProcess value (it is not allowed to have a mix 16120 of HostProcess containers and non-HostProcess containers). In 16121 addition, if HostProcess is true then HostNetwork 16122 must also be set to true. 16123 type: boolean 16124 runAsUserName: 16125 description: The UserName in Windows to run the entrypoint 16126 of the container process. Defaults to the user specified 16127 in image metadata if unspecified. May also be set 16128 in PodSecurityContext. If set in both SecurityContext 16129 and PodSecurityContext, the value specified in SecurityContext 16130 takes precedence. 16131 type: string 16132 type: object 16133 type: object 16134 tolerations: 16135 description: If specified, the pod's tolerations. 16136 items: 16137 description: The pod this Toleration is attached to tolerates 16138 any taint that matches the triple <key,value,effect> using 16139 the matching operator <operator>. 16140 properties: 16141 effect: 16142 description: Effect indicates the taint effect to match. 16143 Empty means match all taint effects. When specified, 16144 allowed values are NoSchedule, PreferNoSchedule and 16145 NoExecute. 16146 type: string 16147 key: 16148 description: Key is the taint key that the toleration 16149 applies to. Empty means match all taint keys. If the 16150 key is empty, operator must be Exists; this combination 16151 means to match all values and all keys. 16152 type: string 16153 operator: 16154 description: Operator represents a key's relationship 16155 to the value. Valid operators are Exists and Equal. 16156 Defaults to Equal. Exists is equivalent to wildcard 16157 for value, so that a pod can tolerate all taints of 16158 a particular category. 16159 type: string 16160 tolerationSeconds: 16161 description: TolerationSeconds represents the period 16162 of time the toleration (which must be of effect NoExecute, 16163 otherwise this field is ignored) tolerates the taint. 16164 By default, it is not set, which means tolerate the 16165 taint forever (do not evict). Zero and negative values 16166 will be treated as 0 (evict immediately) by the system. 16167 format: int64 16168 type: integer 16169 value: 16170 description: Value is the taint value the toleration 16171 matches to. If the operator is Exists, the value should 16172 be empty, otherwise just a regular string. 16173 type: string 16174 type: object 16175 type: array 16176 x-kubernetes-list-type: atomic 16177 topologySpreadConstraints: 16178 description: TopologySpreadConstraints controls how Pods are 16179 spread across your cluster among failure-domains such as 16180 regions, zones, nodes, and other user-defined topology domains. 16181 items: 16182 description: TopologySpreadConstraint specifies how to spread 16183 matching pods among the given topology. 16184 properties: 16185 labelSelector: 16186 description: LabelSelector is used to find matching 16187 pods. Pods that match this label selector are counted 16188 to determine the number of pods in their corresponding 16189 topology domain. 16190 properties: 16191 matchExpressions: 16192 description: matchExpressions is a list of label 16193 selector requirements. The requirements are ANDed. 16194 items: 16195 description: A label selector requirement is a 16196 selector that contains values, a key, and an 16197 operator that relates the key and values. 16198 properties: 16199 key: 16200 description: key is the label key that the 16201 selector applies to. 16202 type: string 16203 operator: 16204 description: operator represents a key's relationship 16205 to a set of values. Valid operators are 16206 In, NotIn, Exists and DoesNotExist. 16207 type: string 16208 values: 16209 description: values is an array of string 16210 values. If the operator is In or NotIn, 16211 the values array must be non-empty. If the 16212 operator is Exists or DoesNotExist, the 16213 values array must be empty. This array is 16214 replaced during a strategic merge patch. 16215 items: 16216 type: string 16217 type: array 16218 required: 16219 - key 16220 - operator 16221 type: object 16222 type: array 16223 matchLabels: 16224 additionalProperties: 16225 type: string 16226 description: matchLabels is a map of {key,value} 16227 pairs. A single {key,value} in the matchLabels 16228 map is equivalent to an element of matchExpressions, 16229 whose key field is "key", the operator is "In", 16230 and the values array contains only "value". The 16231 requirements are ANDed. 16232 type: object 16233 type: object 16234 matchLabelKeys: 16235 description: MatchLabelKeys is a set of pod label keys 16236 to select the pods over which spreading will be calculated. 16237 The keys are used to lookup values from the incoming 16238 pod labels, those key-value labels are ANDed with 16239 labelSelector to select the group of existing pods 16240 over which spreading will be calculated for the incoming 16241 pod. Keys that don't exist in the incoming pod labels 16242 will be ignored. A null or empty list means only match 16243 against labelSelector. 16244 items: 16245 type: string 16246 type: array 16247 x-kubernetes-list-type: atomic 16248 maxSkew: 16249 description: 'MaxSkew describes the degree to which 16250 pods may be unevenly distributed. When `whenUnsatisfiable=DoNotSchedule`, 16251 it is the maximum permitted difference between the 16252 number of matching pods in the target topology and 16253 the global minimum. The global minimum is the minimum 16254 number of matching pods in an eligible domain or zero 16255 if the number of eligible domains is less than MinDomains. 16256 For example, in a 3-zone cluster, MaxSkew is set to 16257 1, and pods with the same labelSelector spread as 16258 2/2/1: In this case, the global minimum is 1. | zone1 16259 | zone2 | zone3 | | P P | P P | P | - if MaxSkew 16260 is 1, incoming pod can only be scheduled to zone3 16261 to become 2/2/2; scheduling it onto zone1(zone2) would 16262 make the ActualSkew(3-1) on zone1(zone2) violate MaxSkew(1). 16263 - if MaxSkew is 2, incoming pod can be scheduled onto 16264 any zone. When `whenUnsatisfiable=ScheduleAnyway`, 16265 it is used to give higher precedence to topologies 16266 that satisfy it. It''s a required field. Default value 16267 is 1 and 0 is not allowed.' 16268 format: int32 16269 type: integer 16270 minDomains: 16271 description: "MinDomains indicates a minimum number 16272 of eligible domains. When the number of eligible domains 16273 with matching topology keys is less than minDomains, 16274 Pod Topology Spread treats \"global minimum\" as 0, 16275 and then the calculation of Skew is performed. And 16276 when the number of eligible domains with matching 16277 topology keys equals or greater than minDomains, this 16278 value has no effect on scheduling. As a result, when 16279 the number of eligible domains is less than minDomains, 16280 scheduler won't schedule more than maxSkew Pods to 16281 those domains. If value is nil, the constraint behaves 16282 as if MinDomains is equal to 1. Valid values are integers 16283 greater than 0. When value is not nil, WhenUnsatisfiable 16284 must be DoNotSchedule. \n For example, in a 3-zone 16285 cluster, MaxSkew is set to 2, MinDomains is set to 16286 5 and pods with the same labelSelector spread as 2/2/2: 16287 | zone1 | zone2 | zone3 | | P P | P P | P P | 16288 The number of domains is less than 5(MinDomains), 16289 so \"global minimum\" is treated as 0. In this situation, 16290 new pod with the same labelSelector cannot be scheduled, 16291 because computed skew will be 3(3 - 0) if new Pod 16292 is scheduled to any of the three zones, it will violate 16293 MaxSkew. \n This is a beta field and requires the 16294 MinDomainsInPodTopologySpread feature gate to be enabled 16295 (enabled by default)." 16296 format: int32 16297 type: integer 16298 nodeAffinityPolicy: 16299 description: "NodeAffinityPolicy indicates how we will 16300 treat Pod's nodeAffinity/nodeSelector when calculating 16301 pod topology spread skew. Options are: - Honor: only 16302 nodes matching nodeAffinity/nodeSelector are included 16303 in the calculations. - Ignore: nodeAffinity/nodeSelector 16304 are ignored. All nodes are included in the calculations. 16305 \n If this value is nil, the behavior is equivalent 16306 to the Honor policy. This is a alpha-level feature 16307 enabled by the NodeInclusionPolicyInPodTopologySpread 16308 feature flag." 16309 type: string 16310 nodeTaintsPolicy: 16311 description: "NodeTaintsPolicy indicates how we will 16312 treat node taints when calculating pod topology spread 16313 skew. Options are: - Honor: nodes without taints, 16314 along with tainted nodes for which the incoming pod 16315 has a toleration, are included. - Ignore: node taints 16316 are ignored. All nodes are included. \n If this value 16317 is nil, the behavior is equivalent to the Ignore policy. 16318 This is a alpha-level feature enabled by the NodeInclusionPolicyInPodTopologySpread 16319 feature flag." 16320 type: string 16321 topologyKey: 16322 description: TopologyKey is the key of node labels. 16323 Nodes that have a label with this key and identical 16324 values are considered to be in the same topology. 16325 We consider each <key, value> as a "bucket", and try 16326 to put balanced number of pods into each bucket. We 16327 define a domain as a particular instance of a topology. 16328 Also, we define an eligible domain as a domain whose 16329 nodes meet the requirements of nodeAffinityPolicy 16330 and nodeTaintsPolicy. e.g. If TopologyKey is "kubernetes.io/hostname", 16331 each Node is a domain of that topology. And, if TopologyKey 16332 is "topology.kubernetes.io/zone", each zone is a domain 16333 of that topology. It's a required field. 16334 type: string 16335 whenUnsatisfiable: 16336 description: 'WhenUnsatisfiable indicates how to deal 16337 with a pod if it doesn''t satisfy the spread constraint. 16338 - DoNotSchedule (default) tells the scheduler not 16339 to schedule it. - ScheduleAnyway tells the scheduler 16340 to schedule the pod in any location, but giving 16341 higher precedence to topologies that would help reduce 16342 the skew. A constraint is considered "Unsatisfiable" 16343 for an incoming pod if and only if every possible 16344 node assignment for that pod would violate "MaxSkew" 16345 on some topology. For example, in a 3-zone cluster, 16346 MaxSkew is set to 1, and pods with the same labelSelector 16347 spread as 3/1/1: | zone1 | zone2 | zone3 | | P P P 16348 | P | P | If WhenUnsatisfiable is set to DoNotSchedule, 16349 incoming pod can only be scheduled to zone2(zone3) 16350 to become 3/2/1(3/1/2) as ActualSkew(2-1) on zone2(zone3) 16351 satisfies MaxSkew(1). In other words, the cluster 16352 can still be imbalanced, but scheduler won''t make 16353 it *more* imbalanced. It''s a required field.' 16354 type: string 16355 required: 16356 - maxSkew 16357 - topologyKey 16358 - whenUnsatisfiable 16359 type: object 16360 type: array 16361 x-kubernetes-list-type: atomic 16362 volumes: 16363 description: 'List of volumes that can be mounted by containers 16364 belonging to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes' 16365 items: 16366 description: Volume represents a named volume in a pod that 16367 may be accessed by any container in the pod. 16368 properties: 16369 awsElasticBlockStore: 16370 description: 'awsElasticBlockStore represents an AWS 16371 Disk resource that is attached to a kubelet''s host 16372 machine and then exposed to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore' 16373 properties: 16374 fsType: 16375 description: 'fsType is the filesystem type of the 16376 volume that you want to mount. Tip: Ensure that 16377 the filesystem type is supported by the host operating 16378 system. Examples: "ext4", "xfs", "ntfs". Implicitly 16379 inferred to be "ext4" if unspecified. More info: 16380 https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore 16381 TODO: how do we prevent errors in the filesystem 16382 from compromising the machine' 16383 type: string 16384 partition: 16385 description: 'partition is the partition in the 16386 volume that you want to mount. If omitted, the 16387 default is to mount by volume name. Examples: 16388 For volume /dev/sda1, you specify the partition 16389 as "1". Similarly, the volume partition for /dev/sda 16390 is "0" (or you can leave the property empty).' 16391 format: int32 16392 type: integer 16393 readOnly: 16394 description: 'readOnly value true will force the 16395 readOnly setting in VolumeMounts. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore' 16396 type: boolean 16397 volumeID: 16398 description: 'volumeID is unique ID of the persistent 16399 disk resource in AWS (Amazon EBS volume). More 16400 info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore' 16401 type: string 16402 required: 16403 - volumeID 16404 type: object 16405 azureDisk: 16406 description: azureDisk represents an Azure Data Disk 16407 mount on the host and bind mount to the pod. 16408 properties: 16409 cachingMode: 16410 description: 'cachingMode is the Host Caching mode: 16411 None, Read Only, Read Write.' 16412 type: string 16413 diskName: 16414 description: diskName is the Name of the data disk 16415 in the blob storage 16416 type: string 16417 diskURI: 16418 description: diskURI is the URI of data disk in 16419 the blob storage 16420 type: string 16421 fsType: 16422 description: fsType is Filesystem type to mount. 16423 Must be a filesystem type supported by the host 16424 operating system. Ex. "ext4", "xfs", "ntfs". Implicitly 16425 inferred to be "ext4" if unspecified. 16426 type: string 16427 kind: 16428 description: 'kind expected values are Shared: multiple 16429 blob disks per storage account Dedicated: single 16430 blob disk per storage account Managed: azure 16431 managed data disk (only in managed availability 16432 set). defaults to shared' 16433 type: string 16434 readOnly: 16435 description: readOnly Defaults to false (read/write). 16436 ReadOnly here will force the ReadOnly setting 16437 in VolumeMounts. 16438 type: boolean 16439 required: 16440 - diskName 16441 - diskURI 16442 type: object 16443 azureFile: 16444 description: azureFile represents an Azure File Service 16445 mount on the host and bind mount to the pod. 16446 properties: 16447 readOnly: 16448 description: readOnly defaults to false (read/write). 16449 ReadOnly here will force the ReadOnly setting 16450 in VolumeMounts. 16451 type: boolean 16452 secretName: 16453 description: secretName is the name of secret that 16454 contains Azure Storage Account Name and Key 16455 type: string 16456 shareName: 16457 description: shareName is the azure share Name 16458 type: string 16459 required: 16460 - secretName 16461 - shareName 16462 type: object 16463 cephfs: 16464 description: cephFS represents a Ceph FS mount on the 16465 host that shares a pod's lifetime 16466 properties: 16467 monitors: 16468 description: 'monitors is Required: Monitors is 16469 a collection of Ceph monitors More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it' 16470 items: 16471 type: string 16472 type: array 16473 path: 16474 description: 'path is Optional: Used as the mounted 16475 root, rather than the full Ceph tree, default 16476 is /' 16477 type: string 16478 readOnly: 16479 description: 'readOnly is Optional: Defaults to 16480 false (read/write). ReadOnly here will force the 16481 ReadOnly setting in VolumeMounts. More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it' 16482 type: boolean 16483 secretFile: 16484 description: 'secretFile is Optional: SecretFile 16485 is the path to key ring for User, default is /etc/ceph/user.secret 16486 More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it' 16487 type: string 16488 secretRef: 16489 description: 'secretRef is Optional: SecretRef is 16490 reference to the authentication secret for User, 16491 default is empty. More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it' 16492 properties: 16493 name: 16494 description: 'Name of the referent. More info: 16495 https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 16496 TODO: Add other useful fields. apiVersion, 16497 kind, uid?' 16498 type: string 16499 type: object 16500 user: 16501 description: 'user is optional: User is the rados 16502 user name, default is admin More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it' 16503 type: string 16504 required: 16505 - monitors 16506 type: object 16507 cinder: 16508 description: 'cinder represents a cinder volume attached 16509 and mounted on kubelets host machine. More info: https://examples.k8s.io/mysql-cinder-pd/README.md' 16510 properties: 16511 fsType: 16512 description: 'fsType is the filesystem type to mount. 16513 Must be a filesystem type supported by the host 16514 operating system. Examples: "ext4", "xfs", "ntfs". 16515 Implicitly inferred to be "ext4" if unspecified. 16516 More info: https://examples.k8s.io/mysql-cinder-pd/README.md' 16517 type: string 16518 readOnly: 16519 description: 'readOnly defaults to false (read/write). 16520 ReadOnly here will force the ReadOnly setting 16521 in VolumeMounts. More info: https://examples.k8s.io/mysql-cinder-pd/README.md' 16522 type: boolean 16523 secretRef: 16524 description: 'secretRef is optional: points to a 16525 secret object containing parameters used to connect 16526 to OpenStack.' 16527 properties: 16528 name: 16529 description: 'Name of the referent. More info: 16530 https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 16531 TODO: Add other useful fields. apiVersion, 16532 kind, uid?' 16533 type: string 16534 type: object 16535 volumeID: 16536 description: 'volumeID used to identify the volume 16537 in cinder. More info: https://examples.k8s.io/mysql-cinder-pd/README.md' 16538 type: string 16539 required: 16540 - volumeID 16541 type: object 16542 configMap: 16543 description: configMap represents a configMap that should 16544 populate this volume 16545 properties: 16546 defaultMode: 16547 description: 'defaultMode is optional: mode bits 16548 used to set permissions on created files by default. 16549 Must be an octal value between 0000 and 0777 or 16550 a decimal value between 0 and 511. YAML accepts 16551 both octal and decimal values, JSON requires decimal 16552 values for mode bits. Defaults to 0644. Directories 16553 within the path are not affected by this setting. 16554 This might be in conflict with other options that 16555 affect the file mode, like fsGroup, and the result 16556 can be other mode bits set.' 16557 format: int32 16558 type: integer 16559 items: 16560 description: items if unspecified, each key-value 16561 pair in the Data field of the referenced ConfigMap 16562 will be projected into the volume as a file whose 16563 name is the key and content is the value. If specified, 16564 the listed keys will be projected into the specified 16565 paths, and unlisted keys will not be present. 16566 If a key is specified which is not present in 16567 the ConfigMap, the volume setup will error unless 16568 it is marked optional. Paths must be relative 16569 and may not contain the '..' path or start with 16570 '..'. 16571 items: 16572 description: Maps a string key to a path within 16573 a volume. 16574 properties: 16575 key: 16576 description: key is the key to project. 16577 type: string 16578 mode: 16579 description: 'mode is Optional: mode bits 16580 used to set permissions on this file. Must 16581 be an octal value between 0000 and 0777 16582 or a decimal value between 0 and 511. YAML 16583 accepts both octal and decimal values, JSON 16584 requires decimal values for mode bits. If 16585 not specified, the volume defaultMode will 16586 be used. This might be in conflict with 16587 other options that affect the file mode, 16588 like fsGroup, and the result can be other 16589 mode bits set.' 16590 format: int32 16591 type: integer 16592 path: 16593 description: path is the relative path of 16594 the file to map the key to. May not be an 16595 absolute path. May not contain the path 16596 element '..'. May not start with the string 16597 '..'. 16598 type: string 16599 required: 16600 - key 16601 - path 16602 type: object 16603 type: array 16604 name: 16605 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 16606 TODO: Add other useful fields. apiVersion, kind, 16607 uid?' 16608 type: string 16609 optional: 16610 description: optional specify whether the ConfigMap 16611 or its keys must be defined 16612 type: boolean 16613 type: object 16614 csi: 16615 description: csi (Container Storage Interface) represents 16616 ephemeral storage that is handled by certain external 16617 CSI drivers (Beta feature). 16618 properties: 16619 driver: 16620 description: driver is the name of the CSI driver 16621 that handles this volume. Consult with your admin 16622 for the correct name as registered in the cluster. 16623 type: string 16624 fsType: 16625 description: fsType to mount. Ex. "ext4", "xfs", 16626 "ntfs". If not provided, the empty value is passed 16627 to the associated CSI driver which will determine 16628 the default filesystem to apply. 16629 type: string 16630 nodePublishSecretRef: 16631 description: nodePublishSecretRef is a reference 16632 to the secret object containing sensitive information 16633 to pass to the CSI driver to complete the CSI 16634 NodePublishVolume and NodeUnpublishVolume calls. 16635 This field is optional, and may be empty if no 16636 secret is required. If the secret object contains 16637 more than one secret, all secret references are 16638 passed. 16639 properties: 16640 name: 16641 description: 'Name of the referent. More info: 16642 https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 16643 TODO: Add other useful fields. apiVersion, 16644 kind, uid?' 16645 type: string 16646 type: object 16647 readOnly: 16648 description: readOnly specifies a read-only configuration 16649 for the volume. Defaults to false (read/write). 16650 type: boolean 16651 volumeAttributes: 16652 additionalProperties: 16653 type: string 16654 description: volumeAttributes stores driver-specific 16655 properties that are passed to the CSI driver. 16656 Consult your driver's documentation for supported 16657 values. 16658 type: object 16659 required: 16660 - driver 16661 type: object 16662 downwardAPI: 16663 description: downwardAPI represents downward API about 16664 the pod that should populate this volume 16665 properties: 16666 defaultMode: 16667 description: 'Optional: mode bits to use on created 16668 files by default. Must be a Optional: mode bits 16669 used to set permissions on created files by default. 16670 Must be an octal value between 0000 and 0777 or 16671 a decimal value between 0 and 511. YAML accepts 16672 both octal and decimal values, JSON requires decimal 16673 values for mode bits. Defaults to 0644. Directories 16674 within the path are not affected by this setting. 16675 This might be in conflict with other options that 16676 affect the file mode, like fsGroup, and the result 16677 can be other mode bits set.' 16678 format: int32 16679 type: integer 16680 items: 16681 description: Items is a list of downward API volume 16682 file 16683 items: 16684 description: DownwardAPIVolumeFile represents 16685 information to create the file containing the 16686 pod field 16687 properties: 16688 fieldRef: 16689 description: 'Required: Selects a field of 16690 the pod: only annotations, labels, name 16691 and namespace are supported.' 16692 properties: 16693 apiVersion: 16694 description: Version of the schema the 16695 FieldPath is written in terms of, defaults 16696 to "v1". 16697 type: string 16698 fieldPath: 16699 description: Path of the field to select 16700 in the specified API version. 16701 type: string 16702 required: 16703 - fieldPath 16704 type: object 16705 mode: 16706 description: 'Optional: mode bits used to 16707 set permissions on this file, must be an 16708 octal value between 0000 and 0777 or a decimal 16709 value between 0 and 511. YAML accepts both 16710 octal and decimal values, JSON requires 16711 decimal values for mode bits. If not specified, 16712 the volume defaultMode will be used. This 16713 might be in conflict with other options 16714 that affect the file mode, like fsGroup, 16715 and the result can be other mode bits set.' 16716 format: int32 16717 type: integer 16718 path: 16719 description: 'Required: Path is the relative 16720 path name of the file to be created. Must 16721 not be absolute or contain the ''..'' path. 16722 Must be utf-8 encoded. The first item of 16723 the relative path must not start with ''..''' 16724 type: string 16725 resourceFieldRef: 16726 description: 'Selects a resource of the container: 16727 only resources limits and requests (limits.cpu, 16728 limits.memory, requests.cpu and requests.memory) 16729 are currently supported.' 16730 properties: 16731 containerName: 16732 description: 'Container name: required 16733 for volumes, optional for env vars' 16734 type: string 16735 divisor: 16736 anyOf: 16737 - type: integer 16738 - type: string 16739 description: Specifies the output format 16740 of the exposed resources, defaults to 16741 "1" 16742 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 16743 x-kubernetes-int-or-string: true 16744 resource: 16745 description: 'Required: resource to select' 16746 type: string 16747 required: 16748 - resource 16749 type: object 16750 required: 16751 - path 16752 type: object 16753 type: array 16754 type: object 16755 emptyDir: 16756 description: 'emptyDir represents a temporary directory 16757 that shares a pod''s lifetime. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir' 16758 properties: 16759 medium: 16760 description: 'medium represents what type of storage 16761 medium should back this directory. The default 16762 is "" which means to use the node''s default medium. 16763 Must be an empty string (default) or Memory. More 16764 info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir' 16765 type: string 16766 sizeLimit: 16767 anyOf: 16768 - type: integer 16769 - type: string 16770 description: 'sizeLimit is the total amount of local 16771 storage required for this EmptyDir volume. The 16772 size limit is also applicable for memory medium. 16773 The maximum usage on memory medium EmptyDir would 16774 be the minimum value between the SizeLimit specified 16775 here and the sum of memory limits of all containers 16776 in a pod. The default is nil which means that 16777 the limit is undefined. More info: http://kubernetes.io/docs/user-guide/volumes#emptydir' 16778 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 16779 x-kubernetes-int-or-string: true 16780 type: object 16781 ephemeral: 16782 description: "ephemeral represents a volume that is 16783 handled by a cluster storage driver. The volume's 16784 lifecycle is tied to the pod that defines it - it 16785 will be created before the pod starts, and deleted 16786 when the pod is removed. \n Use this if: a) the volume 16787 is only needed while the pod runs, b) features of 16788 normal volumes like restoring from snapshot or capacity 16789 \ tracking are needed, c) the storage driver is 16790 specified through a storage class, and d) the storage 16791 driver supports dynamic volume provisioning through 16792 \ a PersistentVolumeClaim (see EphemeralVolumeSource 16793 for more information on the connection between 16794 this volume type and PersistentVolumeClaim). \n 16795 Use PersistentVolumeClaim or one of the vendor-specific 16796 APIs for volumes that persist for longer than the 16797 lifecycle of an individual pod. \n Use CSI for light-weight 16798 local ephemeral volumes if the CSI driver is meant 16799 to be used that way - see the documentation of the 16800 driver for more information. \n A pod can use both 16801 types of ephemeral volumes and persistent volumes 16802 at the same time." 16803 properties: 16804 volumeClaimTemplate: 16805 description: "Will be used to create a stand-alone 16806 PVC to provision the volume. The pod in which 16807 this EphemeralVolumeSource is embedded will be 16808 the owner of the PVC, i.e. the PVC will be deleted 16809 together with the pod. The name of the PVC will 16810 be `<pod name>-<volume name>` where `<volume name>` 16811 is the name from the `PodSpec.Volumes` array entry. 16812 Pod validation will reject the pod if the concatenated 16813 name is not valid for a PVC (for example, too 16814 long). \n An existing PVC with that name that 16815 is not owned by the pod will *not* be used for 16816 the pod to avoid using an unrelated volume by 16817 mistake. Starting the pod is then blocked until 16818 the unrelated PVC is removed. If such a pre-created 16819 PVC is meant to be used by the pod, the PVC has 16820 to updated with an owner reference to the pod 16821 once the pod exists. Normally this should not 16822 be necessary, but it may be useful when manually 16823 reconstructing a broken cluster. \n This field 16824 is read-only and no changes will be made by Kubernetes 16825 to the PVC after it has been created. \n Required, 16826 must not be nil." 16827 properties: 16828 metadata: 16829 description: May contain labels and annotations 16830 that will be copied into the PVC when creating 16831 it. No other fields are allowed and will be 16832 rejected during validation. 16833 type: object 16834 spec: 16835 description: The specification for the PersistentVolumeClaim. 16836 The entire content is copied unchanged into 16837 the PVC that gets created from this template. 16838 The same fields as in a PersistentVolumeClaim 16839 are also valid here. 16840 properties: 16841 accessModes: 16842 description: 'accessModes contains the desired 16843 access modes the volume should have. More 16844 info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1' 16845 items: 16846 type: string 16847 type: array 16848 dataSource: 16849 description: 'dataSource field can be used 16850 to specify either: * An existing VolumeSnapshot 16851 object (snapshot.storage.k8s.io/VolumeSnapshot) 16852 * An existing PVC (PersistentVolumeClaim) 16853 If the provisioner or an external controller 16854 can support the specified data source, 16855 it will create a new volume based on the 16856 contents of the specified data source. 16857 If the AnyVolumeDataSource feature gate 16858 is enabled, this field will always have 16859 the same contents as the DataSourceRef 16860 field.' 16861 properties: 16862 apiGroup: 16863 description: APIGroup is the group for 16864 the resource being referenced. If 16865 APIGroup is not specified, the specified 16866 Kind must be in the core API group. 16867 For any other third-party types, APIGroup 16868 is required. 16869 type: string 16870 kind: 16871 description: Kind is the type of resource 16872 being referenced 16873 type: string 16874 name: 16875 description: Name is the name of resource 16876 being referenced 16877 type: string 16878 required: 16879 - kind 16880 - name 16881 type: object 16882 dataSourceRef: 16883 description: 'dataSourceRef specifies the 16884 object from which to populate the volume 16885 with data, if a non-empty volume is desired. 16886 This may be any local object from a non-empty 16887 API group (non core object) or a PersistentVolumeClaim 16888 object. When this field is specified, 16889 volume binding will only succeed if the 16890 type of the specified object matches some 16891 installed volume populator or dynamic 16892 provisioner. This field will replace the 16893 functionality of the DataSource field 16894 and as such if both fields are non-empty, 16895 they must have the same value. For backwards 16896 compatibility, both fields (DataSource 16897 and DataSourceRef) will be set to the 16898 same value automatically if one of them 16899 is empty and the other is non-empty. There 16900 are two important differences between 16901 DataSource and DataSourceRef: * While 16902 DataSource only allows two specific types 16903 of objects, DataSourceRef allows any 16904 non-core object, as well as PersistentVolumeClaim 16905 objects. * While DataSource ignores disallowed 16906 values (dropping them), DataSourceRef preserves 16907 all values, and generates an error if 16908 a disallowed value is specified. (Beta) 16909 Using this field requires the AnyVolumeDataSource 16910 feature gate to be enabled.' 16911 properties: 16912 apiGroup: 16913 description: APIGroup is the group for 16914 the resource being referenced. If 16915 APIGroup is not specified, the specified 16916 Kind must be in the core API group. 16917 For any other third-party types, APIGroup 16918 is required. 16919 type: string 16920 kind: 16921 description: Kind is the type of resource 16922 being referenced 16923 type: string 16924 name: 16925 description: Name is the name of resource 16926 being referenced 16927 type: string 16928 required: 16929 - kind 16930 - name 16931 type: object 16932 resources: 16933 description: 'resources represents the minimum 16934 resources the volume should have. If RecoverVolumeExpansionFailure 16935 feature is enabled users are allowed to 16936 specify resource requirements that are 16937 lower than previous value but must still 16938 be higher than capacity recorded in the 16939 status field of the claim. More info: 16940 https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources' 16941 properties: 16942 limits: 16943 additionalProperties: 16944 anyOf: 16945 - type: integer 16946 - type: string 16947 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 16948 x-kubernetes-int-or-string: true 16949 description: 'Limits describes the maximum 16950 amount of compute resources allowed. 16951 More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' 16952 type: object 16953 requests: 16954 additionalProperties: 16955 anyOf: 16956 - type: integer 16957 - type: string 16958 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 16959 x-kubernetes-int-or-string: true 16960 description: 'Requests describes the 16961 minimum amount of compute resources 16962 required. If Requests is omitted for 16963 a container, it defaults to Limits 16964 if that is explicitly specified, otherwise 16965 to an implementation-defined value. 16966 More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' 16967 type: object 16968 type: object 16969 selector: 16970 description: selector is a label query over 16971 volumes to consider for binding. 16972 properties: 16973 matchExpressions: 16974 description: matchExpressions is a list 16975 of label selector requirements. The 16976 requirements are ANDed. 16977 items: 16978 description: A label selector requirement 16979 is a selector that contains values, 16980 a key, and an operator that relates 16981 the key and values. 16982 properties: 16983 key: 16984 description: key is the label 16985 key that the selector applies 16986 to. 16987 type: string 16988 operator: 16989 description: operator represents 16990 a key's relationship to a set 16991 of values. Valid operators are 16992 In, NotIn, Exists and DoesNotExist. 16993 type: string 16994 values: 16995 description: values is an array 16996 of string values. If the operator 16997 is In or NotIn, the values array 16998 must be non-empty. If the operator 16999 is Exists or DoesNotExist, the 17000 values array must be empty. 17001 This array is replaced during 17002 a strategic merge patch. 17003 items: 17004 type: string 17005 type: array 17006 required: 17007 - key 17008 - operator 17009 type: object 17010 type: array 17011 matchLabels: 17012 additionalProperties: 17013 type: string 17014 description: matchLabels is a map of 17015 {key,value} pairs. A single {key,value} 17016 in the matchLabels map is equivalent 17017 to an element of matchExpressions, 17018 whose key field is "key", the operator 17019 is "In", and the values array contains 17020 only "value". The requirements are 17021 ANDed. 17022 type: object 17023 type: object 17024 storageClassName: 17025 description: 'storageClassName is the name 17026 of the StorageClass required by the claim. 17027 More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1' 17028 type: string 17029 volumeMode: 17030 description: volumeMode defines what type 17031 of volume is required by the claim. Value 17032 of Filesystem is implied when not included 17033 in claim spec. 17034 type: string 17035 volumeName: 17036 description: volumeName is the binding reference 17037 to the PersistentVolume backing this claim. 17038 type: string 17039 type: object 17040 required: 17041 - spec 17042 type: object 17043 type: object 17044 fc: 17045 description: fc represents a Fibre Channel resource 17046 that is attached to a kubelet's host machine and then 17047 exposed to the pod. 17048 properties: 17049 fsType: 17050 description: 'fsType is the filesystem type to mount. 17051 Must be a filesystem type supported by the host 17052 operating system. Ex. "ext4", "xfs", "ntfs". Implicitly 17053 inferred to be "ext4" if unspecified. TODO: how 17054 do we prevent errors in the filesystem from compromising 17055 the machine' 17056 type: string 17057 lun: 17058 description: 'lun is Optional: FC target lun number' 17059 format: int32 17060 type: integer 17061 readOnly: 17062 description: 'readOnly is Optional: Defaults to 17063 false (read/write). ReadOnly here will force the 17064 ReadOnly setting in VolumeMounts.' 17065 type: boolean 17066 targetWWNs: 17067 description: 'targetWWNs is Optional: FC target 17068 worldwide names (WWNs)' 17069 items: 17070 type: string 17071 type: array 17072 wwids: 17073 description: 'wwids Optional: FC volume world wide 17074 identifiers (wwids) Either wwids or combination 17075 of targetWWNs and lun must be set, but not both 17076 simultaneously.' 17077 items: 17078 type: string 17079 type: array 17080 type: object 17081 flexVolume: 17082 description: flexVolume represents a generic volume 17083 resource that is provisioned/attached using an exec 17084 based plugin. 17085 properties: 17086 driver: 17087 description: driver is the name of the driver to 17088 use for this volume. 17089 type: string 17090 fsType: 17091 description: fsType is the filesystem type to mount. 17092 Must be a filesystem type supported by the host 17093 operating system. Ex. "ext4", "xfs", "ntfs". The 17094 default filesystem depends on FlexVolume script. 17095 type: string 17096 options: 17097 additionalProperties: 17098 type: string 17099 description: 'options is Optional: this field holds 17100 extra command options if any.' 17101 type: object 17102 readOnly: 17103 description: 'readOnly is Optional: defaults to 17104 false (read/write). ReadOnly here will force the 17105 ReadOnly setting in VolumeMounts.' 17106 type: boolean 17107 secretRef: 17108 description: 'secretRef is Optional: secretRef is 17109 reference to the secret object containing sensitive 17110 information to pass to the plugin scripts. This 17111 may be empty if no secret object is specified. 17112 If the secret object contains more than one secret, 17113 all secrets are passed to the plugin scripts.' 17114 properties: 17115 name: 17116 description: 'Name of the referent. More info: 17117 https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 17118 TODO: Add other useful fields. apiVersion, 17119 kind, uid?' 17120 type: string 17121 type: object 17122 required: 17123 - driver 17124 type: object 17125 flocker: 17126 description: flocker represents a Flocker volume attached 17127 to a kubelet's host machine. This depends on the Flocker 17128 control service being running 17129 properties: 17130 datasetName: 17131 description: datasetName is Name of the dataset 17132 stored as metadata -> name on the dataset for 17133 Flocker should be considered as deprecated 17134 type: string 17135 datasetUUID: 17136 description: datasetUUID is the UUID of the dataset. 17137 This is unique identifier of a Flocker dataset 17138 type: string 17139 type: object 17140 gcePersistentDisk: 17141 description: 'gcePersistentDisk represents a GCE Disk 17142 resource that is attached to a kubelet''s host machine 17143 and then exposed to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk' 17144 properties: 17145 fsType: 17146 description: 'fsType is filesystem type of the volume 17147 that you want to mount. Tip: Ensure that the filesystem 17148 type is supported by the host operating system. 17149 Examples: "ext4", "xfs", "ntfs". Implicitly inferred 17150 to be "ext4" if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk 17151 TODO: how do we prevent errors in the filesystem 17152 from compromising the machine' 17153 type: string 17154 partition: 17155 description: 'partition is the partition in the 17156 volume that you want to mount. If omitted, the 17157 default is to mount by volume name. Examples: 17158 For volume /dev/sda1, you specify the partition 17159 as "1". Similarly, the volume partition for /dev/sda 17160 is "0" (or you can leave the property empty). 17161 More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk' 17162 format: int32 17163 type: integer 17164 pdName: 17165 description: 'pdName is unique name of the PD resource 17166 in GCE. Used to identify the disk in GCE. More 17167 info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk' 17168 type: string 17169 readOnly: 17170 description: 'readOnly here will force the ReadOnly 17171 setting in VolumeMounts. Defaults to false. More 17172 info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk' 17173 type: boolean 17174 required: 17175 - pdName 17176 type: object 17177 gitRepo: 17178 description: 'gitRepo represents a git repository at 17179 a particular revision. DEPRECATED: GitRepo is deprecated. 17180 To provision a container with a git repo, mount an 17181 EmptyDir into an InitContainer that clones the repo 17182 using git, then mount the EmptyDir into the Pod''s 17183 container.' 17184 properties: 17185 directory: 17186 description: directory is the target directory name. 17187 Must not contain or start with '..'. If '.' is 17188 supplied, the volume directory will be the git 17189 repository. Otherwise, if specified, the volume 17190 will contain the git repository in the subdirectory 17191 with the given name. 17192 type: string 17193 repository: 17194 description: repository is the URL 17195 type: string 17196 revision: 17197 description: revision is the commit hash for the 17198 specified revision. 17199 type: string 17200 required: 17201 - repository 17202 type: object 17203 glusterfs: 17204 description: 'glusterfs represents a Glusterfs mount 17205 on the host that shares a pod''s lifetime. More info: 17206 https://examples.k8s.io/volumes/glusterfs/README.md' 17207 properties: 17208 endpoints: 17209 description: 'endpoints is the endpoint name that 17210 details Glusterfs topology. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod' 17211 type: string 17212 path: 17213 description: 'path is the Glusterfs volume path. 17214 More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod' 17215 type: string 17216 readOnly: 17217 description: 'readOnly here will force the Glusterfs 17218 volume to be mounted with read-only permissions. 17219 Defaults to false. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod' 17220 type: boolean 17221 required: 17222 - endpoints 17223 - path 17224 type: object 17225 hostPath: 17226 description: 'hostPath represents a pre-existing file 17227 or directory on the host machine that is directly 17228 exposed to the container. This is generally used for 17229 system agents or other privileged things that are 17230 allowed to see the host machine. Most containers will 17231 NOT need this. More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath 17232 --- TODO(jonesdl) We need to restrict who can use 17233 host directory mounts and who can/can not mount host 17234 directories as read/write.' 17235 properties: 17236 path: 17237 description: 'path of the directory on the host. 17238 If the path is a symlink, it will follow the link 17239 to the real path. More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath' 17240 type: string 17241 type: 17242 description: 'type for HostPath Volume Defaults 17243 to "" More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath' 17244 type: string 17245 required: 17246 - path 17247 type: object 17248 iscsi: 17249 description: 'iscsi represents an ISCSI Disk resource 17250 that is attached to a kubelet''s host machine and 17251 then exposed to the pod. More info: https://examples.k8s.io/volumes/iscsi/README.md' 17252 properties: 17253 chapAuthDiscovery: 17254 description: chapAuthDiscovery defines whether support 17255 iSCSI Discovery CHAP authentication 17256 type: boolean 17257 chapAuthSession: 17258 description: chapAuthSession defines whether support 17259 iSCSI Session CHAP authentication 17260 type: boolean 17261 fsType: 17262 description: 'fsType is the filesystem type of the 17263 volume that you want to mount. Tip: Ensure that 17264 the filesystem type is supported by the host operating 17265 system. Examples: "ext4", "xfs", "ntfs". Implicitly 17266 inferred to be "ext4" if unspecified. More info: 17267 https://kubernetes.io/docs/concepts/storage/volumes#iscsi 17268 TODO: how do we prevent errors in the filesystem 17269 from compromising the machine' 17270 type: string 17271 initiatorName: 17272 description: initiatorName is the custom iSCSI Initiator 17273 Name. If initiatorName is specified with iscsiInterface 17274 simultaneously, new iSCSI interface <target portal>:<volume 17275 name> will be created for the connection. 17276 type: string 17277 iqn: 17278 description: iqn is the target iSCSI Qualified Name. 17279 type: string 17280 iscsiInterface: 17281 description: iscsiInterface is the interface Name 17282 that uses an iSCSI transport. Defaults to 'default' 17283 (tcp). 17284 type: string 17285 lun: 17286 description: lun represents iSCSI Target Lun number. 17287 format: int32 17288 type: integer 17289 portals: 17290 description: portals is the iSCSI Target Portal 17291 List. The portal is either an IP or ip_addr:port 17292 if the port is other than default (typically TCP 17293 ports 860 and 3260). 17294 items: 17295 type: string 17296 type: array 17297 readOnly: 17298 description: readOnly here will force the ReadOnly 17299 setting in VolumeMounts. Defaults to false. 17300 type: boolean 17301 secretRef: 17302 description: secretRef is the CHAP Secret for iSCSI 17303 target and initiator authentication 17304 properties: 17305 name: 17306 description: 'Name of the referent. More info: 17307 https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 17308 TODO: Add other useful fields. apiVersion, 17309 kind, uid?' 17310 type: string 17311 type: object 17312 targetPortal: 17313 description: targetPortal is iSCSI Target Portal. 17314 The Portal is either an IP or ip_addr:port if 17315 the port is other than default (typically TCP 17316 ports 860 and 3260). 17317 type: string 17318 required: 17319 - iqn 17320 - lun 17321 - targetPortal 17322 type: object 17323 name: 17324 description: 'name of the volume. Must be a DNS_LABEL 17325 and unique within the pod. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' 17326 type: string 17327 nfs: 17328 description: 'nfs represents an NFS mount on the host 17329 that shares a pod''s lifetime More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs' 17330 properties: 17331 path: 17332 description: 'path that is exported by the NFS server. 17333 More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs' 17334 type: string 17335 readOnly: 17336 description: 'readOnly here will force the NFS export 17337 to be mounted with read-only permissions. Defaults 17338 to false. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs' 17339 type: boolean 17340 server: 17341 description: 'server is the hostname or IP address 17342 of the NFS server. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs' 17343 type: string 17344 required: 17345 - path 17346 - server 17347 type: object 17348 persistentVolumeClaim: 17349 description: 'persistentVolumeClaimVolumeSource represents 17350 a reference to a PersistentVolumeClaim in the same 17351 namespace. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims' 17352 properties: 17353 claimName: 17354 description: 'claimName is the name of a PersistentVolumeClaim 17355 in the same namespace as the pod using this volume. 17356 More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims' 17357 type: string 17358 readOnly: 17359 description: readOnly Will force the ReadOnly setting 17360 in VolumeMounts. Default false. 17361 type: boolean 17362 required: 17363 - claimName 17364 type: object 17365 photonPersistentDisk: 17366 description: photonPersistentDisk represents a PhotonController 17367 persistent disk attached and mounted on kubelets host 17368 machine 17369 properties: 17370 fsType: 17371 description: fsType is the filesystem type to mount. 17372 Must be a filesystem type supported by the host 17373 operating system. Ex. "ext4", "xfs", "ntfs". Implicitly 17374 inferred to be "ext4" if unspecified. 17375 type: string 17376 pdID: 17377 description: pdID is the ID that identifies Photon 17378 Controller persistent disk 17379 type: string 17380 required: 17381 - pdID 17382 type: object 17383 portworxVolume: 17384 description: portworxVolume represents a portworx volume 17385 attached and mounted on kubelets host machine 17386 properties: 17387 fsType: 17388 description: fSType represents the filesystem type 17389 to mount Must be a filesystem type supported by 17390 the host operating system. Ex. "ext4", "xfs". 17391 Implicitly inferred to be "ext4" if unspecified. 17392 type: string 17393 readOnly: 17394 description: readOnly defaults to false (read/write). 17395 ReadOnly here will force the ReadOnly setting 17396 in VolumeMounts. 17397 type: boolean 17398 volumeID: 17399 description: volumeID uniquely identifies a Portworx 17400 volume 17401 type: string 17402 required: 17403 - volumeID 17404 type: object 17405 projected: 17406 description: projected items for all in one resources 17407 secrets, configmaps, and downward API 17408 properties: 17409 defaultMode: 17410 description: defaultMode are the mode bits used 17411 to set permissions on created files by default. 17412 Must be an octal value between 0000 and 0777 or 17413 a decimal value between 0 and 511. YAML accepts 17414 both octal and decimal values, JSON requires decimal 17415 values for mode bits. Directories within the path 17416 are not affected by this setting. This might be 17417 in conflict with other options that affect the 17418 file mode, like fsGroup, and the result can be 17419 other mode bits set. 17420 format: int32 17421 type: integer 17422 sources: 17423 description: sources is the list of volume projections 17424 items: 17425 description: Projection that may be projected 17426 along with other supported volume types 17427 properties: 17428 configMap: 17429 description: configMap information about the 17430 configMap data to project 17431 properties: 17432 items: 17433 description: items if unspecified, each 17434 key-value pair in the Data field of 17435 the referenced ConfigMap will be projected 17436 into the volume as a file whose name 17437 is the key and content is the value. 17438 If specified, the listed keys will be 17439 projected into the specified paths, 17440 and unlisted keys will not be present. 17441 If a key is specified which is not present 17442 in the ConfigMap, the volume setup will 17443 error unless it is marked optional. 17444 Paths must be relative and may not contain 17445 the '..' path or start with '..'. 17446 items: 17447 description: Maps a string key to a 17448 path within a volume. 17449 properties: 17450 key: 17451 description: key is the key to project. 17452 type: string 17453 mode: 17454 description: 'mode is Optional: 17455 mode bits used to set permissions 17456 on this file. Must be an octal 17457 value between 0000 and 0777 or 17458 a decimal value between 0 and 17459 511. YAML accepts both octal and 17460 decimal values, JSON requires 17461 decimal values for mode bits. 17462 If not specified, the volume defaultMode 17463 will be used. This might be in 17464 conflict with other options that 17465 affect the file mode, like fsGroup, 17466 and the result can be other mode 17467 bits set.' 17468 format: int32 17469 type: integer 17470 path: 17471 description: path is the relative 17472 path of the file to map the key 17473 to. May not be an absolute path. 17474 May not contain the path element 17475 '..'. May not start with the string 17476 '..'. 17477 type: string 17478 required: 17479 - key 17480 - path 17481 type: object 17482 type: array 17483 name: 17484 description: 'Name of the referent. More 17485 info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 17486 TODO: Add other useful fields. apiVersion, 17487 kind, uid?' 17488 type: string 17489 optional: 17490 description: optional specify whether 17491 the ConfigMap or its keys must be defined 17492 type: boolean 17493 type: object 17494 downwardAPI: 17495 description: downwardAPI information about 17496 the downwardAPI data to project 17497 properties: 17498 items: 17499 description: Items is a list of DownwardAPIVolume 17500 file 17501 items: 17502 description: DownwardAPIVolumeFile represents 17503 information to create the file containing 17504 the pod field 17505 properties: 17506 fieldRef: 17507 description: 'Required: Selects 17508 a field of the pod: only annotations, 17509 labels, name and namespace are 17510 supported.' 17511 properties: 17512 apiVersion: 17513 description: Version of the 17514 schema the FieldPath is written 17515 in terms of, defaults to "v1". 17516 type: string 17517 fieldPath: 17518 description: Path of the field 17519 to select in the specified 17520 API version. 17521 type: string 17522 required: 17523 - fieldPath 17524 type: object 17525 mode: 17526 description: 'Optional: mode bits 17527 used to set permissions on this 17528 file, must be an octal value between 17529 0000 and 0777 or a decimal value 17530 between 0 and 511. YAML accepts 17531 both octal and decimal values, 17532 JSON requires decimal values for 17533 mode bits. If not specified, the 17534 volume defaultMode will be used. 17535 This might be in conflict with 17536 other options that affect the 17537 file mode, like fsGroup, and the 17538 result can be other mode bits 17539 set.' 17540 format: int32 17541 type: integer 17542 path: 17543 description: 'Required: Path is the 17544 relative path name of the file 17545 to be created. Must not be absolute 17546 or contain the ''..'' path. Must 17547 be utf-8 encoded. The first item 17548 of the relative path must not 17549 start with ''..''' 17550 type: string 17551 resourceFieldRef: 17552 description: 'Selects a resource 17553 of the container: only resources 17554 limits and requests (limits.cpu, 17555 limits.memory, requests.cpu and 17556 requests.memory) are currently 17557 supported.' 17558 properties: 17559 containerName: 17560 description: 'Container name: 17561 required for volumes, optional 17562 for env vars' 17563 type: string 17564 divisor: 17565 anyOf: 17566 - type: integer 17567 - type: string 17568 description: Specifies the output 17569 format of the exposed resources, 17570 defaults to "1" 17571 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 17572 x-kubernetes-int-or-string: true 17573 resource: 17574 description: 'Required: resource 17575 to select' 17576 type: string 17577 required: 17578 - resource 17579 type: object 17580 required: 17581 - path 17582 type: object 17583 type: array 17584 type: object 17585 secret: 17586 description: secret information about the 17587 secret data to project 17588 properties: 17589 items: 17590 description: items if unspecified, each 17591 key-value pair in the Data field of 17592 the referenced Secret will be projected 17593 into the volume as a file whose name 17594 is the key and content is the value. 17595 If specified, the listed keys will be 17596 projected into the specified paths, 17597 and unlisted keys will not be present. 17598 If a key is specified which is not present 17599 in the Secret, the volume setup will 17600 error unless it is marked optional. 17601 Paths must be relative and may not contain 17602 the '..' path or start with '..'. 17603 items: 17604 description: Maps a string key to a 17605 path within a volume. 17606 properties: 17607 key: 17608 description: key is the key to project. 17609 type: string 17610 mode: 17611 description: 'mode is Optional: 17612 mode bits used to set permissions 17613 on this file. Must be an octal 17614 value between 0000 and 0777 or 17615 a decimal value between 0 and 17616 511. YAML accepts both octal and 17617 decimal values, JSON requires 17618 decimal values for mode bits. 17619 If not specified, the volume defaultMode 17620 will be used. This might be in 17621 conflict with other options that 17622 affect the file mode, like fsGroup, 17623 and the result can be other mode 17624 bits set.' 17625 format: int32 17626 type: integer 17627 path: 17628 description: path is the relative 17629 path of the file to map the key 17630 to. May not be an absolute path. 17631 May not contain the path element 17632 '..'. May not start with the string 17633 '..'. 17634 type: string 17635 required: 17636 - key 17637 - path 17638 type: object 17639 type: array 17640 name: 17641 description: 'Name of the referent. More 17642 info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 17643 TODO: Add other useful fields. apiVersion, 17644 kind, uid?' 17645 type: string 17646 optional: 17647 description: optional field specify whether 17648 the Secret or its key must be defined 17649 type: boolean 17650 type: object 17651 serviceAccountToken: 17652 description: serviceAccountToken is information 17653 about the serviceAccountToken data to project 17654 properties: 17655 audience: 17656 description: audience is the intended 17657 audience of the token. A recipient of 17658 a token must identify itself with an 17659 identifier specified in the audience 17660 of the token, and otherwise should reject 17661 the token. The audience defaults to 17662 the identifier of the apiserver. 17663 type: string 17664 expirationSeconds: 17665 description: expirationSeconds is the 17666 requested duration of validity of the 17667 service account token. As the token 17668 approaches expiration, the kubelet volume 17669 plugin will proactively rotate the service 17670 account token. The kubelet will start 17671 trying to rotate the token if the token 17672 is older than 80 percent of its time 17673 to live or if the token is older than 17674 24 hours.Defaults to 1 hour and must 17675 be at least 10 minutes. 17676 format: int64 17677 type: integer 17678 path: 17679 description: path is the path relative 17680 to the mount point of the file to project 17681 the token into. 17682 type: string 17683 required: 17684 - path 17685 type: object 17686 type: object 17687 type: array 17688 type: object 17689 quobyte: 17690 description: quobyte represents a Quobyte mount on the 17691 host that shares a pod's lifetime 17692 properties: 17693 group: 17694 description: group to map volume access to Default 17695 is no group 17696 type: string 17697 readOnly: 17698 description: readOnly here will force the Quobyte 17699 volume to be mounted with read-only permissions. 17700 Defaults to false. 17701 type: boolean 17702 registry: 17703 description: registry represents a single or multiple 17704 Quobyte Registry services specified as a string 17705 as host:port pair (multiple entries are separated 17706 with commas) which acts as the central registry 17707 for volumes 17708 type: string 17709 tenant: 17710 description: tenant owning the given Quobyte volume 17711 in the Backend Used with dynamically provisioned 17712 Quobyte volumes, value is set by the plugin 17713 type: string 17714 user: 17715 description: user to map volume access to Defaults 17716 to serivceaccount user 17717 type: string 17718 volume: 17719 description: volume is a string that references 17720 an already created Quobyte volume by name. 17721 type: string 17722 required: 17723 - registry 17724 - volume 17725 type: object 17726 rbd: 17727 description: 'rbd represents a Rados Block Device mount 17728 on the host that shares a pod''s lifetime. More info: 17729 https://examples.k8s.io/volumes/rbd/README.md' 17730 properties: 17731 fsType: 17732 description: 'fsType is the filesystem type of the 17733 volume that you want to mount. Tip: Ensure that 17734 the filesystem type is supported by the host operating 17735 system. Examples: "ext4", "xfs", "ntfs". Implicitly 17736 inferred to be "ext4" if unspecified. More info: 17737 https://kubernetes.io/docs/concepts/storage/volumes#rbd 17738 TODO: how do we prevent errors in the filesystem 17739 from compromising the machine' 17740 type: string 17741 image: 17742 description: 'image is the rados image name. More 17743 info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it' 17744 type: string 17745 keyring: 17746 description: 'keyring is the path to key ring for 17747 RBDUser. Default is /etc/ceph/keyring. More info: 17748 https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it' 17749 type: string 17750 monitors: 17751 description: 'monitors is a collection of Ceph monitors. 17752 More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it' 17753 items: 17754 type: string 17755 type: array 17756 pool: 17757 description: 'pool is the rados pool name. Default 17758 is rbd. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it' 17759 type: string 17760 readOnly: 17761 description: 'readOnly here will force the ReadOnly 17762 setting in VolumeMounts. Defaults to false. More 17763 info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it' 17764 type: boolean 17765 secretRef: 17766 description: 'secretRef is name of the authentication 17767 secret for RBDUser. If provided overrides keyring. 17768 Default is nil. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it' 17769 properties: 17770 name: 17771 description: 'Name of the referent. More info: 17772 https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 17773 TODO: Add other useful fields. apiVersion, 17774 kind, uid?' 17775 type: string 17776 type: object 17777 user: 17778 description: 'user is the rados user name. Default 17779 is admin. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it' 17780 type: string 17781 required: 17782 - image 17783 - monitors 17784 type: object 17785 scaleIO: 17786 description: scaleIO represents a ScaleIO persistent 17787 volume attached and mounted on Kubernetes nodes. 17788 properties: 17789 fsType: 17790 description: fsType is the filesystem type to mount. 17791 Must be a filesystem type supported by the host 17792 operating system. Ex. "ext4", "xfs", "ntfs". Default 17793 is "xfs". 17794 type: string 17795 gateway: 17796 description: gateway is the host address of the 17797 ScaleIO API Gateway. 17798 type: string 17799 protectionDomain: 17800 description: protectionDomain is the name of the 17801 ScaleIO Protection Domain for the configured storage. 17802 type: string 17803 readOnly: 17804 description: readOnly Defaults to false (read/write). 17805 ReadOnly here will force the ReadOnly setting 17806 in VolumeMounts. 17807 type: boolean 17808 secretRef: 17809 description: secretRef references to the secret 17810 for ScaleIO user and other sensitive information. 17811 If this is not provided, Login operation will 17812 fail. 17813 properties: 17814 name: 17815 description: 'Name of the referent. More info: 17816 https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 17817 TODO: Add other useful fields. apiVersion, 17818 kind, uid?' 17819 type: string 17820 type: object 17821 sslEnabled: 17822 description: sslEnabled Flag enable/disable SSL 17823 communication with Gateway, default false 17824 type: boolean 17825 storageMode: 17826 description: storageMode indicates whether the storage 17827 for a volume should be ThickProvisioned or ThinProvisioned. 17828 Default is ThinProvisioned. 17829 type: string 17830 storagePool: 17831 description: storagePool is the ScaleIO Storage 17832 Pool associated with the protection domain. 17833 type: string 17834 system: 17835 description: system is the name of the storage system 17836 as configured in ScaleIO. 17837 type: string 17838 volumeName: 17839 description: volumeName is the name of a volume 17840 already created in the ScaleIO system that is 17841 associated with this volume source. 17842 type: string 17843 required: 17844 - gateway 17845 - secretRef 17846 - system 17847 type: object 17848 secret: 17849 description: 'secret represents a secret that should 17850 populate this volume. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret' 17851 properties: 17852 defaultMode: 17853 description: 'defaultMode is Optional: mode bits 17854 used to set permissions on created files by default. 17855 Must be an octal value between 0000 and 0777 or 17856 a decimal value between 0 and 511. YAML accepts 17857 both octal and decimal values, JSON requires decimal 17858 values for mode bits. Defaults to 0644. Directories 17859 within the path are not affected by this setting. 17860 This might be in conflict with other options that 17861 affect the file mode, like fsGroup, and the result 17862 can be other mode bits set.' 17863 format: int32 17864 type: integer 17865 items: 17866 description: items If unspecified, each key-value 17867 pair in the Data field of the referenced Secret 17868 will be projected into the volume as a file whose 17869 name is the key and content is the value. If specified, 17870 the listed keys will be projected into the specified 17871 paths, and unlisted keys will not be present. 17872 If a key is specified which is not present in 17873 the Secret, the volume setup will error unless 17874 it is marked optional. Paths must be relative 17875 and may not contain the '..' path or start with 17876 '..'. 17877 items: 17878 description: Maps a string key to a path within 17879 a volume. 17880 properties: 17881 key: 17882 description: key is the key to project. 17883 type: string 17884 mode: 17885 description: 'mode is Optional: mode bits 17886 used to set permissions on this file. Must 17887 be an octal value between 0000 and 0777 17888 or a decimal value between 0 and 511. YAML 17889 accepts both octal and decimal values, JSON 17890 requires decimal values for mode bits. If 17891 not specified, the volume defaultMode will 17892 be used. This might be in conflict with 17893 other options that affect the file mode, 17894 like fsGroup, and the result can be other 17895 mode bits set.' 17896 format: int32 17897 type: integer 17898 path: 17899 description: path is the relative path of 17900 the file to map the key to. May not be an 17901 absolute path. May not contain the path 17902 element '..'. May not start with the string 17903 '..'. 17904 type: string 17905 required: 17906 - key 17907 - path 17908 type: object 17909 type: array 17910 optional: 17911 description: optional field specify whether the 17912 Secret or its keys must be defined 17913 type: boolean 17914 secretName: 17915 description: 'secretName is the name of the secret 17916 in the pod''s namespace to use. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret' 17917 type: string 17918 type: object 17919 storageos: 17920 description: storageOS represents a StorageOS volume 17921 attached and mounted on Kubernetes nodes. 17922 properties: 17923 fsType: 17924 description: fsType is the filesystem type to mount. 17925 Must be a filesystem type supported by the host 17926 operating system. Ex. "ext4", "xfs", "ntfs". Implicitly 17927 inferred to be "ext4" if unspecified. 17928 type: string 17929 readOnly: 17930 description: readOnly defaults to false (read/write). 17931 ReadOnly here will force the ReadOnly setting 17932 in VolumeMounts. 17933 type: boolean 17934 secretRef: 17935 description: secretRef specifies the secret to use 17936 for obtaining the StorageOS API credentials. If 17937 not specified, default values will be attempted. 17938 properties: 17939 name: 17940 description: 'Name of the referent. More info: 17941 https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 17942 TODO: Add other useful fields. apiVersion, 17943 kind, uid?' 17944 type: string 17945 type: object 17946 volumeName: 17947 description: volumeName is the human-readable name 17948 of the StorageOS volume. Volume names are only 17949 unique within a namespace. 17950 type: string 17951 volumeNamespace: 17952 description: volumeNamespace specifies the scope 17953 of the volume within StorageOS. If no namespace 17954 is specified then the Pod's namespace will be 17955 used. This allows the Kubernetes name scoping 17956 to be mirrored within StorageOS for tighter integration. 17957 Set VolumeName to any name to override the default 17958 behaviour. Set to "default" if you are not using 17959 namespaces within StorageOS. Namespaces that do 17960 not pre-exist within StorageOS will be created. 17961 type: string 17962 type: object 17963 vsphereVolume: 17964 description: vsphereVolume represents a vSphere volume 17965 attached and mounted on kubelets host machine 17966 properties: 17967 fsType: 17968 description: fsType is filesystem type to mount. 17969 Must be a filesystem type supported by the host 17970 operating system. Ex. "ext4", "xfs", "ntfs". Implicitly 17971 inferred to be "ext4" if unspecified. 17972 type: string 17973 storagePolicyID: 17974 description: storagePolicyID is the storage Policy 17975 Based Management (SPBM) profile ID associated 17976 with the StoragePolicyName. 17977 type: string 17978 storagePolicyName: 17979 description: storagePolicyName is the storage Policy 17980 Based Management (SPBM) profile name. 17981 type: string 17982 volumePath: 17983 description: volumePath is the path that identifies 17984 vSphere volume vmdk 17985 type: string 17986 required: 17987 - volumePath 17988 type: object 17989 required: 17990 - name 17991 type: object 17992 type: array 17993 x-kubernetes-list-type: atomic 17994 type: object 17995 resources: 17996 description: Resources is a list of bindings specifying which 17997 actual instances of PipelineResources to use for the resources 17998 the Pipeline has declared it needs. 17999 items: 18000 description: PipelineResourceBinding connects a reference to 18001 an instance of a PipelineResource with a PipelineResource 18002 dependency that the Pipeline has declared 18003 properties: 18004 name: 18005 description: Name is the name of the PipelineResource in 18006 the Pipeline's declaration 18007 type: string 18008 resourceRef: 18009 description: ResourceRef is a reference to the instance 18010 of the actual PipelineResource that should be used 18011 properties: 18012 apiVersion: 18013 description: API version of the referent 18014 type: string 18015 name: 18016 description: 'Name of the referent; More info: http://kubernetes.io/docs/user-guide/identifiers#names' 18017 type: string 18018 type: object 18019 resourceSpec: 18020 description: ResourceSpec is specification of a resource 18021 that should be created and consumed by the task 18022 properties: 18023 description: 18024 description: Description is a user-facing description 18025 of the resource that may be used to populate a UI. 18026 type: string 18027 params: 18028 items: 18029 description: ResourceParam declares a string value 18030 to use for the parameter called Name, and is used 18031 in the specific context of PipelineResources. 18032 properties: 18033 name: 18034 type: string 18035 value: 18036 type: string 18037 required: 18038 - name 18039 - value 18040 type: object 18041 type: array 18042 x-kubernetes-list-type: atomic 18043 secrets: 18044 description: Secrets to fetch to populate some of resource 18045 fields 18046 items: 18047 description: SecretParam indicates which secret can 18048 be used to populate a field of the resource 18049 properties: 18050 fieldName: 18051 type: string 18052 secretKey: 18053 type: string 18054 secretName: 18055 type: string 18056 required: 18057 - fieldName 18058 - secretKey 18059 - secretName 18060 type: object 18061 type: array 18062 x-kubernetes-list-type: atomic 18063 type: 18064 type: string 18065 required: 18066 - params 18067 - type 18068 type: object 18069 type: object 18070 type: array 18071 x-kubernetes-list-type: atomic 18072 serviceAccountName: 18073 type: string 18074 status: 18075 description: Used for cancelling a pipelinerun (and maybe more 18076 later on) 18077 type: string 18078 taskRunSpecs: 18079 description: TaskRunSpecs holds a set of runtime specs 18080 items: 18081 description: PipelineTaskRunSpec can be used to configure specific 18082 specs for a concrete Task 18083 properties: 18084 computeResources: 18085 description: Compute resources to use for this TaskRun 18086 properties: 18087 limits: 18088 additionalProperties: 18089 anyOf: 18090 - type: integer 18091 - type: string 18092 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 18093 x-kubernetes-int-or-string: true 18094 description: 'Limits describes the maximum amount of 18095 compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' 18096 type: object 18097 requests: 18098 additionalProperties: 18099 anyOf: 18100 - type: integer 18101 - type: string 18102 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 18103 x-kubernetes-int-or-string: true 18104 description: 'Requests describes the minimum amount 18105 of compute resources required. If Requests is omitted 18106 for a container, it defaults to Limits if that is 18107 explicitly specified, otherwise to an implementation-defined 18108 value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' 18109 type: object 18110 type: object 18111 metadata: 18112 description: PipelineTaskMetadata contains the labels or 18113 annotations for an EmbeddedTask 18114 properties: 18115 annotations: 18116 additionalProperties: 18117 type: string 18118 type: object 18119 labels: 18120 additionalProperties: 18121 type: string 18122 type: object 18123 type: object 18124 pipelineTaskName: 18125 type: string 18126 sidecarOverrides: 18127 items: 18128 description: TaskRunSidecarOverride is used to override 18129 the values of a Sidecar in the corresponding Task. 18130 properties: 18131 name: 18132 description: The name of the Sidecar to override. 18133 type: string 18134 resources: 18135 description: The resource requirements to apply to 18136 the Sidecar. 18137 properties: 18138 limits: 18139 additionalProperties: 18140 anyOf: 18141 - type: integer 18142 - type: string 18143 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 18144 x-kubernetes-int-or-string: true 18145 description: 'Limits describes the maximum amount 18146 of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' 18147 type: object 18148 requests: 18149 additionalProperties: 18150 anyOf: 18151 - type: integer 18152 - type: string 18153 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 18154 x-kubernetes-int-or-string: true 18155 description: 'Requests describes the minimum amount 18156 of compute resources required. If Requests is 18157 omitted for a container, it defaults to Limits 18158 if that is explicitly specified, otherwise to 18159 an implementation-defined value. More info: 18160 https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' 18161 type: object 18162 type: object 18163 required: 18164 - name 18165 - resources 18166 type: object 18167 type: array 18168 x-kubernetes-list-type: atomic 18169 stepOverrides: 18170 items: 18171 description: TaskRunStepOverride is used to override the 18172 values of a Step in the corresponding Task. 18173 properties: 18174 name: 18175 description: The name of the Step to override. 18176 type: string 18177 resources: 18178 description: The resource requirements to apply to 18179 the Step. 18180 properties: 18181 limits: 18182 additionalProperties: 18183 anyOf: 18184 - type: integer 18185 - type: string 18186 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 18187 x-kubernetes-int-or-string: true 18188 description: 'Limits describes the maximum amount 18189 of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' 18190 type: object 18191 requests: 18192 additionalProperties: 18193 anyOf: 18194 - type: integer 18195 - type: string 18196 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 18197 x-kubernetes-int-or-string: true 18198 description: 'Requests describes the minimum amount 18199 of compute resources required. If Requests is 18200 omitted for a container, it defaults to Limits 18201 if that is explicitly specified, otherwise to 18202 an implementation-defined value. More info: 18203 https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' 18204 type: object 18205 type: object 18206 required: 18207 - name 18208 - resources 18209 type: object 18210 type: array 18211 x-kubernetes-list-type: atomic 18212 taskPodTemplate: 18213 description: Template holds pod specific configuration 18214 properties: 18215 affinity: 18216 description: If specified, the pod's scheduling constraints 18217 properties: 18218 nodeAffinity: 18219 description: Describes node affinity scheduling 18220 rules for the pod. 18221 properties: 18222 preferredDuringSchedulingIgnoredDuringExecution: 18223 description: The scheduler will prefer to schedule 18224 pods to nodes that satisfy the affinity expressions 18225 specified by this field, but it may choose 18226 a node that violates one or more of the expressions. 18227 The node that is most preferred is the one 18228 with the greatest sum of weights, i.e. for 18229 each node that meets all of the scheduling 18230 requirements (resource request, requiredDuringScheduling 18231 affinity expressions, etc.), compute a sum 18232 by iterating through the elements of this 18233 field and adding "weight" to the sum if the 18234 node matches the corresponding matchExpressions; 18235 the node(s) with the highest sum are the most 18236 preferred. 18237 items: 18238 description: An empty preferred scheduling 18239 term matches all objects with implicit weight 18240 0 (i.e. it's a no-op). A null preferred 18241 scheduling term matches no objects (i.e. 18242 is also a no-op). 18243 properties: 18244 preference: 18245 description: A node selector term, associated 18246 with the corresponding weight. 18247 properties: 18248 matchExpressions: 18249 description: A list of node selector 18250 requirements by node's labels. 18251 items: 18252 description: A node selector requirement 18253 is a selector that contains values, 18254 a key, and an operator that relates 18255 the key and values. 18256 properties: 18257 key: 18258 description: The label key that 18259 the selector applies to. 18260 type: string 18261 operator: 18262 description: Represents a key's 18263 relationship to a set of values. 18264 Valid operators are In, NotIn, 18265 Exists, DoesNotExist. Gt, 18266 and Lt. 18267 type: string 18268 values: 18269 description: An array of string 18270 values. If the operator is 18271 In or NotIn, the values array 18272 must be non-empty. If the 18273 operator is Exists or DoesNotExist, 18274 the values array must be empty. 18275 If the operator is Gt or Lt, 18276 the values array must have 18277 a single element, which will 18278 be interpreted as an integer. 18279 This array is replaced during 18280 a strategic merge patch. 18281 items: 18282 type: string 18283 type: array 18284 required: 18285 - key 18286 - operator 18287 type: object 18288 type: array 18289 matchFields: 18290 description: A list of node selector 18291 requirements by node's fields. 18292 items: 18293 description: A node selector requirement 18294 is a selector that contains values, 18295 a key, and an operator that relates 18296 the key and values. 18297 properties: 18298 key: 18299 description: The label key that 18300 the selector applies to. 18301 type: string 18302 operator: 18303 description: Represents a key's 18304 relationship to a set of values. 18305 Valid operators are In, NotIn, 18306 Exists, DoesNotExist. Gt, 18307 and Lt. 18308 type: string 18309 values: 18310 description: An array of string 18311 values. If the operator is 18312 In or NotIn, the values array 18313 must be non-empty. If the 18314 operator is Exists or DoesNotExist, 18315 the values array must be empty. 18316 If the operator is Gt or Lt, 18317 the values array must have 18318 a single element, which will 18319 be interpreted as an integer. 18320 This array is replaced during 18321 a strategic merge patch. 18322 items: 18323 type: string 18324 type: array 18325 required: 18326 - key 18327 - operator 18328 type: object 18329 type: array 18330 type: object 18331 weight: 18332 description: Weight associated with matching 18333 the corresponding nodeSelectorTerm, 18334 in the range 1-100. 18335 format: int32 18336 type: integer 18337 required: 18338 - preference 18339 - weight 18340 type: object 18341 type: array 18342 requiredDuringSchedulingIgnoredDuringExecution: 18343 description: If the affinity requirements specified 18344 by this field are not met at scheduling time, 18345 the pod will not be scheduled onto the node. 18346 If the affinity requirements specified by 18347 this field cease to be met at some point during 18348 pod execution (e.g. due to an update), the 18349 system may or may not try to eventually evict 18350 the pod from its node. 18351 properties: 18352 nodeSelectorTerms: 18353 description: Required. A list of node selector 18354 terms. The terms are ORed. 18355 items: 18356 description: A null or empty node selector 18357 term matches no objects. The requirements 18358 of them are ANDed. The TopologySelectorTerm 18359 type implements a subset of the NodeSelectorTerm. 18360 properties: 18361 matchExpressions: 18362 description: A list of node selector 18363 requirements by node's labels. 18364 items: 18365 description: A node selector requirement 18366 is a selector that contains values, 18367 a key, and an operator that relates 18368 the key and values. 18369 properties: 18370 key: 18371 description: The label key that 18372 the selector applies to. 18373 type: string 18374 operator: 18375 description: Represents a key's 18376 relationship to a set of values. 18377 Valid operators are In, NotIn, 18378 Exists, DoesNotExist. Gt, 18379 and Lt. 18380 type: string 18381 values: 18382 description: An array of string 18383 values. If the operator is 18384 In or NotIn, the values array 18385 must be non-empty. If the 18386 operator is Exists or DoesNotExist, 18387 the values array must be empty. 18388 If the operator is Gt or Lt, 18389 the values array must have 18390 a single element, which will 18391 be interpreted as an integer. 18392 This array is replaced during 18393 a strategic merge patch. 18394 items: 18395 type: string 18396 type: array 18397 required: 18398 - key 18399 - operator 18400 type: object 18401 type: array 18402 matchFields: 18403 description: A list of node selector 18404 requirements by node's fields. 18405 items: 18406 description: A node selector requirement 18407 is a selector that contains values, 18408 a key, and an operator that relates 18409 the key and values. 18410 properties: 18411 key: 18412 description: The label key that 18413 the selector applies to. 18414 type: string 18415 operator: 18416 description: Represents a key's 18417 relationship to a set of values. 18418 Valid operators are In, NotIn, 18419 Exists, DoesNotExist. Gt, 18420 and Lt. 18421 type: string 18422 values: 18423 description: An array of string 18424 values. If the operator is 18425 In or NotIn, the values array 18426 must be non-empty. If the 18427 operator is Exists or DoesNotExist, 18428 the values array must be empty. 18429 If the operator is Gt or Lt, 18430 the values array must have 18431 a single element, which will 18432 be interpreted as an integer. 18433 This array is replaced during 18434 a strategic merge patch. 18435 items: 18436 type: string 18437 type: array 18438 required: 18439 - key 18440 - operator 18441 type: object 18442 type: array 18443 type: object 18444 type: array 18445 required: 18446 - nodeSelectorTerms 18447 type: object 18448 type: object 18449 podAffinity: 18450 description: Describes pod affinity scheduling rules 18451 (e.g. co-locate this pod in the same node, zone, 18452 etc. as some other pod(s)). 18453 properties: 18454 preferredDuringSchedulingIgnoredDuringExecution: 18455 description: The scheduler will prefer to schedule 18456 pods to nodes that satisfy the affinity expressions 18457 specified by this field, but it may choose 18458 a node that violates one or more of the expressions. 18459 The node that is most preferred is the one 18460 with the greatest sum of weights, i.e. for 18461 each node that meets all of the scheduling 18462 requirements (resource request, requiredDuringScheduling 18463 affinity expressions, etc.), compute a sum 18464 by iterating through the elements of this 18465 field and adding "weight" to the sum if the 18466 node has pods which matches the corresponding 18467 podAffinityTerm; the node(s) with the highest 18468 sum are the most preferred. 18469 items: 18470 description: The weights of all of the matched 18471 WeightedPodAffinityTerm fields are added 18472 per-node to find the most preferred node(s) 18473 properties: 18474 podAffinityTerm: 18475 description: Required. A pod affinity 18476 term, associated with the corresponding 18477 weight. 18478 properties: 18479 labelSelector: 18480 description: A label query over a 18481 set of resources, in this case pods. 18482 properties: 18483 matchExpressions: 18484 description: matchExpressions 18485 is a list of label selector 18486 requirements. The requirements 18487 are ANDed. 18488 items: 18489 description: A label selector 18490 requirement is a selector 18491 that contains values, a key, 18492 and an operator that relates 18493 the key and values. 18494 properties: 18495 key: 18496 description: key is the 18497 label key that the selector 18498 applies to. 18499 type: string 18500 operator: 18501 description: operator represents 18502 a key's relationship to 18503 a set of values. Valid 18504 operators are In, NotIn, 18505 Exists and DoesNotExist. 18506 type: string 18507 values: 18508 description: values is an 18509 array of string values. 18510 If the operator is In 18511 or NotIn, the values array 18512 must be non-empty. If 18513 the operator is Exists 18514 or DoesNotExist, the values 18515 array must be empty. This 18516 array is replaced during 18517 a strategic merge patch. 18518 items: 18519 type: string 18520 type: array 18521 required: 18522 - key 18523 - operator 18524 type: object 18525 type: array 18526 matchLabels: 18527 additionalProperties: 18528 type: string 18529 description: matchLabels is a 18530 map of {key,value} pairs. A 18531 single {key,value} in the matchLabels 18532 map is equivalent to an element 18533 of matchExpressions, whose key 18534 field is "key", the operator 18535 is "In", and the values array 18536 contains only "value". The requirements 18537 are ANDed. 18538 type: object 18539 type: object 18540 namespaceSelector: 18541 description: A label query over the 18542 set of namespaces that the term 18543 applies to. The term is applied 18544 to the union of the namespaces selected 18545 by this field and the ones listed 18546 in the namespaces field. null selector 18547 and null or empty namespaces list 18548 means "this pod's namespace". An 18549 empty selector ({}) matches all 18550 namespaces. 18551 properties: 18552 matchExpressions: 18553 description: matchExpressions 18554 is a list of label selector 18555 requirements. The requirements 18556 are ANDed. 18557 items: 18558 description: A label selector 18559 requirement is a selector 18560 that contains values, a key, 18561 and an operator that relates 18562 the key and values. 18563 properties: 18564 key: 18565 description: key is the 18566 label key that the selector 18567 applies to. 18568 type: string 18569 operator: 18570 description: operator represents 18571 a key's relationship to 18572 a set of values. Valid 18573 operators are In, NotIn, 18574 Exists and DoesNotExist. 18575 type: string 18576 values: 18577 description: values is an 18578 array of string values. 18579 If the operator is In 18580 or NotIn, the values array 18581 must be non-empty. If 18582 the operator is Exists 18583 or DoesNotExist, the values 18584 array must be empty. This 18585 array is replaced during 18586 a strategic merge patch. 18587 items: 18588 type: string 18589 type: array 18590 required: 18591 - key 18592 - operator 18593 type: object 18594 type: array 18595 matchLabels: 18596 additionalProperties: 18597 type: string 18598 description: matchLabels is a 18599 map of {key,value} pairs. A 18600 single {key,value} in the matchLabels 18601 map is equivalent to an element 18602 of matchExpressions, whose key 18603 field is "key", the operator 18604 is "In", and the values array 18605 contains only "value". The requirements 18606 are ANDed. 18607 type: object 18608 type: object 18609 namespaces: 18610 description: namespaces specifies 18611 a static list of namespace names 18612 that the term applies to. The term 18613 is applied to the union of the namespaces 18614 listed in this field and the ones 18615 selected by namespaceSelector. null 18616 or empty namespaces list and null 18617 namespaceSelector means "this pod's 18618 namespace". 18619 items: 18620 type: string 18621 type: array 18622 topologyKey: 18623 description: This pod should be co-located 18624 (affinity) or not co-located (anti-affinity) 18625 with the pods matching the labelSelector 18626 in the specified namespaces, where 18627 co-located is defined as running 18628 on a node whose value of the label 18629 with key topologyKey matches that 18630 of any node on which any of the 18631 selected pods is running. Empty 18632 topologyKey is not allowed. 18633 type: string 18634 required: 18635 - topologyKey 18636 type: object 18637 weight: 18638 description: weight associated with matching 18639 the corresponding podAffinityTerm, in 18640 the range 1-100. 18641 format: int32 18642 type: integer 18643 required: 18644 - podAffinityTerm 18645 - weight 18646 type: object 18647 type: array 18648 requiredDuringSchedulingIgnoredDuringExecution: 18649 description: If the affinity requirements specified 18650 by this field are not met at scheduling time, 18651 the pod will not be scheduled onto the node. 18652 If the affinity requirements specified by 18653 this field cease to be met at some point during 18654 pod execution (e.g. due to a pod label update), 18655 the system may or may not try to eventually 18656 evict the pod from its node. When there are 18657 multiple elements, the lists of nodes corresponding 18658 to each podAffinityTerm are intersected, i.e. 18659 all terms must be satisfied. 18660 items: 18661 description: Defines a set of pods (namely 18662 those matching the labelSelector relative 18663 to the given namespace(s)) that this pod 18664 should be co-located (affinity) or not co-located 18665 (anti-affinity) with, where co-located is 18666 defined as running on a node whose value 18667 of the label with key <topologyKey> matches 18668 that of any node on which a pod of the set 18669 of pods is running 18670 properties: 18671 labelSelector: 18672 description: A label query over a set 18673 of resources, in this case pods. 18674 properties: 18675 matchExpressions: 18676 description: matchExpressions is a 18677 list of label selector requirements. 18678 The requirements are ANDed. 18679 items: 18680 description: A label selector requirement 18681 is a selector that contains values, 18682 a key, and an operator that relates 18683 the key and values. 18684 properties: 18685 key: 18686 description: key is the label 18687 key that the selector applies 18688 to. 18689 type: string 18690 operator: 18691 description: operator represents 18692 a key's relationship to a 18693 set of values. Valid operators 18694 are In, NotIn, Exists and 18695 DoesNotExist. 18696 type: string 18697 values: 18698 description: values is an array 18699 of string values. If the operator 18700 is In or NotIn, the values 18701 array must be non-empty. If 18702 the operator is Exists or 18703 DoesNotExist, the values array 18704 must be empty. This array 18705 is replaced during a strategic 18706 merge patch. 18707 items: 18708 type: string 18709 type: array 18710 required: 18711 - key 18712 - operator 18713 type: object 18714 type: array 18715 matchLabels: 18716 additionalProperties: 18717 type: string 18718 description: matchLabels is a map 18719 of {key,value} pairs. A single {key,value} 18720 in the matchLabels map is equivalent 18721 to an element of matchExpressions, 18722 whose key field is "key", the operator 18723 is "In", and the values array contains 18724 only "value". The requirements are 18725 ANDed. 18726 type: object 18727 type: object 18728 namespaceSelector: 18729 description: A label query over the set 18730 of namespaces that the term applies 18731 to. The term is applied to the union 18732 of the namespaces selected by this field 18733 and the ones listed in the namespaces 18734 field. null selector and null or empty 18735 namespaces list means "this pod's namespace". 18736 An empty selector ({}) matches all namespaces. 18737 properties: 18738 matchExpressions: 18739 description: matchExpressions is a 18740 list of label selector requirements. 18741 The requirements are ANDed. 18742 items: 18743 description: A label selector requirement 18744 is a selector that contains values, 18745 a key, and an operator that relates 18746 the key and values. 18747 properties: 18748 key: 18749 description: key is the label 18750 key that the selector applies 18751 to. 18752 type: string 18753 operator: 18754 description: operator represents 18755 a key's relationship to a 18756 set of values. Valid operators 18757 are In, NotIn, Exists and 18758 DoesNotExist. 18759 type: string 18760 values: 18761 description: values is an array 18762 of string values. If the operator 18763 is In or NotIn, the values 18764 array must be non-empty. If 18765 the operator is Exists or 18766 DoesNotExist, the values array 18767 must be empty. This array 18768 is replaced during a strategic 18769 merge patch. 18770 items: 18771 type: string 18772 type: array 18773 required: 18774 - key 18775 - operator 18776 type: object 18777 type: array 18778 matchLabels: 18779 additionalProperties: 18780 type: string 18781 description: matchLabels is a map 18782 of {key,value} pairs. A single {key,value} 18783 in the matchLabels map is equivalent 18784 to an element of matchExpressions, 18785 whose key field is "key", the operator 18786 is "In", and the values array contains 18787 only "value". The requirements are 18788 ANDed. 18789 type: object 18790 type: object 18791 namespaces: 18792 description: namespaces specifies a static 18793 list of namespace names that the term 18794 applies to. The term is applied to the 18795 union of the namespaces listed in this 18796 field and the ones selected by namespaceSelector. 18797 null or empty namespaces list and null 18798 namespaceSelector means "this pod's 18799 namespace". 18800 items: 18801 type: string 18802 type: array 18803 topologyKey: 18804 description: This pod should be co-located 18805 (affinity) or not co-located (anti-affinity) 18806 with the pods matching the labelSelector 18807 in the specified namespaces, where co-located 18808 is defined as running on a node whose 18809 value of the label with key topologyKey 18810 matches that of any node on which any 18811 of the selected pods is running. Empty 18812 topologyKey is not allowed. 18813 type: string 18814 required: 18815 - topologyKey 18816 type: object 18817 type: array 18818 type: object 18819 podAntiAffinity: 18820 description: Describes pod anti-affinity scheduling 18821 rules (e.g. avoid putting this pod in the same 18822 node, zone, etc. as some other pod(s)). 18823 properties: 18824 preferredDuringSchedulingIgnoredDuringExecution: 18825 description: The scheduler will prefer to schedule 18826 pods to nodes that satisfy the anti-affinity 18827 expressions specified by this field, but it 18828 may choose a node that violates one or more 18829 of the expressions. The node that is most 18830 preferred is the one with the greatest sum 18831 of weights, i.e. for each node that meets 18832 all of the scheduling requirements (resource 18833 request, requiredDuringScheduling anti-affinity 18834 expressions, etc.), compute a sum by iterating 18835 through the elements of this field and adding 18836 "weight" to the sum if the node has pods which 18837 matches the corresponding podAffinityTerm; 18838 the node(s) with the highest sum are the most 18839 preferred. 18840 items: 18841 description: The weights of all of the matched 18842 WeightedPodAffinityTerm fields are added 18843 per-node to find the most preferred node(s) 18844 properties: 18845 podAffinityTerm: 18846 description: Required. A pod affinity 18847 term, associated with the corresponding 18848 weight. 18849 properties: 18850 labelSelector: 18851 description: A label query over a 18852 set of resources, in this case pods. 18853 properties: 18854 matchExpressions: 18855 description: matchExpressions 18856 is a list of label selector 18857 requirements. The requirements 18858 are ANDed. 18859 items: 18860 description: A label selector 18861 requirement is a selector 18862 that contains values, a key, 18863 and an operator that relates 18864 the key and values. 18865 properties: 18866 key: 18867 description: key is the 18868 label key that the selector 18869 applies to. 18870 type: string 18871 operator: 18872 description: operator represents 18873 a key's relationship to 18874 a set of values. Valid 18875 operators are In, NotIn, 18876 Exists and DoesNotExist. 18877 type: string 18878 values: 18879 description: values is an 18880 array of string values. 18881 If the operator is In 18882 or NotIn, the values array 18883 must be non-empty. If 18884 the operator is Exists 18885 or DoesNotExist, the values 18886 array must be empty. This 18887 array is replaced during 18888 a strategic merge patch. 18889 items: 18890 type: string 18891 type: array 18892 required: 18893 - key 18894 - operator 18895 type: object 18896 type: array 18897 matchLabels: 18898 additionalProperties: 18899 type: string 18900 description: matchLabels is a 18901 map of {key,value} pairs. A 18902 single {key,value} in the matchLabels 18903 map is equivalent to an element 18904 of matchExpressions, whose key 18905 field is "key", the operator 18906 is "In", and the values array 18907 contains only "value". The requirements 18908 are ANDed. 18909 type: object 18910 type: object 18911 namespaceSelector: 18912 description: A label query over the 18913 set of namespaces that the term 18914 applies to. The term is applied 18915 to the union of the namespaces selected 18916 by this field and the ones listed 18917 in the namespaces field. null selector 18918 and null or empty namespaces list 18919 means "this pod's namespace". An 18920 empty selector ({}) matches all 18921 namespaces. 18922 properties: 18923 matchExpressions: 18924 description: matchExpressions 18925 is a list of label selector 18926 requirements. The requirements 18927 are ANDed. 18928 items: 18929 description: A label selector 18930 requirement is a selector 18931 that contains values, a key, 18932 and an operator that relates 18933 the key and values. 18934 properties: 18935 key: 18936 description: key is the 18937 label key that the selector 18938 applies to. 18939 type: string 18940 operator: 18941 description: operator represents 18942 a key's relationship to 18943 a set of values. Valid 18944 operators are In, NotIn, 18945 Exists and DoesNotExist. 18946 type: string 18947 values: 18948 description: values is an 18949 array of string values. 18950 If the operator is In 18951 or NotIn, the values array 18952 must be non-empty. If 18953 the operator is Exists 18954 or DoesNotExist, the values 18955 array must be empty. This 18956 array is replaced during 18957 a strategic merge patch. 18958 items: 18959 type: string 18960 type: array 18961 required: 18962 - key 18963 - operator 18964 type: object 18965 type: array 18966 matchLabels: 18967 additionalProperties: 18968 type: string 18969 description: matchLabels is a 18970 map of {key,value} pairs. A 18971 single {key,value} in the matchLabels 18972 map is equivalent to an element 18973 of matchExpressions, whose key 18974 field is "key", the operator 18975 is "In", and the values array 18976 contains only "value". The requirements 18977 are ANDed. 18978 type: object 18979 type: object 18980 namespaces: 18981 description: namespaces specifies 18982 a static list of namespace names 18983 that the term applies to. The term 18984 is applied to the union of the namespaces 18985 listed in this field and the ones 18986 selected by namespaceSelector. null 18987 or empty namespaces list and null 18988 namespaceSelector means "this pod's 18989 namespace". 18990 items: 18991 type: string 18992 type: array 18993 topologyKey: 18994 description: This pod should be co-located 18995 (affinity) or not co-located (anti-affinity) 18996 with the pods matching the labelSelector 18997 in the specified namespaces, where 18998 co-located is defined as running 18999 on a node whose value of the label 19000 with key topologyKey matches that 19001 of any node on which any of the 19002 selected pods is running. Empty 19003 topologyKey is not allowed. 19004 type: string 19005 required: 19006 - topologyKey 19007 type: object 19008 weight: 19009 description: weight associated with matching 19010 the corresponding podAffinityTerm, in 19011 the range 1-100. 19012 format: int32 19013 type: integer 19014 required: 19015 - podAffinityTerm 19016 - weight 19017 type: object 19018 type: array 19019 requiredDuringSchedulingIgnoredDuringExecution: 19020 description: If the anti-affinity requirements 19021 specified by this field are not met at scheduling 19022 time, the pod will not be scheduled onto the 19023 node. If the anti-affinity requirements specified 19024 by this field cease to be met at some point 19025 during pod execution (e.g. due to a pod label 19026 update), the system may or may not try to 19027 eventually evict the pod from its node. When 19028 there are multiple elements, the lists of 19029 nodes corresponding to each podAffinityTerm 19030 are intersected, i.e. all terms must be satisfied. 19031 items: 19032 description: Defines a set of pods (namely 19033 those matching the labelSelector relative 19034 to the given namespace(s)) that this pod 19035 should be co-located (affinity) or not co-located 19036 (anti-affinity) with, where co-located is 19037 defined as running on a node whose value 19038 of the label with key <topologyKey> matches 19039 that of any node on which a pod of the set 19040 of pods is running 19041 properties: 19042 labelSelector: 19043 description: A label query over a set 19044 of resources, in this case pods. 19045 properties: 19046 matchExpressions: 19047 description: matchExpressions is a 19048 list of label selector requirements. 19049 The requirements are ANDed. 19050 items: 19051 description: A label selector requirement 19052 is a selector that contains values, 19053 a key, and an operator that relates 19054 the key and values. 19055 properties: 19056 key: 19057 description: key is the label 19058 key that the selector applies 19059 to. 19060 type: string 19061 operator: 19062 description: operator represents 19063 a key's relationship to a 19064 set of values. Valid operators 19065 are In, NotIn, Exists and 19066 DoesNotExist. 19067 type: string 19068 values: 19069 description: values is an array 19070 of string values. If the operator 19071 is In or NotIn, the values 19072 array must be non-empty. If 19073 the operator is Exists or 19074 DoesNotExist, the values array 19075 must be empty. This array 19076 is replaced during a strategic 19077 merge patch. 19078 items: 19079 type: string 19080 type: array 19081 required: 19082 - key 19083 - operator 19084 type: object 19085 type: array 19086 matchLabels: 19087 additionalProperties: 19088 type: string 19089 description: matchLabels is a map 19090 of {key,value} pairs. A single {key,value} 19091 in the matchLabels map is equivalent 19092 to an element of matchExpressions, 19093 whose key field is "key", the operator 19094 is "In", and the values array contains 19095 only "value". The requirements are 19096 ANDed. 19097 type: object 19098 type: object 19099 namespaceSelector: 19100 description: A label query over the set 19101 of namespaces that the term applies 19102 to. The term is applied to the union 19103 of the namespaces selected by this field 19104 and the ones listed in the namespaces 19105 field. null selector and null or empty 19106 namespaces list means "this pod's namespace". 19107 An empty selector ({}) matches all namespaces. 19108 properties: 19109 matchExpressions: 19110 description: matchExpressions is a 19111 list of label selector requirements. 19112 The requirements are ANDed. 19113 items: 19114 description: A label selector requirement 19115 is a selector that contains values, 19116 a key, and an operator that relates 19117 the key and values. 19118 properties: 19119 key: 19120 description: key is the label 19121 key that the selector applies 19122 to. 19123 type: string 19124 operator: 19125 description: operator represents 19126 a key's relationship to a 19127 set of values. Valid operators 19128 are In, NotIn, Exists and 19129 DoesNotExist. 19130 type: string 19131 values: 19132 description: values is an array 19133 of string values. If the operator 19134 is In or NotIn, the values 19135 array must be non-empty. If 19136 the operator is Exists or 19137 DoesNotExist, the values array 19138 must be empty. This array 19139 is replaced during a strategic 19140 merge patch. 19141 items: 19142 type: string 19143 type: array 19144 required: 19145 - key 19146 - operator 19147 type: object 19148 type: array 19149 matchLabels: 19150 additionalProperties: 19151 type: string 19152 description: matchLabels is a map 19153 of {key,value} pairs. A single {key,value} 19154 in the matchLabels map is equivalent 19155 to an element of matchExpressions, 19156 whose key field is "key", the operator 19157 is "In", and the values array contains 19158 only "value". The requirements are 19159 ANDed. 19160 type: object 19161 type: object 19162 namespaces: 19163 description: namespaces specifies a static 19164 list of namespace names that the term 19165 applies to. The term is applied to the 19166 union of the namespaces listed in this 19167 field and the ones selected by namespaceSelector. 19168 null or empty namespaces list and null 19169 namespaceSelector means "this pod's 19170 namespace". 19171 items: 19172 type: string 19173 type: array 19174 topologyKey: 19175 description: This pod should be co-located 19176 (affinity) or not co-located (anti-affinity) 19177 with the pods matching the labelSelector 19178 in the specified namespaces, where co-located 19179 is defined as running on a node whose 19180 value of the label with key topologyKey 19181 matches that of any node on which any 19182 of the selected pods is running. Empty 19183 topologyKey is not allowed. 19184 type: string 19185 required: 19186 - topologyKey 19187 type: object 19188 type: array 19189 type: object 19190 type: object 19191 automountServiceAccountToken: 19192 description: AutomountServiceAccountToken indicates 19193 whether pods running as this service account should 19194 have an API token automatically mounted. 19195 type: boolean 19196 dnsConfig: 19197 description: Specifies the DNS parameters of a pod. 19198 Parameters specified here will be merged to the generated 19199 DNS configuration based on DNSPolicy. 19200 properties: 19201 nameservers: 19202 description: A list of DNS name server IP addresses. 19203 This will be appended to the base nameservers 19204 generated from DNSPolicy. Duplicated nameservers 19205 will be removed. 19206 items: 19207 type: string 19208 type: array 19209 options: 19210 description: A list of DNS resolver options. This 19211 will be merged with the base options generated 19212 from DNSPolicy. Duplicated entries will be removed. 19213 Resolution options given in Options will override 19214 those that appear in the base DNSPolicy. 19215 items: 19216 description: PodDNSConfigOption defines DNS resolver 19217 options of a pod. 19218 properties: 19219 name: 19220 description: Required. 19221 type: string 19222 value: 19223 type: string 19224 type: object 19225 type: array 19226 searches: 19227 description: A list of DNS search domains for host-name 19228 lookup. This will be appended to the base search 19229 paths generated from DNSPolicy. Duplicated search 19230 paths will be removed. 19231 items: 19232 type: string 19233 type: array 19234 type: object 19235 dnsPolicy: 19236 description: Set DNS policy for the pod. Defaults to 19237 "ClusterFirst". Valid values are 'ClusterFirst', 'Default' 19238 or 'None'. DNS parameters given in DNSConfig will 19239 be merged with the policy selected with DNSPolicy. 19240 type: string 19241 enableServiceLinks: 19242 description: 'EnableServiceLinks indicates whether information 19243 about services should be injected into pod''s environment 19244 variables, matching the syntax of Docker links. Optional: 19245 Defaults to true.' 19246 type: boolean 19247 env: 19248 description: List of environment variables that can 19249 be provided to the containers belonging to the pod. 19250 items: 19251 description: EnvVar represents an environment variable 19252 present in a Container. 19253 properties: 19254 name: 19255 description: Name of the environment variable. 19256 Must be a C_IDENTIFIER. 19257 type: string 19258 value: 19259 description: 'Variable references $(VAR_NAME) 19260 are expanded using the previously defined environment 19261 variables in the container and any service environment 19262 variables. If a variable cannot be resolved, 19263 the reference in the input string will be unchanged. 19264 Double $$ are reduced to a single $, which allows 19265 for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" 19266 will produce the string literal "$(VAR_NAME)". 19267 Escaped references will never be expanded, regardless 19268 of whether the variable exists or not. Defaults 19269 to "".' 19270 type: string 19271 valueFrom: 19272 description: Source for the environment variable's 19273 value. Cannot be used if value is not empty. 19274 properties: 19275 configMapKeyRef: 19276 description: Selects a key of a ConfigMap. 19277 properties: 19278 key: 19279 description: The key to select. 19280 type: string 19281 name: 19282 description: 'Name of the referent. More 19283 info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 19284 TODO: Add other useful fields. apiVersion, 19285 kind, uid?' 19286 type: string 19287 optional: 19288 description: Specify whether the ConfigMap 19289 or its key must be defined 19290 type: boolean 19291 required: 19292 - key 19293 type: object 19294 fieldRef: 19295 description: 'Selects a field of the pod: 19296 supports metadata.name, metadata.namespace, 19297 `metadata.labels[''<KEY>'']`, `metadata.annotations[''<KEY>'']`, 19298 spec.nodeName, spec.serviceAccountName, 19299 status.hostIP, status.podIP, status.podIPs.' 19300 properties: 19301 apiVersion: 19302 description: Version of the schema the 19303 FieldPath is written in terms of, defaults 19304 to "v1". 19305 type: string 19306 fieldPath: 19307 description: Path of the field to select 19308 in the specified API version. 19309 type: string 19310 required: 19311 - fieldPath 19312 type: object 19313 resourceFieldRef: 19314 description: 'Selects a resource of the container: 19315 only resources limits and requests (limits.cpu, 19316 limits.memory, limits.ephemeral-storage, 19317 requests.cpu, requests.memory and requests.ephemeral-storage) 19318 are currently supported.' 19319 properties: 19320 containerName: 19321 description: 'Container name: required 19322 for volumes, optional for env vars' 19323 type: string 19324 divisor: 19325 anyOf: 19326 - type: integer 19327 - type: string 19328 description: Specifies the output format 19329 of the exposed resources, defaults to 19330 "1" 19331 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 19332 x-kubernetes-int-or-string: true 19333 resource: 19334 description: 'Required: resource to select' 19335 type: string 19336 required: 19337 - resource 19338 type: object 19339 secretKeyRef: 19340 description: Selects a key of a secret in 19341 the pod's namespace 19342 properties: 19343 key: 19344 description: The key of the secret to 19345 select from. Must be a valid secret 19346 key. 19347 type: string 19348 name: 19349 description: 'Name of the referent. More 19350 info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 19351 TODO: Add other useful fields. apiVersion, 19352 kind, uid?' 19353 type: string 19354 optional: 19355 description: Specify whether the Secret 19356 or its key must be defined 19357 type: boolean 19358 required: 19359 - key 19360 type: object 19361 type: object 19362 required: 19363 - name 19364 type: object 19365 type: array 19366 x-kubernetes-list-type: atomic 19367 hostAliases: 19368 description: HostAliases is an optional list of hosts 19369 and IPs that will be injected into the pod's hosts 19370 file if specified. This is only valid for non-hostNetwork 19371 pods. 19372 items: 19373 description: HostAlias holds the mapping between IP 19374 and hostnames that will be injected as an entry 19375 in the pod's hosts file. 19376 properties: 19377 hostnames: 19378 description: Hostnames for the above IP address. 19379 items: 19380 type: string 19381 type: array 19382 ip: 19383 description: IP address of the host file entry. 19384 type: string 19385 type: object 19386 type: array 19387 x-kubernetes-list-type: atomic 19388 hostNetwork: 19389 description: HostNetwork specifies whether the pod may 19390 use the node network namespace 19391 type: boolean 19392 imagePullSecrets: 19393 description: ImagePullSecrets gives the name of the 19394 secret used by the pod to pull the image if specified 19395 items: 19396 description: LocalObjectReference contains enough 19397 information to let you locate the referenced object 19398 inside the same namespace. 19399 properties: 19400 name: 19401 description: 'Name of the referent. More info: 19402 https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 19403 TODO: Add other useful fields. apiVersion, kind, 19404 uid?' 19405 type: string 19406 type: object 19407 type: array 19408 x-kubernetes-list-type: atomic 19409 nodeSelector: 19410 additionalProperties: 19411 type: string 19412 description: 'NodeSelector is a selector which must 19413 be true for the pod to fit on a node. Selector which 19414 must match a node''s labels for the pod to be scheduled 19415 on that node. More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/' 19416 type: object 19417 priorityClassName: 19418 description: If specified, indicates the pod's priority. 19419 "system-node-critical" and "system-cluster-critical" 19420 are two special keywords which indicate the highest 19421 priorities with the former being the highest priority. 19422 Any other name must be defined by creating a PriorityClass 19423 object with that name. If not specified, the pod priority 19424 will be default or zero if there is no default. 19425 type: string 19426 runtimeClassName: 19427 description: 'RuntimeClassName refers to a RuntimeClass 19428 object in the node.k8s.io group, which should be used 19429 to run this pod. If no RuntimeClass resource matches 19430 the named class, the pod will not be run. If unset 19431 or empty, the "legacy" RuntimeClass will be used, 19432 which is an implicit class with an empty definition 19433 that uses the default runtime handler. More info: 19434 https://git.k8s.io/enhancements/keps/sig-node/runtime-class.md 19435 This is a beta feature as of Kubernetes v1.14.' 19436 type: string 19437 schedulerName: 19438 description: SchedulerName specifies the scheduler to 19439 be used to dispatch the Pod 19440 type: string 19441 securityContext: 19442 description: 'SecurityContext holds pod-level security 19443 attributes and common container settings. Optional: 19444 Defaults to empty. See type description for default 19445 values of each field.' 19446 properties: 19447 fsGroup: 19448 description: "A special supplemental group that 19449 applies to all containers in a pod. Some volume 19450 types allow the Kubelet to change the ownership 19451 of that volume to be owned by the pod: \n 1. The 19452 owning GID will be the FSGroup 2. The setgid bit 19453 is set (new files created in the volume will be 19454 owned by FSGroup) 3. The permission bits are OR'd 19455 with rw-rw---- \n If unset, the Kubelet will not 19456 modify the ownership and permissions of any volume. 19457 Note that this field cannot be set when spec.os.name 19458 is windows." 19459 format: int64 19460 type: integer 19461 fsGroupChangePolicy: 19462 description: 'fsGroupChangePolicy defines behavior 19463 of changing ownership and permission of the volume 19464 before being exposed inside Pod. This field will 19465 only apply to volume types which support fsGroup 19466 based ownership(and permissions). It will have 19467 no effect on ephemeral volume types such as: secret, 19468 configmaps and emptydir. Valid values are "OnRootMismatch" 19469 and "Always". If not specified, "Always" is used. 19470 Note that this field cannot be set when spec.os.name 19471 is windows.' 19472 type: string 19473 runAsGroup: 19474 description: The GID to run the entrypoint of the 19475 container process. Uses runtime default if unset. 19476 May also be set in SecurityContext. If set in 19477 both SecurityContext and PodSecurityContext, the 19478 value specified in SecurityContext takes precedence 19479 for that container. Note that this field cannot 19480 be set when spec.os.name is windows. 19481 format: int64 19482 type: integer 19483 runAsNonRoot: 19484 description: Indicates that the container must run 19485 as a non-root user. If true, the Kubelet will 19486 validate the image at runtime to ensure that it 19487 does not run as UID 0 (root) and fail to start 19488 the container if it does. If unset or false, no 19489 such validation will be performed. May also be 19490 set in SecurityContext. If set in both SecurityContext 19491 and PodSecurityContext, the value specified in 19492 SecurityContext takes precedence. 19493 type: boolean 19494 runAsUser: 19495 description: The UID to run the entrypoint of the 19496 container process. Defaults to user specified 19497 in image metadata if unspecified. May also be 19498 set in SecurityContext. If set in both SecurityContext 19499 and PodSecurityContext, the value specified in 19500 SecurityContext takes precedence for that container. 19501 Note that this field cannot be set when spec.os.name 19502 is windows. 19503 format: int64 19504 type: integer 19505 seLinuxOptions: 19506 description: The SELinux context to be applied to 19507 all containers. If unspecified, the container 19508 runtime will allocate a random SELinux context 19509 for each container. May also be set in SecurityContext. If 19510 set in both SecurityContext and PodSecurityContext, 19511 the value specified in SecurityContext takes precedence 19512 for that container. Note that this field cannot 19513 be set when spec.os.name is windows. 19514 properties: 19515 level: 19516 description: Level is SELinux level label that 19517 applies to the container. 19518 type: string 19519 role: 19520 description: Role is a SELinux role label that 19521 applies to the container. 19522 type: string 19523 type: 19524 description: Type is a SELinux type label that 19525 applies to the container. 19526 type: string 19527 user: 19528 description: User is a SELinux user label that 19529 applies to the container. 19530 type: string 19531 type: object 19532 seccompProfile: 19533 description: The seccomp options to use by the containers 19534 in this pod. Note that this field cannot be set 19535 when spec.os.name is windows. 19536 properties: 19537 localhostProfile: 19538 description: localhostProfile indicates a profile 19539 defined in a file on the node should be used. 19540 The profile must be preconfigured on the node 19541 to work. Must be a descending path, relative 19542 to the kubelet's configured seccomp profile 19543 location. Must only be set if type is "Localhost". 19544 type: string 19545 type: 19546 description: "type indicates which kind of seccomp 19547 profile will be applied. Valid options are: 19548 \n Localhost - a profile defined in a file 19549 on the node should be used. RuntimeDefault 19550 - the container runtime default profile should 19551 be used. Unconfined - no profile should be 19552 applied." 19553 type: string 19554 required: 19555 - type 19556 type: object 19557 supplementalGroups: 19558 description: A list of groups applied to the first 19559 process run in each container, in addition to 19560 the container's primary GID. If unspecified, 19561 no groups will be added to any container. Note 19562 that this field cannot be set when spec.os.name 19563 is windows. 19564 items: 19565 format: int64 19566 type: integer 19567 type: array 19568 sysctls: 19569 description: Sysctls hold a list of namespaced sysctls 19570 used for the pod. Pods with unsupported sysctls 19571 (by the container runtime) might fail to launch. 19572 Note that this field cannot be set when spec.os.name 19573 is windows. 19574 items: 19575 description: Sysctl defines a kernel parameter 19576 to be set 19577 properties: 19578 name: 19579 description: Name of a property to set 19580 type: string 19581 value: 19582 description: Value of a property to set 19583 type: string 19584 required: 19585 - name 19586 - value 19587 type: object 19588 type: array 19589 windowsOptions: 19590 description: The Windows specific settings applied 19591 to all containers. If unspecified, the options 19592 within a container's SecurityContext will be used. 19593 If set in both SecurityContext and PodSecurityContext, 19594 the value specified in SecurityContext takes precedence. 19595 Note that this field cannot be set when spec.os.name 19596 is linux. 19597 properties: 19598 gmsaCredentialSpec: 19599 description: GMSACredentialSpec is where the 19600 GMSA admission webhook (https://github.com/kubernetes-sigs/windows-gmsa) 19601 inlines the contents of the GMSA credential 19602 spec named by the GMSACredentialSpecName field. 19603 type: string 19604 gmsaCredentialSpecName: 19605 description: GMSACredentialSpecName is the name 19606 of the GMSA credential spec to use. 19607 type: string 19608 hostProcess: 19609 description: HostProcess determines if a container 19610 should be run as a 'Host Process' container. 19611 This field is alpha-level and will only be 19612 honored by components that enable the WindowsHostProcessContainers 19613 feature flag. Setting this field without the 19614 feature flag will result in errors when validating 19615 the Pod. All of a Pod's containers must have 19616 the same effective HostProcess value (it is 19617 not allowed to have a mix of HostProcess containers 19618 and non-HostProcess containers). In addition, 19619 if HostProcess is true then HostNetwork must 19620 also be set to true. 19621 type: boolean 19622 runAsUserName: 19623 description: The UserName in Windows to run 19624 the entrypoint of the container process. Defaults 19625 to the user specified in image metadata if 19626 unspecified. May also be set in PodSecurityContext. 19627 If set in both SecurityContext and PodSecurityContext, 19628 the value specified in SecurityContext takes 19629 precedence. 19630 type: string 19631 type: object 19632 type: object 19633 tolerations: 19634 description: If specified, the pod's tolerations. 19635 items: 19636 description: The pod this Toleration is attached to 19637 tolerates any taint that matches the triple <key,value,effect> 19638 using the matching operator <operator>. 19639 properties: 19640 effect: 19641 description: Effect indicates the taint effect 19642 to match. Empty means match all taint effects. 19643 When specified, allowed values are NoSchedule, 19644 PreferNoSchedule and NoExecute. 19645 type: string 19646 key: 19647 description: Key is the taint key that the toleration 19648 applies to. Empty means match all taint keys. 19649 If the key is empty, operator must be Exists; 19650 this combination means to match all values and 19651 all keys. 19652 type: string 19653 operator: 19654 description: Operator represents a key's relationship 19655 to the value. Valid operators are Exists and 19656 Equal. Defaults to Equal. Exists is equivalent 19657 to wildcard for value, so that a pod can tolerate 19658 all taints of a particular category. 19659 type: string 19660 tolerationSeconds: 19661 description: TolerationSeconds represents the 19662 period of time the toleration (which must be 19663 of effect NoExecute, otherwise this field is 19664 ignored) tolerates the taint. By default, it 19665 is not set, which means tolerate the taint forever 19666 (do not evict). Zero and negative values will 19667 be treated as 0 (evict immediately) by the system. 19668 format: int64 19669 type: integer 19670 value: 19671 description: Value is the taint value the toleration 19672 matches to. If the operator is Exists, the value 19673 should be empty, otherwise just a regular string. 19674 type: string 19675 type: object 19676 type: array 19677 x-kubernetes-list-type: atomic 19678 topologySpreadConstraints: 19679 description: TopologySpreadConstraints controls how 19680 Pods are spread across your cluster among failure-domains 19681 such as regions, zones, nodes, and other user-defined 19682 topology domains. 19683 items: 19684 description: TopologySpreadConstraint specifies how 19685 to spread matching pods among the given topology. 19686 properties: 19687 labelSelector: 19688 description: LabelSelector is used to find matching 19689 pods. Pods that match this label selector are 19690 counted to determine the number of pods in their 19691 corresponding topology domain. 19692 properties: 19693 matchExpressions: 19694 description: matchExpressions is a list of 19695 label selector requirements. The requirements 19696 are ANDed. 19697 items: 19698 description: A label selector requirement 19699 is a selector that contains values, a 19700 key, and an operator that relates the 19701 key and values. 19702 properties: 19703 key: 19704 description: key is the label key that 19705 the selector applies to. 19706 type: string 19707 operator: 19708 description: operator represents a key's 19709 relationship to a set of values. Valid 19710 operators are In, NotIn, Exists and 19711 DoesNotExist. 19712 type: string 19713 values: 19714 description: values is an array of string 19715 values. If the operator is In or NotIn, 19716 the values array must be non-empty. 19717 If the operator is Exists or DoesNotExist, 19718 the values array must be empty. This 19719 array is replaced during a strategic 19720 merge patch. 19721 items: 19722 type: string 19723 type: array 19724 required: 19725 - key 19726 - operator 19727 type: object 19728 type: array 19729 matchLabels: 19730 additionalProperties: 19731 type: string 19732 description: matchLabels is a map of {key,value} 19733 pairs. A single {key,value} in the matchLabels 19734 map is equivalent to an element of matchExpressions, 19735 whose key field is "key", the operator is 19736 "In", and the values array contains only 19737 "value". The requirements are ANDed. 19738 type: object 19739 type: object 19740 matchLabelKeys: 19741 description: MatchLabelKeys is a set of pod label 19742 keys to select the pods over which spreading 19743 will be calculated. The keys are used to lookup 19744 values from the incoming pod labels, those key-value 19745 labels are ANDed with labelSelector to select 19746 the group of existing pods over which spreading 19747 will be calculated for the incoming pod. Keys 19748 that don't exist in the incoming pod labels 19749 will be ignored. A null or empty list means 19750 only match against labelSelector. 19751 items: 19752 type: string 19753 type: array 19754 x-kubernetes-list-type: atomic 19755 maxSkew: 19756 description: 'MaxSkew describes the degree to 19757 which pods may be unevenly distributed. When 19758 `whenUnsatisfiable=DoNotSchedule`, it is the 19759 maximum permitted difference between the number 19760 of matching pods in the target topology and 19761 the global minimum. The global minimum is the 19762 minimum number of matching pods in an eligible 19763 domain or zero if the number of eligible domains 19764 is less than MinDomains. For example, in a 3-zone 19765 cluster, MaxSkew is set to 1, and pods with 19766 the same labelSelector spread as 2/2/1: In this 19767 case, the global minimum is 1. | zone1 | zone2 19768 | zone3 | | P P | P P | P | - if MaxSkew 19769 is 1, incoming pod can only be scheduled to 19770 zone3 to become 2/2/2; scheduling it onto zone1(zone2) 19771 would make the ActualSkew(3-1) on zone1(zone2) 19772 violate MaxSkew(1). - if MaxSkew is 2, incoming 19773 pod can be scheduled onto any zone. When `whenUnsatisfiable=ScheduleAnyway`, 19774 it is used to give higher precedence to topologies 19775 that satisfy it. It''s a required field. Default 19776 value is 1 and 0 is not allowed.' 19777 format: int32 19778 type: integer 19779 minDomains: 19780 description: "MinDomains indicates a minimum number 19781 of eligible domains. When the number of eligible 19782 domains with matching topology keys is less 19783 than minDomains, Pod Topology Spread treats 19784 \"global minimum\" as 0, and then the calculation 19785 of Skew is performed. And when the number of 19786 eligible domains with matching topology keys 19787 equals or greater than minDomains, this value 19788 has no effect on scheduling. As a result, when 19789 the number of eligible domains is less than 19790 minDomains, scheduler won't schedule more than 19791 maxSkew Pods to those domains. If value is nil, 19792 the constraint behaves as if MinDomains is equal 19793 to 1. Valid values are integers greater than 19794 0. When value is not nil, WhenUnsatisfiable 19795 must be DoNotSchedule. \n For example, in a 19796 3-zone cluster, MaxSkew is set to 2, MinDomains 19797 is set to 5 and pods with the same labelSelector 19798 spread as 2/2/2: | zone1 | zone2 | zone3 | | 19799 \ P P | P P | P P | The number of domains 19800 is less than 5(MinDomains), so \"global minimum\" 19801 is treated as 0. In this situation, new pod 19802 with the same labelSelector cannot be scheduled, 19803 because computed skew will be 3(3 - 0) if new 19804 Pod is scheduled to any of the three zones, 19805 it will violate MaxSkew. \n This is a beta field 19806 and requires the MinDomainsInPodTopologySpread 19807 feature gate to be enabled (enabled by default)." 19808 format: int32 19809 type: integer 19810 nodeAffinityPolicy: 19811 description: "NodeAffinityPolicy indicates how 19812 we will treat Pod's nodeAffinity/nodeSelector 19813 when calculating pod topology spread skew. Options 19814 are: - Honor: only nodes matching nodeAffinity/nodeSelector 19815 are included in the calculations. - Ignore: 19816 nodeAffinity/nodeSelector are ignored. All nodes 19817 are included in the calculations. \n If this 19818 value is nil, the behavior is equivalent to 19819 the Honor policy. This is a alpha-level feature 19820 enabled by the NodeInclusionPolicyInPodTopologySpread 19821 feature flag." 19822 type: string 19823 nodeTaintsPolicy: 19824 description: "NodeTaintsPolicy indicates how we 19825 will treat node taints when calculating pod 19826 topology spread skew. Options are: - Honor: 19827 nodes without taints, along with tainted nodes 19828 for which the incoming pod has a toleration, 19829 are included. - Ignore: node taints are ignored. 19830 All nodes are included. \n If this value is 19831 nil, the behavior is equivalent to the Ignore 19832 policy. This is a alpha-level feature enabled 19833 by the NodeInclusionPolicyInPodTopologySpread 19834 feature flag." 19835 type: string 19836 topologyKey: 19837 description: TopologyKey is the key of node labels. 19838 Nodes that have a label with this key and identical 19839 values are considered to be in the same topology. 19840 We consider each <key, value> as a "bucket", 19841 and try to put balanced number of pods into 19842 each bucket. We define a domain as a particular 19843 instance of a topology. Also, we define an eligible 19844 domain as a domain whose nodes meet the requirements 19845 of nodeAffinityPolicy and nodeTaintsPolicy. 19846 e.g. If TopologyKey is "kubernetes.io/hostname", 19847 each Node is a domain of that topology. And, 19848 if TopologyKey is "topology.kubernetes.io/zone", 19849 each zone is a domain of that topology. It's 19850 a required field. 19851 type: string 19852 whenUnsatisfiable: 19853 description: 'WhenUnsatisfiable indicates how 19854 to deal with a pod if it doesn''t satisfy the 19855 spread constraint. - DoNotSchedule (default) 19856 tells the scheduler not to schedule it. - ScheduleAnyway 19857 tells the scheduler to schedule the pod in any 19858 location, but giving higher precedence to 19859 topologies that would help reduce the skew. 19860 A constraint is considered "Unsatisfiable" for 19861 an incoming pod if and only if every possible 19862 node assignment for that pod would violate "MaxSkew" 19863 on some topology. For example, in a 3-zone cluster, 19864 MaxSkew is set to 1, and pods with the same 19865 labelSelector spread as 3/1/1: | zone1 | zone2 19866 | zone3 | | P P P | P | P | If WhenUnsatisfiable 19867 is set to DoNotSchedule, incoming pod can only 19868 be scheduled to zone2(zone3) to become 3/2/1(3/1/2) 19869 as ActualSkew(2-1) on zone2(zone3) satisfies 19870 MaxSkew(1). In other words, the cluster can 19871 still be imbalanced, but scheduler won''t make 19872 it *more* imbalanced. It''s a required field.' 19873 type: string 19874 required: 19875 - maxSkew 19876 - topologyKey 19877 - whenUnsatisfiable 19878 type: object 19879 type: array 19880 x-kubernetes-list-type: atomic 19881 volumes: 19882 description: 'List of volumes that can be mounted by 19883 containers belonging to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes' 19884 items: 19885 description: Volume represents a named volume in a 19886 pod that may be accessed by any container in the 19887 pod. 19888 properties: 19889 awsElasticBlockStore: 19890 description: 'awsElasticBlockStore represents 19891 an AWS Disk resource that is attached to a kubelet''s 19892 host machine and then exposed to the pod. More 19893 info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore' 19894 properties: 19895 fsType: 19896 description: 'fsType is the filesystem type 19897 of the volume that you want to mount. Tip: 19898 Ensure that the filesystem type is supported 19899 by the host operating system. Examples: 19900 "ext4", "xfs", "ntfs". Implicitly inferred 19901 to be "ext4" if unspecified. More info: 19902 https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore 19903 TODO: how do we prevent errors in the filesystem 19904 from compromising the machine' 19905 type: string 19906 partition: 19907 description: 'partition is the partition in 19908 the volume that you want to mount. If omitted, 19909 the default is to mount by volume name. 19910 Examples: For volume /dev/sda1, you specify 19911 the partition as "1". Similarly, the volume 19912 partition for /dev/sda is "0" (or you can 19913 leave the property empty).' 19914 format: int32 19915 type: integer 19916 readOnly: 19917 description: 'readOnly value true will force 19918 the readOnly setting in VolumeMounts. More 19919 info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore' 19920 type: boolean 19921 volumeID: 19922 description: 'volumeID is unique ID of the 19923 persistent disk resource in AWS (Amazon 19924 EBS volume). More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore' 19925 type: string 19926 required: 19927 - volumeID 19928 type: object 19929 azureDisk: 19930 description: azureDisk represents an Azure Data 19931 Disk mount on the host and bind mount to the 19932 pod. 19933 properties: 19934 cachingMode: 19935 description: 'cachingMode is the Host Caching 19936 mode: None, Read Only, Read Write.' 19937 type: string 19938 diskName: 19939 description: diskName is the Name of the data 19940 disk in the blob storage 19941 type: string 19942 diskURI: 19943 description: diskURI is the URI of data disk 19944 in the blob storage 19945 type: string 19946 fsType: 19947 description: fsType is Filesystem type to 19948 mount. Must be a filesystem type supported 19949 by the host operating system. Ex. "ext4", 19950 "xfs", "ntfs". Implicitly inferred to be 19951 "ext4" if unspecified. 19952 type: string 19953 kind: 19954 description: 'kind expected values are Shared: 19955 multiple blob disks per storage account Dedicated: 19956 single blob disk per storage account Managed: 19957 azure managed data disk (only in managed 19958 availability set). defaults to shared' 19959 type: string 19960 readOnly: 19961 description: readOnly Defaults to false (read/write). 19962 ReadOnly here will force the ReadOnly setting 19963 in VolumeMounts. 19964 type: boolean 19965 required: 19966 - diskName 19967 - diskURI 19968 type: object 19969 azureFile: 19970 description: azureFile represents an Azure File 19971 Service mount on the host and bind mount to 19972 the pod. 19973 properties: 19974 readOnly: 19975 description: readOnly defaults to false (read/write). 19976 ReadOnly here will force the ReadOnly setting 19977 in VolumeMounts. 19978 type: boolean 19979 secretName: 19980 description: secretName is the name of secret 19981 that contains Azure Storage Account Name 19982 and Key 19983 type: string 19984 shareName: 19985 description: shareName is the azure share 19986 Name 19987 type: string 19988 required: 19989 - secretName 19990 - shareName 19991 type: object 19992 cephfs: 19993 description: cephFS represents a Ceph FS mount 19994 on the host that shares a pod's lifetime 19995 properties: 19996 monitors: 19997 description: 'monitors is Required: Monitors 19998 is a collection of Ceph monitors More info: 19999 https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it' 20000 items: 20001 type: string 20002 type: array 20003 path: 20004 description: 'path is Optional: Used as the 20005 mounted root, rather than the full Ceph 20006 tree, default is /' 20007 type: string 20008 readOnly: 20009 description: 'readOnly is Optional: Defaults 20010 to false (read/write). ReadOnly here will 20011 force the ReadOnly setting in VolumeMounts. 20012 More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it' 20013 type: boolean 20014 secretFile: 20015 description: 'secretFile is Optional: SecretFile 20016 is the path to key ring for User, default 20017 is /etc/ceph/user.secret More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it' 20018 type: string 20019 secretRef: 20020 description: 'secretRef is Optional: SecretRef 20021 is reference to the authentication secret 20022 for User, default is empty. More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it' 20023 properties: 20024 name: 20025 description: 'Name of the referent. More 20026 info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 20027 TODO: Add other useful fields. apiVersion, 20028 kind, uid?' 20029 type: string 20030 type: object 20031 user: 20032 description: 'user is optional: User is the 20033 rados user name, default is admin More info: 20034 https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it' 20035 type: string 20036 required: 20037 - monitors 20038 type: object 20039 cinder: 20040 description: 'cinder represents a cinder volume 20041 attached and mounted on kubelets host machine. 20042 More info: https://examples.k8s.io/mysql-cinder-pd/README.md' 20043 properties: 20044 fsType: 20045 description: 'fsType is the filesystem type 20046 to mount. Must be a filesystem type supported 20047 by the host operating system. Examples: 20048 "ext4", "xfs", "ntfs". Implicitly inferred 20049 to be "ext4" if unspecified. More info: 20050 https://examples.k8s.io/mysql-cinder-pd/README.md' 20051 type: string 20052 readOnly: 20053 description: 'readOnly defaults to false (read/write). 20054 ReadOnly here will force the ReadOnly setting 20055 in VolumeMounts. More info: https://examples.k8s.io/mysql-cinder-pd/README.md' 20056 type: boolean 20057 secretRef: 20058 description: 'secretRef is optional: points 20059 to a secret object containing parameters 20060 used to connect to OpenStack.' 20061 properties: 20062 name: 20063 description: 'Name of the referent. More 20064 info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 20065 TODO: Add other useful fields. apiVersion, 20066 kind, uid?' 20067 type: string 20068 type: object 20069 volumeID: 20070 description: 'volumeID used to identify the 20071 volume in cinder. More info: https://examples.k8s.io/mysql-cinder-pd/README.md' 20072 type: string 20073 required: 20074 - volumeID 20075 type: object 20076 configMap: 20077 description: configMap represents a configMap 20078 that should populate this volume 20079 properties: 20080 defaultMode: 20081 description: 'defaultMode is optional: mode 20082 bits used to set permissions on created 20083 files by default. Must be an octal value 20084 between 0000 and 0777 or a decimal value 20085 between 0 and 511. YAML accepts both octal 20086 and decimal values, JSON requires decimal 20087 values for mode bits. Defaults to 0644. 20088 Directories within the path are not affected 20089 by this setting. This might be in conflict 20090 with other options that affect the file 20091 mode, like fsGroup, and the result can be 20092 other mode bits set.' 20093 format: int32 20094 type: integer 20095 items: 20096 description: items if unspecified, each key-value 20097 pair in the Data field of the referenced 20098 ConfigMap will be projected into the volume 20099 as a file whose name is the key and content 20100 is the value. If specified, the listed keys 20101 will be projected into the specified paths, 20102 and unlisted keys will not be present. If 20103 a key is specified which is not present 20104 in the ConfigMap, the volume setup will 20105 error unless it is marked optional. Paths 20106 must be relative and may not contain the 20107 '..' path or start with '..'. 20108 items: 20109 description: Maps a string key to a path 20110 within a volume. 20111 properties: 20112 key: 20113 description: key is the key to project. 20114 type: string 20115 mode: 20116 description: 'mode is Optional: mode 20117 bits used to set permissions on this 20118 file. Must be an octal value between 20119 0000 and 0777 or a decimal value between 20120 0 and 511. YAML accepts both octal 20121 and decimal values, JSON requires 20122 decimal values for mode bits. If not 20123 specified, the volume defaultMode 20124 will be used. This might be in conflict 20125 with other options that affect the 20126 file mode, like fsGroup, and the result 20127 can be other mode bits set.' 20128 format: int32 20129 type: integer 20130 path: 20131 description: path is the relative path 20132 of the file to map the key to. May 20133 not be an absolute path. May not contain 20134 the path element '..'. May not start 20135 with the string '..'. 20136 type: string 20137 required: 20138 - key 20139 - path 20140 type: object 20141 type: array 20142 name: 20143 description: 'Name of the referent. More info: 20144 https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 20145 TODO: Add other useful fields. apiVersion, 20146 kind, uid?' 20147 type: string 20148 optional: 20149 description: optional specify whether the 20150 ConfigMap or its keys must be defined 20151 type: boolean 20152 type: object 20153 csi: 20154 description: csi (Container Storage Interface) 20155 represents ephemeral storage that is handled 20156 by certain external CSI drivers (Beta feature). 20157 properties: 20158 driver: 20159 description: driver is the name of the CSI 20160 driver that handles this volume. Consult 20161 with your admin for the correct name as 20162 registered in the cluster. 20163 type: string 20164 fsType: 20165 description: fsType to mount. Ex. "ext4", 20166 "xfs", "ntfs". If not provided, the empty 20167 value is passed to the associated CSI driver 20168 which will determine the default filesystem 20169 to apply. 20170 type: string 20171 nodePublishSecretRef: 20172 description: nodePublishSecretRef is a reference 20173 to the secret object containing sensitive 20174 information to pass to the CSI driver to 20175 complete the CSI NodePublishVolume and NodeUnpublishVolume 20176 calls. This field is optional, and may 20177 be empty if no secret is required. If the 20178 secret object contains more than one secret, 20179 all secret references are passed. 20180 properties: 20181 name: 20182 description: 'Name of the referent. More 20183 info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 20184 TODO: Add other useful fields. apiVersion, 20185 kind, uid?' 20186 type: string 20187 type: object 20188 readOnly: 20189 description: readOnly specifies a read-only 20190 configuration for the volume. Defaults to 20191 false (read/write). 20192 type: boolean 20193 volumeAttributes: 20194 additionalProperties: 20195 type: string 20196 description: volumeAttributes stores driver-specific 20197 properties that are passed to the CSI driver. 20198 Consult your driver's documentation for 20199 supported values. 20200 type: object 20201 required: 20202 - driver 20203 type: object 20204 downwardAPI: 20205 description: downwardAPI represents downward API 20206 about the pod that should populate this volume 20207 properties: 20208 defaultMode: 20209 description: 'Optional: mode bits to use on 20210 created files by default. Must be a Optional: 20211 mode bits used to set permissions on created 20212 files by default. Must be an octal value 20213 between 0000 and 0777 or a decimal value 20214 between 0 and 511. YAML accepts both octal 20215 and decimal values, JSON requires decimal 20216 values for mode bits. Defaults to 0644. 20217 Directories within the path are not affected 20218 by this setting. This might be in conflict 20219 with other options that affect the file 20220 mode, like fsGroup, and the result can be 20221 other mode bits set.' 20222 format: int32 20223 type: integer 20224 items: 20225 description: Items is a list of downward API 20226 volume file 20227 items: 20228 description: DownwardAPIVolumeFile represents 20229 information to create the file containing 20230 the pod field 20231 properties: 20232 fieldRef: 20233 description: 'Required: Selects a field 20234 of the pod: only annotations, labels, 20235 name and namespace are supported.' 20236 properties: 20237 apiVersion: 20238 description: Version of the schema 20239 the FieldPath is written in terms 20240 of, defaults to "v1". 20241 type: string 20242 fieldPath: 20243 description: Path of the field to 20244 select in the specified API version. 20245 type: string 20246 required: 20247 - fieldPath 20248 type: object 20249 mode: 20250 description: 'Optional: mode bits used 20251 to set permissions on this file, must 20252 be an octal value between 0000 and 20253 0777 or a decimal value between 0 20254 and 511. YAML accepts both octal and 20255 decimal values, JSON requires decimal 20256 values for mode bits. If not specified, 20257 the volume defaultMode will be used. 20258 This might be in conflict with other 20259 options that affect the file mode, 20260 like fsGroup, and the result can be 20261 other mode bits set.' 20262 format: int32 20263 type: integer 20264 path: 20265 description: 'Required: Path is the 20266 relative path name of the file to 20267 be created. Must not be absolute or 20268 contain the ''..'' path. Must be utf-8 20269 encoded. The first item of the relative 20270 path must not start with ''..''' 20271 type: string 20272 resourceFieldRef: 20273 description: 'Selects a resource of 20274 the container: only resources limits 20275 and requests (limits.cpu, limits.memory, 20276 requests.cpu and requests.memory) 20277 are currently supported.' 20278 properties: 20279 containerName: 20280 description: 'Container name: required 20281 for volumes, optional for env 20282 vars' 20283 type: string 20284 divisor: 20285 anyOf: 20286 - type: integer 20287 - type: string 20288 description: Specifies the output 20289 format of the exposed resources, 20290 defaults to "1" 20291 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 20292 x-kubernetes-int-or-string: true 20293 resource: 20294 description: 'Required: resource 20295 to select' 20296 type: string 20297 required: 20298 - resource 20299 type: object 20300 required: 20301 - path 20302 type: object 20303 type: array 20304 type: object 20305 emptyDir: 20306 description: 'emptyDir represents a temporary 20307 directory that shares a pod''s lifetime. More 20308 info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir' 20309 properties: 20310 medium: 20311 description: 'medium represents what type 20312 of storage medium should back this directory. 20313 The default is "" which means to use the 20314 node''s default medium. Must be an empty 20315 string (default) or Memory. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir' 20316 type: string 20317 sizeLimit: 20318 anyOf: 20319 - type: integer 20320 - type: string 20321 description: 'sizeLimit is the total amount 20322 of local storage required for this EmptyDir 20323 volume. The size limit is also applicable 20324 for memory medium. The maximum usage on 20325 memory medium EmptyDir would be the minimum 20326 value between the SizeLimit specified here 20327 and the sum of memory limits of all containers 20328 in a pod. The default is nil which means 20329 that the limit is undefined. More info: 20330 http://kubernetes.io/docs/user-guide/volumes#emptydir' 20331 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 20332 x-kubernetes-int-or-string: true 20333 type: object 20334 ephemeral: 20335 description: "ephemeral represents a volume that 20336 is handled by a cluster storage driver. The 20337 volume's lifecycle is tied to the pod that defines 20338 it - it will be created before the pod starts, 20339 and deleted when the pod is removed. \n Use 20340 this if: a) the volume is only needed while 20341 the pod runs, b) features of normal volumes 20342 like restoring from snapshot or capacity tracking 20343 are needed, c) the storage driver is specified 20344 through a storage class, and d) the storage 20345 driver supports dynamic volume provisioning 20346 through a PersistentVolumeClaim (see EphemeralVolumeSource 20347 for more information on the connection between 20348 this volume type and PersistentVolumeClaim). 20349 \n Use PersistentVolumeClaim or one of the vendor-specific 20350 APIs for volumes that persist for longer than 20351 the lifecycle of an individual pod. \n Use CSI 20352 for light-weight local ephemeral volumes if 20353 the CSI driver is meant to be used that way 20354 - see the documentation of the driver for more 20355 information. \n A pod can use both types of 20356 ephemeral volumes and persistent volumes at 20357 the same time." 20358 properties: 20359 volumeClaimTemplate: 20360 description: "Will be used to create a stand-alone 20361 PVC to provision the volume. The pod in 20362 which this EphemeralVolumeSource is embedded 20363 will be the owner of the PVC, i.e. the PVC 20364 will be deleted together with the pod. The 20365 name of the PVC will be `<pod name>-<volume 20366 name>` where `<volume name>` is the name 20367 from the `PodSpec.Volumes` array entry. 20368 Pod validation will reject the pod if the 20369 concatenated name is not valid for a PVC 20370 (for example, too long). \n An existing 20371 PVC with that name that is not owned by 20372 the pod will *not* be used for the pod to 20373 avoid using an unrelated volume by mistake. 20374 Starting the pod is then blocked until the 20375 unrelated PVC is removed. If such a pre-created 20376 PVC is meant to be used by the pod, the 20377 PVC has to updated with an owner reference 20378 to the pod once the pod exists. Normally 20379 this should not be necessary, but it may 20380 be useful when manually reconstructing a 20381 broken cluster. \n This field is read-only 20382 and no changes will be made by Kubernetes 20383 to the PVC after it has been created. \n 20384 Required, must not be nil." 20385 properties: 20386 metadata: 20387 description: May contain labels and annotations 20388 that will be copied into the PVC when 20389 creating it. No other fields are allowed 20390 and will be rejected during validation. 20391 type: object 20392 spec: 20393 description: The specification for the 20394 PersistentVolumeClaim. The entire content 20395 is copied unchanged into the PVC that 20396 gets created from this template. The 20397 same fields as in a PersistentVolumeClaim 20398 are also valid here. 20399 properties: 20400 accessModes: 20401 description: 'accessModes contains 20402 the desired access modes the volume 20403 should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1' 20404 items: 20405 type: string 20406 type: array 20407 dataSource: 20408 description: 'dataSource field can 20409 be used to specify either: * An 20410 existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot) 20411 * An existing PVC (PersistentVolumeClaim) 20412 If the provisioner or an external 20413 controller can support the specified 20414 data source, it will create a new 20415 volume based on the contents of 20416 the specified data source. If the 20417 AnyVolumeDataSource feature gate 20418 is enabled, this field will always 20419 have the same contents as the DataSourceRef 20420 field.' 20421 properties: 20422 apiGroup: 20423 description: APIGroup is the group 20424 for the resource being referenced. 20425 If APIGroup is not specified, 20426 the specified Kind must be in 20427 the core API group. For any 20428 other third-party types, APIGroup 20429 is required. 20430 type: string 20431 kind: 20432 description: Kind is the type 20433 of resource being referenced 20434 type: string 20435 name: 20436 description: Name is the name 20437 of resource being referenced 20438 type: string 20439 required: 20440 - kind 20441 - name 20442 type: object 20443 dataSourceRef: 20444 description: 'dataSourceRef specifies 20445 the object from which to populate 20446 the volume with data, if a non-empty 20447 volume is desired. This may be any 20448 local object from a non-empty API 20449 group (non core object) or a PersistentVolumeClaim 20450 object. When this field is specified, 20451 volume binding will only succeed 20452 if the type of the specified object 20453 matches some installed volume populator 20454 or dynamic provisioner. This field 20455 will replace the functionality of 20456 the DataSource field and as such 20457 if both fields are non-empty, they 20458 must have the same value. For backwards 20459 compatibility, both fields (DataSource 20460 and DataSourceRef) will be set to 20461 the same value automatically if 20462 one of them is empty and the other 20463 is non-empty. There are two important 20464 differences between DataSource and 20465 DataSourceRef: * While DataSource 20466 only allows two specific types of 20467 objects, DataSourceRef allows 20468 any non-core object, as well as 20469 PersistentVolumeClaim objects. * 20470 While DataSource ignores disallowed 20471 values (dropping them), DataSourceRef preserves 20472 all values, and generates an error 20473 if a disallowed value is specified. 20474 (Beta) Using this field requires 20475 the AnyVolumeDataSource feature 20476 gate to be enabled.' 20477 properties: 20478 apiGroup: 20479 description: APIGroup is the group 20480 for the resource being referenced. 20481 If APIGroup is not specified, 20482 the specified Kind must be in 20483 the core API group. For any 20484 other third-party types, APIGroup 20485 is required. 20486 type: string 20487 kind: 20488 description: Kind is the type 20489 of resource being referenced 20490 type: string 20491 name: 20492 description: Name is the name 20493 of resource being referenced 20494 type: string 20495 required: 20496 - kind 20497 - name 20498 type: object 20499 resources: 20500 description: 'resources represents 20501 the minimum resources the volume 20502 should have. If RecoverVolumeExpansionFailure 20503 feature is enabled users are allowed 20504 to specify resource requirements 20505 that are lower than previous value 20506 but must still be higher than capacity 20507 recorded in the status field of 20508 the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources' 20509 properties: 20510 limits: 20511 additionalProperties: 20512 anyOf: 20513 - type: integer 20514 - type: string 20515 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 20516 x-kubernetes-int-or-string: true 20517 description: 'Limits describes 20518 the maximum amount of compute 20519 resources allowed. More info: 20520 https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' 20521 type: object 20522 requests: 20523 additionalProperties: 20524 anyOf: 20525 - type: integer 20526 - type: string 20527 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 20528 x-kubernetes-int-or-string: true 20529 description: 'Requests describes 20530 the minimum amount of compute 20531 resources required. If Requests 20532 is omitted for a container, 20533 it defaults to Limits if that 20534 is explicitly specified, otherwise 20535 to an implementation-defined 20536 value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' 20537 type: object 20538 type: object 20539 selector: 20540 description: selector is a label query 20541 over volumes to consider for binding. 20542 properties: 20543 matchExpressions: 20544 description: matchExpressions 20545 is a list of label selector 20546 requirements. The requirements 20547 are ANDed. 20548 items: 20549 description: A label selector 20550 requirement is a selector 20551 that contains values, a key, 20552 and an operator that relates 20553 the key and values. 20554 properties: 20555 key: 20556 description: key is the 20557 label key that the selector 20558 applies to. 20559 type: string 20560 operator: 20561 description: operator represents 20562 a key's relationship to 20563 a set of values. Valid 20564 operators are In, NotIn, 20565 Exists and DoesNotExist. 20566 type: string 20567 values: 20568 description: values is an 20569 array of string values. 20570 If the operator is In 20571 or NotIn, the values array 20572 must be non-empty. If 20573 the operator is Exists 20574 or DoesNotExist, the values 20575 array must be empty. This 20576 array is replaced during 20577 a strategic merge patch. 20578 items: 20579 type: string 20580 type: array 20581 required: 20582 - key 20583 - operator 20584 type: object 20585 type: array 20586 matchLabels: 20587 additionalProperties: 20588 type: string 20589 description: matchLabels is a 20590 map of {key,value} pairs. A 20591 single {key,value} in the matchLabels 20592 map is equivalent to an element 20593 of matchExpressions, whose key 20594 field is "key", the operator 20595 is "In", and the values array 20596 contains only "value". The requirements 20597 are ANDed. 20598 type: object 20599 type: object 20600 storageClassName: 20601 description: 'storageClassName is 20602 the name of the StorageClass required 20603 by the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1' 20604 type: string 20605 volumeMode: 20606 description: volumeMode defines what 20607 type of volume is required by the 20608 claim. Value of Filesystem is implied 20609 when not included in claim spec. 20610 type: string 20611 volumeName: 20612 description: volumeName is the binding 20613 reference to the PersistentVolume 20614 backing this claim. 20615 type: string 20616 type: object 20617 required: 20618 - spec 20619 type: object 20620 type: object 20621 fc: 20622 description: fc represents a Fibre Channel resource 20623 that is attached to a kubelet's host machine 20624 and then exposed to the pod. 20625 properties: 20626 fsType: 20627 description: 'fsType is the filesystem type 20628 to mount. Must be a filesystem type supported 20629 by the host operating system. Ex. "ext4", 20630 "xfs", "ntfs". Implicitly inferred to be 20631 "ext4" if unspecified. TODO: how do we prevent 20632 errors in the filesystem from compromising 20633 the machine' 20634 type: string 20635 lun: 20636 description: 'lun is Optional: FC target lun 20637 number' 20638 format: int32 20639 type: integer 20640 readOnly: 20641 description: 'readOnly is Optional: Defaults 20642 to false (read/write). ReadOnly here will 20643 force the ReadOnly setting in VolumeMounts.' 20644 type: boolean 20645 targetWWNs: 20646 description: 'targetWWNs is Optional: FC target 20647 worldwide names (WWNs)' 20648 items: 20649 type: string 20650 type: array 20651 wwids: 20652 description: 'wwids Optional: FC volume world 20653 wide identifiers (wwids) Either wwids or 20654 combination of targetWWNs and lun must be 20655 set, but not both simultaneously.' 20656 items: 20657 type: string 20658 type: array 20659 type: object 20660 flexVolume: 20661 description: flexVolume represents a generic volume 20662 resource that is provisioned/attached using 20663 an exec based plugin. 20664 properties: 20665 driver: 20666 description: driver is the name of the driver 20667 to use for this volume. 20668 type: string 20669 fsType: 20670 description: fsType is the filesystem type 20671 to mount. Must be a filesystem type supported 20672 by the host operating system. Ex. "ext4", 20673 "xfs", "ntfs". The default filesystem depends 20674 on FlexVolume script. 20675 type: string 20676 options: 20677 additionalProperties: 20678 type: string 20679 description: 'options is Optional: this field 20680 holds extra command options if any.' 20681 type: object 20682 readOnly: 20683 description: 'readOnly is Optional: defaults 20684 to false (read/write). ReadOnly here will 20685 force the ReadOnly setting in VolumeMounts.' 20686 type: boolean 20687 secretRef: 20688 description: 'secretRef is Optional: secretRef 20689 is reference to the secret object containing 20690 sensitive information to pass to the plugin 20691 scripts. This may be empty if no secret 20692 object is specified. If the secret object 20693 contains more than one secret, all secrets 20694 are passed to the plugin scripts.' 20695 properties: 20696 name: 20697 description: 'Name of the referent. More 20698 info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 20699 TODO: Add other useful fields. apiVersion, 20700 kind, uid?' 20701 type: string 20702 type: object 20703 required: 20704 - driver 20705 type: object 20706 flocker: 20707 description: flocker represents a Flocker volume 20708 attached to a kubelet's host machine. This depends 20709 on the Flocker control service being running 20710 properties: 20711 datasetName: 20712 description: datasetName is Name of the dataset 20713 stored as metadata -> name on the dataset 20714 for Flocker should be considered as deprecated 20715 type: string 20716 datasetUUID: 20717 description: datasetUUID is the UUID of the 20718 dataset. This is unique identifier of a 20719 Flocker dataset 20720 type: string 20721 type: object 20722 gcePersistentDisk: 20723 description: 'gcePersistentDisk represents a GCE 20724 Disk resource that is attached to a kubelet''s 20725 host machine and then exposed to the pod. More 20726 info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk' 20727 properties: 20728 fsType: 20729 description: 'fsType is filesystem type of 20730 the volume that you want to mount. Tip: 20731 Ensure that the filesystem type is supported 20732 by the host operating system. Examples: 20733 "ext4", "xfs", "ntfs". Implicitly inferred 20734 to be "ext4" if unspecified. More info: 20735 https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk 20736 TODO: how do we prevent errors in the filesystem 20737 from compromising the machine' 20738 type: string 20739 partition: 20740 description: 'partition is the partition in 20741 the volume that you want to mount. If omitted, 20742 the default is to mount by volume name. 20743 Examples: For volume /dev/sda1, you specify 20744 the partition as "1". Similarly, the volume 20745 partition for /dev/sda is "0" (or you can 20746 leave the property empty). More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk' 20747 format: int32 20748 type: integer 20749 pdName: 20750 description: 'pdName is unique name of the 20751 PD resource in GCE. Used to identify the 20752 disk in GCE. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk' 20753 type: string 20754 readOnly: 20755 description: 'readOnly here will force the 20756 ReadOnly setting in VolumeMounts. Defaults 20757 to false. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk' 20758 type: boolean 20759 required: 20760 - pdName 20761 type: object 20762 gitRepo: 20763 description: 'gitRepo represents a git repository 20764 at a particular revision. DEPRECATED: GitRepo 20765 is deprecated. To provision a container with 20766 a git repo, mount an EmptyDir into an InitContainer 20767 that clones the repo using git, then mount the 20768 EmptyDir into the Pod''s container.' 20769 properties: 20770 directory: 20771 description: directory is the target directory 20772 name. Must not contain or start with '..'. If 20773 '.' is supplied, the volume directory will 20774 be the git repository. Otherwise, if specified, 20775 the volume will contain the git repository 20776 in the subdirectory with the given name. 20777 type: string 20778 repository: 20779 description: repository is the URL 20780 type: string 20781 revision: 20782 description: revision is the commit hash for 20783 the specified revision. 20784 type: string 20785 required: 20786 - repository 20787 type: object 20788 glusterfs: 20789 description: 'glusterfs represents a Glusterfs 20790 mount on the host that shares a pod''s lifetime. 20791 More info: https://examples.k8s.io/volumes/glusterfs/README.md' 20792 properties: 20793 endpoints: 20794 description: 'endpoints is the endpoint name 20795 that details Glusterfs topology. More info: 20796 https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod' 20797 type: string 20798 path: 20799 description: 'path is the Glusterfs volume 20800 path. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod' 20801 type: string 20802 readOnly: 20803 description: 'readOnly here will force the 20804 Glusterfs volume to be mounted with read-only 20805 permissions. Defaults to false. More info: 20806 https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod' 20807 type: boolean 20808 required: 20809 - endpoints 20810 - path 20811 type: object 20812 hostPath: 20813 description: 'hostPath represents a pre-existing 20814 file or directory on the host machine that is 20815 directly exposed to the container. This is generally 20816 used for system agents or other privileged things 20817 that are allowed to see the host machine. Most 20818 containers will NOT need this. More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath 20819 --- TODO(jonesdl) We need to restrict who can 20820 use host directory mounts and who can/can not 20821 mount host directories as read/write.' 20822 properties: 20823 path: 20824 description: 'path of the directory on the 20825 host. If the path is a symlink, it will 20826 follow the link to the real path. More info: 20827 https://kubernetes.io/docs/concepts/storage/volumes#hostpath' 20828 type: string 20829 type: 20830 description: 'type for HostPath Volume Defaults 20831 to "" More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath' 20832 type: string 20833 required: 20834 - path 20835 type: object 20836 iscsi: 20837 description: 'iscsi represents an ISCSI Disk resource 20838 that is attached to a kubelet''s host machine 20839 and then exposed to the pod. More info: https://examples.k8s.io/volumes/iscsi/README.md' 20840 properties: 20841 chapAuthDiscovery: 20842 description: chapAuthDiscovery defines whether 20843 support iSCSI Discovery CHAP authentication 20844 type: boolean 20845 chapAuthSession: 20846 description: chapAuthSession defines whether 20847 support iSCSI Session CHAP authentication 20848 type: boolean 20849 fsType: 20850 description: 'fsType is the filesystem type 20851 of the volume that you want to mount. Tip: 20852 Ensure that the filesystem type is supported 20853 by the host operating system. Examples: 20854 "ext4", "xfs", "ntfs". Implicitly inferred 20855 to be "ext4" if unspecified. More info: 20856 https://kubernetes.io/docs/concepts/storage/volumes#iscsi 20857 TODO: how do we prevent errors in the filesystem 20858 from compromising the machine' 20859 type: string 20860 initiatorName: 20861 description: initiatorName is the custom iSCSI 20862 Initiator Name. If initiatorName is specified 20863 with iscsiInterface simultaneously, new 20864 iSCSI interface <target portal>:<volume 20865 name> will be created for the connection. 20866 type: string 20867 iqn: 20868 description: iqn is the target iSCSI Qualified 20869 Name. 20870 type: string 20871 iscsiInterface: 20872 description: iscsiInterface is the interface 20873 Name that uses an iSCSI transport. Defaults 20874 to 'default' (tcp). 20875 type: string 20876 lun: 20877 description: lun represents iSCSI Target Lun 20878 number. 20879 format: int32 20880 type: integer 20881 portals: 20882 description: portals is the iSCSI Target Portal 20883 List. The portal is either an IP or ip_addr:port 20884 if the port is other than default (typically 20885 TCP ports 860 and 3260). 20886 items: 20887 type: string 20888 type: array 20889 readOnly: 20890 description: readOnly here will force the 20891 ReadOnly setting in VolumeMounts. Defaults 20892 to false. 20893 type: boolean 20894 secretRef: 20895 description: secretRef is the CHAP Secret 20896 for iSCSI target and initiator authentication 20897 properties: 20898 name: 20899 description: 'Name of the referent. More 20900 info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 20901 TODO: Add other useful fields. apiVersion, 20902 kind, uid?' 20903 type: string 20904 type: object 20905 targetPortal: 20906 description: targetPortal is iSCSI Target 20907 Portal. The Portal is either an IP or ip_addr:port 20908 if the port is other than default (typically 20909 TCP ports 860 and 3260). 20910 type: string 20911 required: 20912 - iqn 20913 - lun 20914 - targetPortal 20915 type: object 20916 name: 20917 description: 'name of the volume. Must be a DNS_LABEL 20918 and unique within the pod. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' 20919 type: string 20920 nfs: 20921 description: 'nfs represents an NFS mount on the 20922 host that shares a pod''s lifetime More info: 20923 https://kubernetes.io/docs/concepts/storage/volumes#nfs' 20924 properties: 20925 path: 20926 description: 'path that is exported by the 20927 NFS server. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs' 20928 type: string 20929 readOnly: 20930 description: 'readOnly here will force the 20931 NFS export to be mounted with read-only 20932 permissions. Defaults to false. More info: 20933 https://kubernetes.io/docs/concepts/storage/volumes#nfs' 20934 type: boolean 20935 server: 20936 description: 'server is the hostname or IP 20937 address of the NFS server. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs' 20938 type: string 20939 required: 20940 - path 20941 - server 20942 type: object 20943 persistentVolumeClaim: 20944 description: 'persistentVolumeClaimVolumeSource 20945 represents a reference to a PersistentVolumeClaim 20946 in the same namespace. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims' 20947 properties: 20948 claimName: 20949 description: 'claimName is the name of a PersistentVolumeClaim 20950 in the same namespace as the pod using this 20951 volume. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims' 20952 type: string 20953 readOnly: 20954 description: readOnly Will force the ReadOnly 20955 setting in VolumeMounts. Default false. 20956 type: boolean 20957 required: 20958 - claimName 20959 type: object 20960 photonPersistentDisk: 20961 description: photonPersistentDisk represents a 20962 PhotonController persistent disk attached and 20963 mounted on kubelets host machine 20964 properties: 20965 fsType: 20966 description: fsType is the filesystem type 20967 to mount. Must be a filesystem type supported 20968 by the host operating system. Ex. "ext4", 20969 "xfs", "ntfs". Implicitly inferred to be 20970 "ext4" if unspecified. 20971 type: string 20972 pdID: 20973 description: pdID is the ID that identifies 20974 Photon Controller persistent disk 20975 type: string 20976 required: 20977 - pdID 20978 type: object 20979 portworxVolume: 20980 description: portworxVolume represents a portworx 20981 volume attached and mounted on kubelets host 20982 machine 20983 properties: 20984 fsType: 20985 description: fSType represents the filesystem 20986 type to mount Must be a filesystem type 20987 supported by the host operating system. 20988 Ex. "ext4", "xfs". Implicitly inferred to 20989 be "ext4" if unspecified. 20990 type: string 20991 readOnly: 20992 description: readOnly defaults to false (read/write). 20993 ReadOnly here will force the ReadOnly setting 20994 in VolumeMounts. 20995 type: boolean 20996 volumeID: 20997 description: volumeID uniquely identifies 20998 a Portworx volume 20999 type: string 21000 required: 21001 - volumeID 21002 type: object 21003 projected: 21004 description: projected items for all in one resources 21005 secrets, configmaps, and downward API 21006 properties: 21007 defaultMode: 21008 description: defaultMode are the mode bits 21009 used to set permissions on created files 21010 by default. Must be an octal value between 21011 0000 and 0777 or a decimal value between 21012 0 and 511. YAML accepts both octal and decimal 21013 values, JSON requires decimal values for 21014 mode bits. Directories within the path are 21015 not affected by this setting. This might 21016 be in conflict with other options that affect 21017 the file mode, like fsGroup, and the result 21018 can be other mode bits set. 21019 format: int32 21020 type: integer 21021 sources: 21022 description: sources is the list of volume 21023 projections 21024 items: 21025 description: Projection that may be projected 21026 along with other supported volume types 21027 properties: 21028 configMap: 21029 description: configMap information about 21030 the configMap data to project 21031 properties: 21032 items: 21033 description: items if unspecified, 21034 each key-value pair in the Data 21035 field of the referenced ConfigMap 21036 will be projected into the volume 21037 as a file whose name is the key 21038 and content is the value. If specified, 21039 the listed keys will be projected 21040 into the specified paths, and 21041 unlisted keys will not be present. 21042 If a key is specified which is 21043 not present in the ConfigMap, 21044 the volume setup will error unless 21045 it is marked optional. Paths must 21046 be relative and may not contain 21047 the '..' path or start with '..'. 21048 items: 21049 description: Maps a string key 21050 to a path within a volume. 21051 properties: 21052 key: 21053 description: key is the key 21054 to project. 21055 type: string 21056 mode: 21057 description: 'mode is Optional: 21058 mode bits used to set permissions 21059 on this file. Must be an 21060 octal value between 0000 21061 and 0777 or a decimal value 21062 between 0 and 511. YAML 21063 accepts both octal and decimal 21064 values, JSON requires decimal 21065 values for mode bits. If 21066 not specified, the volume 21067 defaultMode will be used. 21068 This might be in conflict 21069 with other options that 21070 affect the file mode, like 21071 fsGroup, and the result 21072 can be other mode bits set.' 21073 format: int32 21074 type: integer 21075 path: 21076 description: path is the relative 21077 path of the file to map 21078 the key to. May not be an 21079 absolute path. May not contain 21080 the path element '..'. May 21081 not start with the string 21082 '..'. 21083 type: string 21084 required: 21085 - key 21086 - path 21087 type: object 21088 type: array 21089 name: 21090 description: 'Name of the referent. 21091 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 21092 TODO: Add other useful fields. 21093 apiVersion, kind, uid?' 21094 type: string 21095 optional: 21096 description: optional specify whether 21097 the ConfigMap or its keys must 21098 be defined 21099 type: boolean 21100 type: object 21101 downwardAPI: 21102 description: downwardAPI information 21103 about the downwardAPI data to project 21104 properties: 21105 items: 21106 description: Items is a list of 21107 DownwardAPIVolume file 21108 items: 21109 description: DownwardAPIVolumeFile 21110 represents information to create 21111 the file containing the pod 21112 field 21113 properties: 21114 fieldRef: 21115 description: 'Required: Selects 21116 a field of the pod: only 21117 annotations, labels, name 21118 and namespace are supported.' 21119 properties: 21120 apiVersion: 21121 description: Version of 21122 the schema the FieldPath 21123 is written in terms 21124 of, defaults to "v1". 21125 type: string 21126 fieldPath: 21127 description: Path of the 21128 field to select in the 21129 specified API version. 21130 type: string 21131 required: 21132 - fieldPath 21133 type: object 21134 mode: 21135 description: 'Optional: mode 21136 bits used to set permissions 21137 on this file, must be an 21138 octal value between 0000 21139 and 0777 or a decimal value 21140 between 0 and 511. YAML 21141 accepts both octal and decimal 21142 values, JSON requires decimal 21143 values for mode bits. If 21144 not specified, the volume 21145 defaultMode will be used. 21146 This might be in conflict 21147 with other options that 21148 affect the file mode, like 21149 fsGroup, and the result 21150 can be other mode bits set.' 21151 format: int32 21152 type: integer 21153 path: 21154 description: 'Required: Path 21155 is the relative path name 21156 of the file to be created. 21157 Must not be absolute or 21158 contain the ''..'' path. 21159 Must be utf-8 encoded. The 21160 first item of the relative 21161 path must not start with 21162 ''..''' 21163 type: string 21164 resourceFieldRef: 21165 description: 'Selects a resource 21166 of the container: only resources 21167 limits and requests (limits.cpu, 21168 limits.memory, requests.cpu 21169 and requests.memory) are 21170 currently supported.' 21171 properties: 21172 containerName: 21173 description: 'Container 21174 name: required for volumes, 21175 optional for env vars' 21176 type: string 21177 divisor: 21178 anyOf: 21179 - type: integer 21180 - type: string 21181 description: Specifies 21182 the output format of 21183 the exposed resources, 21184 defaults to "1" 21185 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 21186 x-kubernetes-int-or-string: true 21187 resource: 21188 description: 'Required: 21189 resource to select' 21190 type: string 21191 required: 21192 - resource 21193 type: object 21194 required: 21195 - path 21196 type: object 21197 type: array 21198 type: object 21199 secret: 21200 description: secret information about 21201 the secret data to project 21202 properties: 21203 items: 21204 description: items if unspecified, 21205 each key-value pair in the Data 21206 field of the referenced Secret 21207 will be projected into the volume 21208 as a file whose name is the key 21209 and content is the value. If specified, 21210 the listed keys will be projected 21211 into the specified paths, and 21212 unlisted keys will not be present. 21213 If a key is specified which is 21214 not present in the Secret, the 21215 volume setup will error unless 21216 it is marked optional. Paths must 21217 be relative and may not contain 21218 the '..' path or start with '..'. 21219 items: 21220 description: Maps a string key 21221 to a path within a volume. 21222 properties: 21223 key: 21224 description: key is the key 21225 to project. 21226 type: string 21227 mode: 21228 description: 'mode is Optional: 21229 mode bits used to set permissions 21230 on this file. Must be an 21231 octal value between 0000 21232 and 0777 or a decimal value 21233 between 0 and 511. YAML 21234 accepts both octal and decimal 21235 values, JSON requires decimal 21236 values for mode bits. If 21237 not specified, the volume 21238 defaultMode will be used. 21239 This might be in conflict 21240 with other options that 21241 affect the file mode, like 21242 fsGroup, and the result 21243 can be other mode bits set.' 21244 format: int32 21245 type: integer 21246 path: 21247 description: path is the relative 21248 path of the file to map 21249 the key to. May not be an 21250 absolute path. May not contain 21251 the path element '..'. May 21252 not start with the string 21253 '..'. 21254 type: string 21255 required: 21256 - key 21257 - path 21258 type: object 21259 type: array 21260 name: 21261 description: 'Name of the referent. 21262 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 21263 TODO: Add other useful fields. 21264 apiVersion, kind, uid?' 21265 type: string 21266 optional: 21267 description: optional field specify 21268 whether the Secret or its key 21269 must be defined 21270 type: boolean 21271 type: object 21272 serviceAccountToken: 21273 description: serviceAccountToken is 21274 information about the serviceAccountToken 21275 data to project 21276 properties: 21277 audience: 21278 description: audience is the intended 21279 audience of the token. A recipient 21280 of a token must identify itself 21281 with an identifier specified in 21282 the audience of the token, and 21283 otherwise should reject the token. 21284 The audience defaults to the identifier 21285 of the apiserver. 21286 type: string 21287 expirationSeconds: 21288 description: expirationSeconds is 21289 the requested duration of validity 21290 of the service account token. 21291 As the token approaches expiration, 21292 the kubelet volume plugin will 21293 proactively rotate the service 21294 account token. The kubelet will 21295 start trying to rotate the token 21296 if the token is older than 80 21297 percent of its time to live or 21298 if the token is older than 24 21299 hours.Defaults to 1 hour and must 21300 be at least 10 minutes. 21301 format: int64 21302 type: integer 21303 path: 21304 description: path is the path relative 21305 to the mount point of the file 21306 to project the token into. 21307 type: string 21308 required: 21309 - path 21310 type: object 21311 type: object 21312 type: array 21313 type: object 21314 quobyte: 21315 description: quobyte represents a Quobyte mount 21316 on the host that shares a pod's lifetime 21317 properties: 21318 group: 21319 description: group to map volume access to 21320 Default is no group 21321 type: string 21322 readOnly: 21323 description: readOnly here will force the 21324 Quobyte volume to be mounted with read-only 21325 permissions. Defaults to false. 21326 type: boolean 21327 registry: 21328 description: registry represents a single 21329 or multiple Quobyte Registry services specified 21330 as a string as host:port pair (multiple 21331 entries are separated with commas) which 21332 acts as the central registry for volumes 21333 type: string 21334 tenant: 21335 description: tenant owning the given Quobyte 21336 volume in the Backend Used with dynamically 21337 provisioned Quobyte volumes, value is set 21338 by the plugin 21339 type: string 21340 user: 21341 description: user to map volume access to 21342 Defaults to serivceaccount user 21343 type: string 21344 volume: 21345 description: volume is a string that references 21346 an already created Quobyte volume by name. 21347 type: string 21348 required: 21349 - registry 21350 - volume 21351 type: object 21352 rbd: 21353 description: 'rbd represents a Rados Block Device 21354 mount on the host that shares a pod''s lifetime. 21355 More info: https://examples.k8s.io/volumes/rbd/README.md' 21356 properties: 21357 fsType: 21358 description: 'fsType is the filesystem type 21359 of the volume that you want to mount. Tip: 21360 Ensure that the filesystem type is supported 21361 by the host operating system. Examples: 21362 "ext4", "xfs", "ntfs". Implicitly inferred 21363 to be "ext4" if unspecified. More info: 21364 https://kubernetes.io/docs/concepts/storage/volumes#rbd 21365 TODO: how do we prevent errors in the filesystem 21366 from compromising the machine' 21367 type: string 21368 image: 21369 description: 'image is the rados image name. 21370 More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it' 21371 type: string 21372 keyring: 21373 description: 'keyring is the path to key ring 21374 for RBDUser. Default is /etc/ceph/keyring. 21375 More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it' 21376 type: string 21377 monitors: 21378 description: 'monitors is a collection of 21379 Ceph monitors. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it' 21380 items: 21381 type: string 21382 type: array 21383 pool: 21384 description: 'pool is the rados pool name. 21385 Default is rbd. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it' 21386 type: string 21387 readOnly: 21388 description: 'readOnly here will force the 21389 ReadOnly setting in VolumeMounts. Defaults 21390 to false. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it' 21391 type: boolean 21392 secretRef: 21393 description: 'secretRef is name of the authentication 21394 secret for RBDUser. If provided overrides 21395 keyring. Default is nil. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it' 21396 properties: 21397 name: 21398 description: 'Name of the referent. More 21399 info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 21400 TODO: Add other useful fields. apiVersion, 21401 kind, uid?' 21402 type: string 21403 type: object 21404 user: 21405 description: 'user is the rados user name. 21406 Default is admin. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it' 21407 type: string 21408 required: 21409 - image 21410 - monitors 21411 type: object 21412 scaleIO: 21413 description: scaleIO represents a ScaleIO persistent 21414 volume attached and mounted on Kubernetes nodes. 21415 properties: 21416 fsType: 21417 description: fsType is the filesystem type 21418 to mount. Must be a filesystem type supported 21419 by the host operating system. Ex. "ext4", 21420 "xfs", "ntfs". Default is "xfs". 21421 type: string 21422 gateway: 21423 description: gateway is the host address of 21424 the ScaleIO API Gateway. 21425 type: string 21426 protectionDomain: 21427 description: protectionDomain is the name 21428 of the ScaleIO Protection Domain for the 21429 configured storage. 21430 type: string 21431 readOnly: 21432 description: readOnly Defaults to false (read/write). 21433 ReadOnly here will force the ReadOnly setting 21434 in VolumeMounts. 21435 type: boolean 21436 secretRef: 21437 description: secretRef references to the secret 21438 for ScaleIO user and other sensitive information. 21439 If this is not provided, Login operation 21440 will fail. 21441 properties: 21442 name: 21443 description: 'Name of the referent. More 21444 info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 21445 TODO: Add other useful fields. apiVersion, 21446 kind, uid?' 21447 type: string 21448 type: object 21449 sslEnabled: 21450 description: sslEnabled Flag enable/disable 21451 SSL communication with Gateway, default 21452 false 21453 type: boolean 21454 storageMode: 21455 description: storageMode indicates whether 21456 the storage for a volume should be ThickProvisioned 21457 or ThinProvisioned. Default is ThinProvisioned. 21458 type: string 21459 storagePool: 21460 description: storagePool is the ScaleIO Storage 21461 Pool associated with the protection domain. 21462 type: string 21463 system: 21464 description: system is the name of the storage 21465 system as configured in ScaleIO. 21466 type: string 21467 volumeName: 21468 description: volumeName is the name of a volume 21469 already created in the ScaleIO system that 21470 is associated with this volume source. 21471 type: string 21472 required: 21473 - gateway 21474 - secretRef 21475 - system 21476 type: object 21477 secret: 21478 description: 'secret represents a secret that 21479 should populate this volume. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret' 21480 properties: 21481 defaultMode: 21482 description: 'defaultMode is Optional: mode 21483 bits used to set permissions on created 21484 files by default. Must be an octal value 21485 between 0000 and 0777 or a decimal value 21486 between 0 and 511. YAML accepts both octal 21487 and decimal values, JSON requires decimal 21488 values for mode bits. Defaults to 0644. 21489 Directories within the path are not affected 21490 by this setting. This might be in conflict 21491 with other options that affect the file 21492 mode, like fsGroup, and the result can be 21493 other mode bits set.' 21494 format: int32 21495 type: integer 21496 items: 21497 description: items If unspecified, each key-value 21498 pair in the Data field of the referenced 21499 Secret will be projected into the volume 21500 as a file whose name is the key and content 21501 is the value. If specified, the listed keys 21502 will be projected into the specified paths, 21503 and unlisted keys will not be present. If 21504 a key is specified which is not present 21505 in the Secret, the volume setup will error 21506 unless it is marked optional. Paths must 21507 be relative and may not contain the '..' 21508 path or start with '..'. 21509 items: 21510 description: Maps a string key to a path 21511 within a volume. 21512 properties: 21513 key: 21514 description: key is the key to project. 21515 type: string 21516 mode: 21517 description: 'mode is Optional: mode 21518 bits used to set permissions on this 21519 file. Must be an octal value between 21520 0000 and 0777 or a decimal value between 21521 0 and 511. YAML accepts both octal 21522 and decimal values, JSON requires 21523 decimal values for mode bits. If not 21524 specified, the volume defaultMode 21525 will be used. This might be in conflict 21526 with other options that affect the 21527 file mode, like fsGroup, and the result 21528 can be other mode bits set.' 21529 format: int32 21530 type: integer 21531 path: 21532 description: path is the relative path 21533 of the file to map the key to. May 21534 not be an absolute path. May not contain 21535 the path element '..'. May not start 21536 with the string '..'. 21537 type: string 21538 required: 21539 - key 21540 - path 21541 type: object 21542 type: array 21543 optional: 21544 description: optional field specify whether 21545 the Secret or its keys must be defined 21546 type: boolean 21547 secretName: 21548 description: 'secretName is the name of the 21549 secret in the pod''s namespace to use. More 21550 info: https://kubernetes.io/docs/concepts/storage/volumes#secret' 21551 type: string 21552 type: object 21553 storageos: 21554 description: storageOS represents a StorageOS 21555 volume attached and mounted on Kubernetes nodes. 21556 properties: 21557 fsType: 21558 description: fsType is the filesystem type 21559 to mount. Must be a filesystem type supported 21560 by the host operating system. Ex. "ext4", 21561 "xfs", "ntfs". Implicitly inferred to be 21562 "ext4" if unspecified. 21563 type: string 21564 readOnly: 21565 description: readOnly defaults to false (read/write). 21566 ReadOnly here will force the ReadOnly setting 21567 in VolumeMounts. 21568 type: boolean 21569 secretRef: 21570 description: secretRef specifies the secret 21571 to use for obtaining the StorageOS API credentials. If 21572 not specified, default values will be attempted. 21573 properties: 21574 name: 21575 description: 'Name of the referent. More 21576 info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 21577 TODO: Add other useful fields. apiVersion, 21578 kind, uid?' 21579 type: string 21580 type: object 21581 volumeName: 21582 description: volumeName is the human-readable 21583 name of the StorageOS volume. Volume names 21584 are only unique within a namespace. 21585 type: string 21586 volumeNamespace: 21587 description: volumeNamespace specifies the 21588 scope of the volume within StorageOS. If 21589 no namespace is specified then the Pod's 21590 namespace will be used. This allows the 21591 Kubernetes name scoping to be mirrored within 21592 StorageOS for tighter integration. Set VolumeName 21593 to any name to override the default behaviour. 21594 Set to "default" if you are not using namespaces 21595 within StorageOS. Namespaces that do not 21596 pre-exist within StorageOS will be created. 21597 type: string 21598 type: object 21599 vsphereVolume: 21600 description: vsphereVolume represents a vSphere 21601 volume attached and mounted on kubelets host 21602 machine 21603 properties: 21604 fsType: 21605 description: fsType is filesystem type to 21606 mount. Must be a filesystem type supported 21607 by the host operating system. Ex. "ext4", 21608 "xfs", "ntfs". Implicitly inferred to be 21609 "ext4" if unspecified. 21610 type: string 21611 storagePolicyID: 21612 description: storagePolicyID is the storage 21613 Policy Based Management (SPBM) profile ID 21614 associated with the StoragePolicyName. 21615 type: string 21616 storagePolicyName: 21617 description: storagePolicyName is the storage 21618 Policy Based Management (SPBM) profile name. 21619 type: string 21620 volumePath: 21621 description: volumePath is the path that identifies 21622 vSphere volume vmdk 21623 type: string 21624 required: 21625 - volumePath 21626 type: object 21627 required: 21628 - name 21629 type: object 21630 type: array 21631 x-kubernetes-list-type: atomic 21632 type: object 21633 taskServiceAccountName: 21634 type: string 21635 type: object 21636 type: array 21637 x-kubernetes-list-type: atomic 21638 timeout: 21639 description: 'Timeout Deprecated: use pipelineRunSpec.Timeouts.Pipeline 21640 instead Time after which the Pipeline times out. Defaults to 21641 never. Refer to Go''s ParseDuration documentation for expected 21642 format: https://golang.org/pkg/time/#ParseDuration' 21643 type: string 21644 timeouts: 21645 description: Time after which the Pipeline times out. Currently 21646 three keys are accepted in the map pipeline, tasks and finally 21647 with Timeouts.pipeline >= Timeouts.tasks + Timeouts.finally 21648 properties: 21649 finally: 21650 description: Finally sets the maximum allowed duration of 21651 this pipeline's finally 21652 type: string 21653 pipeline: 21654 description: Pipeline sets the maximum allowed duration for 21655 execution of the entire pipeline. The sum of individual 21656 timeouts for tasks and finally must not exceed this value. 21657 type: string 21658 tasks: 21659 description: Tasks sets the maximum allowed duration of this 21660 pipeline's tasks 21661 type: string 21662 type: object 21663 workspaces: 21664 description: Workspaces holds a set of workspace bindings that 21665 must match names with those declared in the pipeline. 21666 items: 21667 description: WorkspaceBinding maps a Task's declared workspace 21668 to a Volume. 21669 properties: 21670 configMap: 21671 description: ConfigMap represents a configMap that should 21672 populate this workspace. 21673 properties: 21674 defaultMode: 21675 description: 'defaultMode is optional: mode bits used 21676 to set permissions on created files by default. Must 21677 be an octal value between 0000 and 0777 or a decimal 21678 value between 0 and 511. YAML accepts both octal and 21679 decimal values, JSON requires decimal values for mode 21680 bits. Defaults to 0644. Directories within the path 21681 are not affected by this setting. This might be in 21682 conflict with other options that affect the file mode, 21683 like fsGroup, and the result can be other mode bits 21684 set.' 21685 format: int32 21686 type: integer 21687 items: 21688 description: items if unspecified, each key-value pair 21689 in the Data field of the referenced ConfigMap will 21690 be projected into the volume as a file whose name 21691 is the key and content is the value. If specified, 21692 the listed keys will be projected into the specified 21693 paths, and unlisted keys will not be present. If a 21694 key is specified which is not present in the ConfigMap, 21695 the volume setup will error unless it is marked optional. 21696 Paths must be relative and may not contain the '..' 21697 path or start with '..'. 21698 items: 21699 description: Maps a string key to a path within a 21700 volume. 21701 properties: 21702 key: 21703 description: key is the key to project. 21704 type: string 21705 mode: 21706 description: 'mode is Optional: mode bits used 21707 to set permissions on this file. Must be an 21708 octal value between 0000 and 0777 or a decimal 21709 value between 0 and 511. YAML accepts both octal 21710 and decimal values, JSON requires decimal values 21711 for mode bits. If not specified, the volume 21712 defaultMode will be used. This might be in conflict 21713 with other options that affect the file mode, 21714 like fsGroup, and the result can be other mode 21715 bits set.' 21716 format: int32 21717 type: integer 21718 path: 21719 description: path is the relative path of the 21720 file to map the key to. May not be an absolute 21721 path. May not contain the path element '..'. 21722 May not start with the string '..'. 21723 type: string 21724 required: 21725 - key 21726 - path 21727 type: object 21728 type: array 21729 name: 21730 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 21731 TODO: Add other useful fields. apiVersion, kind, uid?' 21732 type: string 21733 optional: 21734 description: optional specify whether the ConfigMap 21735 or its keys must be defined 21736 type: boolean 21737 type: object 21738 csi: 21739 description: CSI (Container Storage Interface) represents 21740 ephemeral storage that is handled by certain external 21741 CSI drivers. 21742 properties: 21743 driver: 21744 description: driver is the name of the CSI driver that 21745 handles this volume. Consult with your admin for the 21746 correct name as registered in the cluster. 21747 type: string 21748 fsType: 21749 description: fsType to mount. Ex. "ext4", "xfs", "ntfs". 21750 If not provided, the empty value is passed to the 21751 associated CSI driver which will determine the default 21752 filesystem to apply. 21753 type: string 21754 nodePublishSecretRef: 21755 description: nodePublishSecretRef is a reference to 21756 the secret object containing sensitive information 21757 to pass to the CSI driver to complete the CSI NodePublishVolume 21758 and NodeUnpublishVolume calls. This field is optional, 21759 and may be empty if no secret is required. If the 21760 secret object contains more than one secret, all secret 21761 references are passed. 21762 properties: 21763 name: 21764 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 21765 TODO: Add other useful fields. apiVersion, kind, 21766 uid?' 21767 type: string 21768 type: object 21769 readOnly: 21770 description: readOnly specifies a read-only configuration 21771 for the volume. Defaults to false (read/write). 21772 type: boolean 21773 volumeAttributes: 21774 additionalProperties: 21775 type: string 21776 description: volumeAttributes stores driver-specific 21777 properties that are passed to the CSI driver. Consult 21778 your driver's documentation for supported values. 21779 type: object 21780 required: 21781 - driver 21782 type: object 21783 emptyDir: 21784 description: 'EmptyDir represents a temporary directory 21785 that shares a Task''s lifetime. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir 21786 Either this OR PersistentVolumeClaim can be used.' 21787 properties: 21788 medium: 21789 description: 'medium represents what type of storage 21790 medium should back this directory. The default is 21791 "" which means to use the node''s default medium. 21792 Must be an empty string (default) or Memory. More 21793 info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir' 21794 type: string 21795 sizeLimit: 21796 anyOf: 21797 - type: integer 21798 - type: string 21799 description: 'sizeLimit is the total amount of local 21800 storage required for this EmptyDir volume. The size 21801 limit is also applicable for memory medium. The maximum 21802 usage on memory medium EmptyDir would be the minimum 21803 value between the SizeLimit specified here and the 21804 sum of memory limits of all containers in a pod. The 21805 default is nil which means that the limit is undefined. 21806 More info: http://kubernetes.io/docs/user-guide/volumes#emptydir' 21807 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 21808 x-kubernetes-int-or-string: true 21809 type: object 21810 name: 21811 description: Name is the name of the workspace populated 21812 by the volume. 21813 type: string 21814 persistentVolumeClaim: 21815 description: PersistentVolumeClaimVolumeSource represents 21816 a reference to a PersistentVolumeClaim in the same namespace. 21817 Either this OR EmptyDir can be used. 21818 properties: 21819 claimName: 21820 description: 'claimName is the name of a PersistentVolumeClaim 21821 in the same namespace as the pod using this volume. 21822 More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims' 21823 type: string 21824 readOnly: 21825 description: readOnly Will force the ReadOnly setting 21826 in VolumeMounts. Default false. 21827 type: boolean 21828 required: 21829 - claimName 21830 type: object 21831 projected: 21832 description: Projected represents a projected volume that 21833 should populate this workspace. 21834 properties: 21835 defaultMode: 21836 description: defaultMode are the mode bits used to set 21837 permissions on created files by default. Must be an 21838 octal value between 0000 and 0777 or a decimal value 21839 between 0 and 511. YAML accepts both octal and decimal 21840 values, JSON requires decimal values for mode bits. 21841 Directories within the path are not affected by this 21842 setting. This might be in conflict with other options 21843 that affect the file mode, like fsGroup, and the result 21844 can be other mode bits set. 21845 format: int32 21846 type: integer 21847 sources: 21848 description: sources is the list of volume projections 21849 items: 21850 description: Projection that may be projected along 21851 with other supported volume types 21852 properties: 21853 configMap: 21854 description: configMap information about the configMap 21855 data to project 21856 properties: 21857 items: 21858 description: items if unspecified, each key-value 21859 pair in the Data field of the referenced 21860 ConfigMap will be projected into the volume 21861 as a file whose name is the key and content 21862 is the value. If specified, the listed keys 21863 will be projected into the specified paths, 21864 and unlisted keys will not be present. If 21865 a key is specified which is not present 21866 in the ConfigMap, the volume setup will 21867 error unless it is marked optional. Paths 21868 must be relative and may not contain the 21869 '..' path or start with '..'. 21870 items: 21871 description: Maps a string key to a path 21872 within a volume. 21873 properties: 21874 key: 21875 description: key is the key to project. 21876 type: string 21877 mode: 21878 description: 'mode is Optional: mode 21879 bits used to set permissions on this 21880 file. Must be an octal value between 21881 0000 and 0777 or a decimal value between 21882 0 and 511. YAML accepts both octal 21883 and decimal values, JSON requires 21884 decimal values for mode bits. If not 21885 specified, the volume defaultMode 21886 will be used. This might be in conflict 21887 with other options that affect the 21888 file mode, like fsGroup, and the result 21889 can be other mode bits set.' 21890 format: int32 21891 type: integer 21892 path: 21893 description: path is the relative path 21894 of the file to map the key to. May 21895 not be an absolute path. May not contain 21896 the path element '..'. May not start 21897 with the string '..'. 21898 type: string 21899 required: 21900 - key 21901 - path 21902 type: object 21903 type: array 21904 name: 21905 description: 'Name of the referent. More info: 21906 https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 21907 TODO: Add other useful fields. apiVersion, 21908 kind, uid?' 21909 type: string 21910 optional: 21911 description: optional specify whether the 21912 ConfigMap or its keys must be defined 21913 type: boolean 21914 type: object 21915 downwardAPI: 21916 description: downwardAPI information about the 21917 downwardAPI data to project 21918 properties: 21919 items: 21920 description: Items is a list of DownwardAPIVolume 21921 file 21922 items: 21923 description: DownwardAPIVolumeFile represents 21924 information to create the file containing 21925 the pod field 21926 properties: 21927 fieldRef: 21928 description: 'Required: Selects a field 21929 of the pod: only annotations, labels, 21930 name and namespace are supported.' 21931 properties: 21932 apiVersion: 21933 description: Version of the schema 21934 the FieldPath is written in terms 21935 of, defaults to "v1". 21936 type: string 21937 fieldPath: 21938 description: Path of the field to 21939 select in the specified API version. 21940 type: string 21941 required: 21942 - fieldPath 21943 type: object 21944 mode: 21945 description: 'Optional: mode bits used 21946 to set permissions on this file, must 21947 be an octal value between 0000 and 21948 0777 or a decimal value between 0 21949 and 511. YAML accepts both octal and 21950 decimal values, JSON requires decimal 21951 values for mode bits. If not specified, 21952 the volume defaultMode will be used. 21953 This might be in conflict with other 21954 options that affect the file mode, 21955 like fsGroup, and the result can be 21956 other mode bits set.' 21957 format: int32 21958 type: integer 21959 path: 21960 description: 'Required: Path is the 21961 relative path name of the file to 21962 be created. Must not be absolute or 21963 contain the ''..'' path. Must be utf-8 21964 encoded. The first item of the relative 21965 path must not start with ''..''' 21966 type: string 21967 resourceFieldRef: 21968 description: 'Selects a resource of 21969 the container: only resources limits 21970 and requests (limits.cpu, limits.memory, 21971 requests.cpu and requests.memory) 21972 are currently supported.' 21973 properties: 21974 containerName: 21975 description: 'Container name: required 21976 for volumes, optional for env 21977 vars' 21978 type: string 21979 divisor: 21980 anyOf: 21981 - type: integer 21982 - type: string 21983 description: Specifies the output 21984 format of the exposed resources, 21985 defaults to "1" 21986 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 21987 x-kubernetes-int-or-string: true 21988 resource: 21989 description: 'Required: resource 21990 to select' 21991 type: string 21992 required: 21993 - resource 21994 type: object 21995 required: 21996 - path 21997 type: object 21998 type: array 21999 type: object 22000 secret: 22001 description: secret information about the secret 22002 data to project 22003 properties: 22004 items: 22005 description: items if unspecified, each key-value 22006 pair in the Data field of the referenced 22007 Secret will be projected into the volume 22008 as a file whose name is the key and content 22009 is the value. If specified, the listed keys 22010 will be projected into the specified paths, 22011 and unlisted keys will not be present. If 22012 a key is specified which is not present 22013 in the Secret, the volume setup will error 22014 unless it is marked optional. Paths must 22015 be relative and may not contain the '..' 22016 path or start with '..'. 22017 items: 22018 description: Maps a string key to a path 22019 within a volume. 22020 properties: 22021 key: 22022 description: key is the key to project. 22023 type: string 22024 mode: 22025 description: 'mode is Optional: mode 22026 bits used to set permissions on this 22027 file. Must be an octal value between 22028 0000 and 0777 or a decimal value between 22029 0 and 511. YAML accepts both octal 22030 and decimal values, JSON requires 22031 decimal values for mode bits. If not 22032 specified, the volume defaultMode 22033 will be used. This might be in conflict 22034 with other options that affect the 22035 file mode, like fsGroup, and the result 22036 can be other mode bits set.' 22037 format: int32 22038 type: integer 22039 path: 22040 description: path is the relative path 22041 of the file to map the key to. May 22042 not be an absolute path. May not contain 22043 the path element '..'. May not start 22044 with the string '..'. 22045 type: string 22046 required: 22047 - key 22048 - path 22049 type: object 22050 type: array 22051 name: 22052 description: 'Name of the referent. More info: 22053 https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 22054 TODO: Add other useful fields. apiVersion, 22055 kind, uid?' 22056 type: string 22057 optional: 22058 description: optional field specify whether 22059 the Secret or its key must be defined 22060 type: boolean 22061 type: object 22062 serviceAccountToken: 22063 description: serviceAccountToken is information 22064 about the serviceAccountToken data to project 22065 properties: 22066 audience: 22067 description: audience is the intended audience 22068 of the token. A recipient of a token must 22069 identify itself with an identifier specified 22070 in the audience of the token, and otherwise 22071 should reject the token. The audience defaults 22072 to the identifier of the apiserver. 22073 type: string 22074 expirationSeconds: 22075 description: expirationSeconds is the requested 22076 duration of validity of the service account 22077 token. As the token approaches expiration, 22078 the kubelet volume plugin will proactively 22079 rotate the service account token. The kubelet 22080 will start trying to rotate the token if 22081 the token is older than 80 percent of its 22082 time to live or if the token is older than 22083 24 hours.Defaults to 1 hour and must be 22084 at least 10 minutes. 22085 format: int64 22086 type: integer 22087 path: 22088 description: path is the path relative to 22089 the mount point of the file to project the 22090 token into. 22091 type: string 22092 required: 22093 - path 22094 type: object 22095 type: object 22096 type: array 22097 type: object 22098 secret: 22099 description: Secret represents a secret that should populate 22100 this workspace. 22101 properties: 22102 defaultMode: 22103 description: 'defaultMode is Optional: mode bits used 22104 to set permissions on created files by default. Must 22105 be an octal value between 0000 and 0777 or a decimal 22106 value between 0 and 511. YAML accepts both octal and 22107 decimal values, JSON requires decimal values for mode 22108 bits. Defaults to 0644. Directories within the path 22109 are not affected by this setting. This might be in 22110 conflict with other options that affect the file mode, 22111 like fsGroup, and the result can be other mode bits 22112 set.' 22113 format: int32 22114 type: integer 22115 items: 22116 description: items If unspecified, each key-value pair 22117 in the Data field of the referenced Secret will be 22118 projected into the volume as a file whose name is 22119 the key and content is the value. If specified, the 22120 listed keys will be projected into the specified paths, 22121 and unlisted keys will not be present. If a key is 22122 specified which is not present in the Secret, the 22123 volume setup will error unless it is marked optional. 22124 Paths must be relative and may not contain the '..' 22125 path or start with '..'. 22126 items: 22127 description: Maps a string key to a path within a 22128 volume. 22129 properties: 22130 key: 22131 description: key is the key to project. 22132 type: string 22133 mode: 22134 description: 'mode is Optional: mode bits used 22135 to set permissions on this file. Must be an 22136 octal value between 0000 and 0777 or a decimal 22137 value between 0 and 511. YAML accepts both octal 22138 and decimal values, JSON requires decimal values 22139 for mode bits. If not specified, the volume 22140 defaultMode will be used. This might be in conflict 22141 with other options that affect the file mode, 22142 like fsGroup, and the result can be other mode 22143 bits set.' 22144 format: int32 22145 type: integer 22146 path: 22147 description: path is the relative path of the 22148 file to map the key to. May not be an absolute 22149 path. May not contain the path element '..'. 22150 May not start with the string '..'. 22151 type: string 22152 required: 22153 - key 22154 - path 22155 type: object 22156 type: array 22157 optional: 22158 description: optional field specify whether the Secret 22159 or its keys must be defined 22160 type: boolean 22161 secretName: 22162 description: 'secretName is the name of the secret in 22163 the pod''s namespace to use. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret' 22164 type: string 22165 type: object 22166 subPath: 22167 description: SubPath is optionally a directory on the volume 22168 which should be used for this binding (i.e. the volume 22169 will be mounted at this sub directory). 22170 type: string 22171 volumeClaimTemplate: 22172 description: VolumeClaimTemplate is a template for a claim 22173 that will be created in the same namespace. The PipelineRun 22174 controller is responsible for creating a unique claim 22175 for each instance of PipelineRun. 22176 properties: 22177 apiVersion: 22178 description: 'APIVersion defines the versioned schema 22179 of this representation of an object. Servers should 22180 convert recognized schemas to the latest internal 22181 value, and may reject unrecognized values. More info: 22182 https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' 22183 type: string 22184 kind: 22185 description: 'Kind is a string value representing the 22186 REST resource this object represents. Servers may 22187 infer this from the endpoint the client submits requests 22188 to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 22189 type: string 22190 metadata: 22191 description: 'Standard object''s metadata. More info: 22192 https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata' 22193 type: object 22194 spec: 22195 description: 'spec defines the desired characteristics 22196 of a volume requested by a pod author. More info: 22197 https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims' 22198 properties: 22199 accessModes: 22200 description: 'accessModes contains the desired access 22201 modes the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1' 22202 items: 22203 type: string 22204 type: array 22205 dataSource: 22206 description: 'dataSource field can be used to specify 22207 either: * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot) 22208 * An existing PVC (PersistentVolumeClaim) If the 22209 provisioner or an external controller can support 22210 the specified data source, it will create a new 22211 volume based on the contents of the specified 22212 data source. If the AnyVolumeDataSource feature 22213 gate is enabled, this field will always have the 22214 same contents as the DataSourceRef field.' 22215 properties: 22216 apiGroup: 22217 description: APIGroup is the group for the resource 22218 being referenced. If APIGroup is not specified, 22219 the specified Kind must be in the core API 22220 group. For any other third-party types, APIGroup 22221 is required. 22222 type: string 22223 kind: 22224 description: Kind is the type of resource being 22225 referenced 22226 type: string 22227 name: 22228 description: Name is the name of resource being 22229 referenced 22230 type: string 22231 required: 22232 - kind 22233 - name 22234 type: object 22235 dataSourceRef: 22236 description: 'dataSourceRef specifies the object 22237 from which to populate the volume with data, if 22238 a non-empty volume is desired. This may be any 22239 local object from a non-empty API group (non core 22240 object) or a PersistentVolumeClaim object. When 22241 this field is specified, volume binding will only 22242 succeed if the type of the specified object matches 22243 some installed volume populator or dynamic provisioner. 22244 This field will replace the functionality of the 22245 DataSource field and as such if both fields are 22246 non-empty, they must have the same value. For 22247 backwards compatibility, both fields (DataSource 22248 and DataSourceRef) will be set to the same value 22249 automatically if one of them is empty and the 22250 other is non-empty. There are two important differences 22251 between DataSource and DataSourceRef: * While 22252 DataSource only allows two specific types of objects, 22253 DataSourceRef allows any non-core object, as 22254 well as PersistentVolumeClaim objects. * While 22255 DataSource ignores disallowed values (dropping 22256 them), DataSourceRef preserves all values, and 22257 generates an error if a disallowed value is specified. 22258 (Beta) Using this field requires the AnyVolumeDataSource 22259 feature gate to be enabled.' 22260 properties: 22261 apiGroup: 22262 description: APIGroup is the group for the resource 22263 being referenced. If APIGroup is not specified, 22264 the specified Kind must be in the core API 22265 group. For any other third-party types, APIGroup 22266 is required. 22267 type: string 22268 kind: 22269 description: Kind is the type of resource being 22270 referenced 22271 type: string 22272 name: 22273 description: Name is the name of resource being 22274 referenced 22275 type: string 22276 required: 22277 - kind 22278 - name 22279 type: object 22280 resources: 22281 description: 'resources represents the minimum resources 22282 the volume should have. If RecoverVolumeExpansionFailure 22283 feature is enabled users are allowed to specify 22284 resource requirements that are lower than previous 22285 value but must still be higher than capacity recorded 22286 in the status field of the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources' 22287 properties: 22288 limits: 22289 additionalProperties: 22290 anyOf: 22291 - type: integer 22292 - type: string 22293 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 22294 x-kubernetes-int-or-string: true 22295 description: 'Limits describes the maximum amount 22296 of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' 22297 type: object 22298 requests: 22299 additionalProperties: 22300 anyOf: 22301 - type: integer 22302 - type: string 22303 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 22304 x-kubernetes-int-or-string: true 22305 description: 'Requests describes the minimum 22306 amount of compute resources required. If Requests 22307 is omitted for a container, it defaults to 22308 Limits if that is explicitly specified, otherwise 22309 to an implementation-defined value. More info: 22310 https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' 22311 type: object 22312 type: object 22313 selector: 22314 description: selector is a label query over volumes 22315 to consider for binding. 22316 properties: 22317 matchExpressions: 22318 description: matchExpressions is a list of label 22319 selector requirements. The requirements are 22320 ANDed. 22321 items: 22322 description: A label selector requirement 22323 is a selector that contains values, a key, 22324 and an operator that relates the key and 22325 values. 22326 properties: 22327 key: 22328 description: key is the label key that 22329 the selector applies to. 22330 type: string 22331 operator: 22332 description: operator represents a key's 22333 relationship to a set of values. Valid 22334 operators are In, NotIn, Exists and 22335 DoesNotExist. 22336 type: string 22337 values: 22338 description: values is an array of string 22339 values. If the operator is In or NotIn, 22340 the values array must be non-empty. 22341 If the operator is Exists or DoesNotExist, 22342 the values array must be empty. This 22343 array is replaced during a strategic 22344 merge patch. 22345 items: 22346 type: string 22347 type: array 22348 required: 22349 - key 22350 - operator 22351 type: object 22352 type: array 22353 matchLabels: 22354 additionalProperties: 22355 type: string 22356 description: matchLabels is a map of {key,value} 22357 pairs. A single {key,value} in the matchLabels 22358 map is equivalent to an element of matchExpressions, 22359 whose key field is "key", the operator is 22360 "In", and the values array contains only "value". 22361 The requirements are ANDed. 22362 type: object 22363 type: object 22364 storageClassName: 22365 description: 'storageClassName is the name of the 22366 StorageClass required by the claim. More info: 22367 https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1' 22368 type: string 22369 volumeMode: 22370 description: volumeMode defines what type of volume 22371 is required by the claim. Value of Filesystem 22372 is implied when not included in claim spec. 22373 type: string 22374 volumeName: 22375 description: volumeName is the binding reference 22376 to the PersistentVolume backing this claim. 22377 type: string 22378 type: object 22379 status: 22380 description: 'status represents the current information/status 22381 of a persistent volume claim. Read-only. More info: 22382 https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims' 22383 properties: 22384 accessModes: 22385 description: 'accessModes contains the actual access 22386 modes the volume backing the PVC has. More info: 22387 https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1' 22388 items: 22389 type: string 22390 type: array 22391 allocatedResources: 22392 additionalProperties: 22393 anyOf: 22394 - type: integer 22395 - type: string 22396 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 22397 x-kubernetes-int-or-string: true 22398 description: allocatedResources is the storage resource 22399 within AllocatedResources tracks the capacity 22400 allocated to a PVC. It may be larger than the 22401 actual capacity when a volume expansion operation 22402 is requested. For storage quota, the larger value 22403 from allocatedResources and PVC.spec.resources 22404 is used. If allocatedResources is not set, PVC.spec.resources 22405 alone is used for quota calculation. If a volume 22406 expansion capacity request is lowered, allocatedResources 22407 is only lowered if there are no expansion operations 22408 in progress and if the actual volume capacity 22409 is equal or lower than the requested capacity. 22410 This is an alpha field and requires enabling RecoverVolumeExpansionFailure 22411 feature. 22412 type: object 22413 capacity: 22414 additionalProperties: 22415 anyOf: 22416 - type: integer 22417 - type: string 22418 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 22419 x-kubernetes-int-or-string: true 22420 description: capacity represents the actual resources 22421 of the underlying volume. 22422 type: object 22423 conditions: 22424 description: conditions is the current Condition 22425 of persistent volume claim. If underlying persistent 22426 volume is being resized then the Condition will 22427 be set to 'ResizeStarted'. 22428 items: 22429 description: PersistentVolumeClaimCondition contails 22430 details about state of pvc 22431 properties: 22432 lastProbeTime: 22433 description: lastProbeTime is the time we 22434 probed the condition. 22435 format: date-time 22436 type: string 22437 lastTransitionTime: 22438 description: lastTransitionTime is the time 22439 the condition transitioned from one status 22440 to another. 22441 format: date-time 22442 type: string 22443 message: 22444 description: message is the human-readable 22445 message indicating details about last transition. 22446 type: string 22447 reason: 22448 description: reason is a unique, this should 22449 be a short, machine understandable string 22450 that gives the reason for condition's last 22451 transition. If it reports "ResizeStarted" 22452 that means the underlying persistent volume 22453 is being resized. 22454 type: string 22455 status: 22456 type: string 22457 type: 22458 description: PersistentVolumeClaimConditionType 22459 is a valid value of PersistentVolumeClaimCondition.Type 22460 type: string 22461 required: 22462 - status 22463 - type 22464 type: object 22465 type: array 22466 phase: 22467 description: phase represents the current phase 22468 of PersistentVolumeClaim. 22469 type: string 22470 resizeStatus: 22471 description: resizeStatus stores status of resize 22472 operation. ResizeStatus is not set by default 22473 but when expansion is complete resizeStatus is 22474 set to empty string by resize controller or kubelet. 22475 This is an alpha field and requires enabling RecoverVolumeExpansionFailure 22476 feature. 22477 type: string 22478 type: object 22479 type: object 22480 required: 22481 - name 22482 type: object 22483 type: array 22484 x-kubernetes-list-type: atomic 22485 type: object 22486 pod_spec: 22487 description: PodSpec provides the basis for running the test under 22488 a Kubernetes agent 22489 properties: 22490 activeDeadlineSeconds: 22491 description: Optional duration in seconds the pod may be active 22492 on the node relative to StartTime before the system will actively 22493 try to mark it failed and kill associated containers. Value 22494 must be a positive integer. 22495 format: int64 22496 type: integer 22497 affinity: 22498 description: If specified, the pod's scheduling constraints 22499 properties: 22500 nodeAffinity: 22501 description: Describes node affinity scheduling rules for 22502 the pod. 22503 properties: 22504 preferredDuringSchedulingIgnoredDuringExecution: 22505 description: The scheduler will prefer to schedule pods 22506 to nodes that satisfy the affinity expressions specified 22507 by this field, but it may choose a node that violates 22508 one or more of the expressions. The node that is most 22509 preferred is the one with the greatest sum of weights, 22510 i.e. for each node that meets all of the scheduling 22511 requirements (resource request, requiredDuringScheduling 22512 affinity expressions, etc.), compute a sum by iterating 22513 through the elements of this field and adding "weight" 22514 to the sum if the node matches the corresponding matchExpressions; 22515 the node(s) with the highest sum are the most preferred. 22516 items: 22517 description: An empty preferred scheduling term matches 22518 all objects with implicit weight 0 (i.e. it's a no-op). 22519 A null preferred scheduling term matches no objects 22520 (i.e. is also a no-op). 22521 properties: 22522 preference: 22523 description: A node selector term, associated with 22524 the corresponding weight. 22525 properties: 22526 matchExpressions: 22527 description: A list of node selector requirements 22528 by node's labels. 22529 items: 22530 description: A node selector requirement is 22531 a selector that contains values, a key, 22532 and an operator that relates the key and 22533 values. 22534 properties: 22535 key: 22536 description: The label key that the selector 22537 applies to. 22538 type: string 22539 operator: 22540 description: Represents a key's relationship 22541 to a set of values. Valid operators 22542 are In, NotIn, Exists, DoesNotExist. 22543 Gt, and Lt. 22544 type: string 22545 values: 22546 description: An array of string values. 22547 If the operator is In or NotIn, the 22548 values array must be non-empty. If the 22549 operator is Exists or DoesNotExist, 22550 the values array must be empty. If the 22551 operator is Gt or Lt, the values array 22552 must have a single element, which will 22553 be interpreted as an integer. This array 22554 is replaced during a strategic merge 22555 patch. 22556 items: 22557 type: string 22558 type: array 22559 required: 22560 - key 22561 - operator 22562 type: object 22563 type: array 22564 matchFields: 22565 description: A list of node selector requirements 22566 by node's fields. 22567 items: 22568 description: A node selector requirement is 22569 a selector that contains values, a key, 22570 and an operator that relates the key and 22571 values. 22572 properties: 22573 key: 22574 description: The label key that the selector 22575 applies to. 22576 type: string 22577 operator: 22578 description: Represents a key's relationship 22579 to a set of values. Valid operators 22580 are In, NotIn, Exists, DoesNotExist. 22581 Gt, and Lt. 22582 type: string 22583 values: 22584 description: An array of string values. 22585 If the operator is In or NotIn, the 22586 values array must be non-empty. If the 22587 operator is Exists or DoesNotExist, 22588 the values array must be empty. If the 22589 operator is Gt or Lt, the values array 22590 must have a single element, which will 22591 be interpreted as an integer. This array 22592 is replaced during a strategic merge 22593 patch. 22594 items: 22595 type: string 22596 type: array 22597 required: 22598 - key 22599 - operator 22600 type: object 22601 type: array 22602 type: object 22603 weight: 22604 description: Weight associated with matching the 22605 corresponding nodeSelectorTerm, in the range 1-100. 22606 format: int32 22607 type: integer 22608 required: 22609 - preference 22610 - weight 22611 type: object 22612 type: array 22613 requiredDuringSchedulingIgnoredDuringExecution: 22614 description: If the affinity requirements specified by 22615 this field are not met at scheduling time, the pod will 22616 not be scheduled onto the node. If the affinity requirements 22617 specified by this field cease to be met at some point 22618 during pod execution (e.g. due to an update), the system 22619 may or may not try to eventually evict the pod from 22620 its node. 22621 properties: 22622 nodeSelectorTerms: 22623 description: Required. A list of node selector terms. 22624 The terms are ORed. 22625 items: 22626 description: A null or empty node selector term 22627 matches no objects. The requirements of them are 22628 ANDed. The TopologySelectorTerm type implements 22629 a subset of the NodeSelectorTerm. 22630 properties: 22631 matchExpressions: 22632 description: A list of node selector requirements 22633 by node's labels. 22634 items: 22635 description: A node selector requirement is 22636 a selector that contains values, a key, 22637 and an operator that relates the key and 22638 values. 22639 properties: 22640 key: 22641 description: The label key that the selector 22642 applies to. 22643 type: string 22644 operator: 22645 description: Represents a key's relationship 22646 to a set of values. Valid operators 22647 are In, NotIn, Exists, DoesNotExist. 22648 Gt, and Lt. 22649 type: string 22650 values: 22651 description: An array of string values. 22652 If the operator is In or NotIn, the 22653 values array must be non-empty. If the 22654 operator is Exists or DoesNotExist, 22655 the values array must be empty. If the 22656 operator is Gt or Lt, the values array 22657 must have a single element, which will 22658 be interpreted as an integer. This array 22659 is replaced during a strategic merge 22660 patch. 22661 items: 22662 type: string 22663 type: array 22664 required: 22665 - key 22666 - operator 22667 type: object 22668 type: array 22669 matchFields: 22670 description: A list of node selector requirements 22671 by node's fields. 22672 items: 22673 description: A node selector requirement is 22674 a selector that contains values, a key, 22675 and an operator that relates the key and 22676 values. 22677 properties: 22678 key: 22679 description: The label key that the selector 22680 applies to. 22681 type: string 22682 operator: 22683 description: Represents a key's relationship 22684 to a set of values. Valid operators 22685 are In, NotIn, Exists, DoesNotExist. 22686 Gt, and Lt. 22687 type: string 22688 values: 22689 description: An array of string values. 22690 If the operator is In or NotIn, the 22691 values array must be non-empty. If the 22692 operator is Exists or DoesNotExist, 22693 the values array must be empty. If the 22694 operator is Gt or Lt, the values array 22695 must have a single element, which will 22696 be interpreted as an integer. This array 22697 is replaced during a strategic merge 22698 patch. 22699 items: 22700 type: string 22701 type: array 22702 required: 22703 - key 22704 - operator 22705 type: object 22706 type: array 22707 type: object 22708 type: array 22709 required: 22710 - nodeSelectorTerms 22711 type: object 22712 type: object 22713 podAffinity: 22714 description: Describes pod affinity scheduling rules (e.g. 22715 co-locate this pod in the same node, zone, etc. as some 22716 other pod(s)). 22717 properties: 22718 preferredDuringSchedulingIgnoredDuringExecution: 22719 description: The scheduler will prefer to schedule pods 22720 to nodes that satisfy the affinity expressions specified 22721 by this field, but it may choose a node that violates 22722 one or more of the expressions. The node that is most 22723 preferred is the one with the greatest sum of weights, 22724 i.e. for each node that meets all of the scheduling 22725 requirements (resource request, requiredDuringScheduling 22726 affinity expressions, etc.), compute a sum by iterating 22727 through the elements of this field and adding "weight" 22728 to the sum if the node has pods which matches the corresponding 22729 podAffinityTerm; the node(s) with the highest sum are 22730 the most preferred. 22731 items: 22732 description: The weights of all of the matched WeightedPodAffinityTerm 22733 fields are added per-node to find the most preferred 22734 node(s) 22735 properties: 22736 podAffinityTerm: 22737 description: Required. A pod affinity term, associated 22738 with the corresponding weight. 22739 properties: 22740 labelSelector: 22741 description: A label query over a set of resources, 22742 in this case pods. 22743 properties: 22744 matchExpressions: 22745 description: matchExpressions is a list 22746 of label selector requirements. The requirements 22747 are ANDed. 22748 items: 22749 description: A label selector requirement 22750 is a selector that contains values, 22751 a key, and an operator that relates 22752 the key and values. 22753 properties: 22754 key: 22755 description: key is the label key 22756 that the selector applies to. 22757 type: string 22758 operator: 22759 description: operator represents a 22760 key's relationship to a set of values. 22761 Valid operators are In, NotIn, Exists 22762 and DoesNotExist. 22763 type: string 22764 values: 22765 description: values is an array of 22766 string values. If the operator is 22767 In or NotIn, the values array must 22768 be non-empty. If the operator is 22769 Exists or DoesNotExist, the values 22770 array must be empty. This array 22771 is replaced during a strategic merge 22772 patch. 22773 items: 22774 type: string 22775 type: array 22776 required: 22777 - key 22778 - operator 22779 type: object 22780 type: array 22781 matchLabels: 22782 additionalProperties: 22783 type: string 22784 description: matchLabels is a map of {key,value} 22785 pairs. A single {key,value} in the matchLabels 22786 map is equivalent to an element of matchExpressions, 22787 whose key field is "key", the operator 22788 is "In", and the values array contains 22789 only "value". The requirements are ANDed. 22790 type: object 22791 type: object 22792 namespaceSelector: 22793 description: A label query over the set of namespaces 22794 that the term applies to. The term is applied 22795 to the union of the namespaces selected by 22796 this field and the ones listed in the namespaces 22797 field. null selector and null or empty namespaces 22798 list means "this pod's namespace". An empty 22799 selector ({}) matches all namespaces. 22800 properties: 22801 matchExpressions: 22802 description: matchExpressions is a list 22803 of label selector requirements. The requirements 22804 are ANDed. 22805 items: 22806 description: A label selector requirement 22807 is a selector that contains values, 22808 a key, and an operator that relates 22809 the key and values. 22810 properties: 22811 key: 22812 description: key is the label key 22813 that the selector applies to. 22814 type: string 22815 operator: 22816 description: operator represents a 22817 key's relationship to a set of values. 22818 Valid operators are In, NotIn, Exists 22819 and DoesNotExist. 22820 type: string 22821 values: 22822 description: values is an array of 22823 string values. If the operator is 22824 In or NotIn, the values array must 22825 be non-empty. If the operator is 22826 Exists or DoesNotExist, the values 22827 array must be empty. This array 22828 is replaced during a strategic merge 22829 patch. 22830 items: 22831 type: string 22832 type: array 22833 required: 22834 - key 22835 - operator 22836 type: object 22837 type: array 22838 matchLabels: 22839 additionalProperties: 22840 type: string 22841 description: matchLabels is a map of {key,value} 22842 pairs. A single {key,value} in the matchLabels 22843 map is equivalent to an element of matchExpressions, 22844 whose key field is "key", the operator 22845 is "In", and the values array contains 22846 only "value". The requirements are ANDed. 22847 type: object 22848 type: object 22849 namespaces: 22850 description: namespaces specifies a static list 22851 of namespace names that the term applies to. 22852 The term is applied to the union of the namespaces 22853 listed in this field and the ones selected 22854 by namespaceSelector. null or empty namespaces 22855 list and null namespaceSelector means "this 22856 pod's namespace". 22857 items: 22858 type: string 22859 type: array 22860 topologyKey: 22861 description: This pod should be co-located (affinity) 22862 or not co-located (anti-affinity) with the 22863 pods matching the labelSelector in the specified 22864 namespaces, where co-located is defined as 22865 running on a node whose value of the label 22866 with key topologyKey matches that of any node 22867 on which any of the selected pods is running. 22868 Empty topologyKey is not allowed. 22869 type: string 22870 required: 22871 - topologyKey 22872 type: object 22873 weight: 22874 description: weight associated with matching the 22875 corresponding podAffinityTerm, in the range 1-100. 22876 format: int32 22877 type: integer 22878 required: 22879 - podAffinityTerm 22880 - weight 22881 type: object 22882 type: array 22883 requiredDuringSchedulingIgnoredDuringExecution: 22884 description: If the affinity requirements specified by 22885 this field are not met at scheduling time, the pod will 22886 not be scheduled onto the node. If the affinity requirements 22887 specified by this field cease to be met at some point 22888 during pod execution (e.g. due to a pod label update), 22889 the system may or may not try to eventually evict the 22890 pod from its node. When there are multiple elements, 22891 the lists of nodes corresponding to each podAffinityTerm 22892 are intersected, i.e. all terms must be satisfied. 22893 items: 22894 description: Defines a set of pods (namely those matching 22895 the labelSelector relative to the given namespace(s)) 22896 that this pod should be co-located (affinity) or not 22897 co-located (anti-affinity) with, where co-located 22898 is defined as running on a node whose value of the 22899 label with key <topologyKey> matches that of any node 22900 on which a pod of the set of pods is running 22901 properties: 22902 labelSelector: 22903 description: A label query over a set of resources, 22904 in this case pods. 22905 properties: 22906 matchExpressions: 22907 description: matchExpressions is a list of label 22908 selector requirements. The requirements are 22909 ANDed. 22910 items: 22911 description: A label selector requirement 22912 is a selector that contains values, a key, 22913 and an operator that relates the key and 22914 values. 22915 properties: 22916 key: 22917 description: key is the label key that 22918 the selector applies to. 22919 type: string 22920 operator: 22921 description: operator represents a key's 22922 relationship to a set of values. Valid 22923 operators are In, NotIn, Exists and 22924 DoesNotExist. 22925 type: string 22926 values: 22927 description: values is an array of string 22928 values. If the operator is In or NotIn, 22929 the values array must be non-empty. 22930 If the operator is Exists or DoesNotExist, 22931 the values array must be empty. This 22932 array is replaced during a strategic 22933 merge patch. 22934 items: 22935 type: string 22936 type: array 22937 required: 22938 - key 22939 - operator 22940 type: object 22941 type: array 22942 matchLabels: 22943 additionalProperties: 22944 type: string 22945 description: matchLabels is a map of {key,value} 22946 pairs. A single {key,value} in the matchLabels 22947 map is equivalent to an element of matchExpressions, 22948 whose key field is "key", the operator is 22949 "In", and the values array contains only "value". 22950 The requirements are ANDed. 22951 type: object 22952 type: object 22953 namespaceSelector: 22954 description: A label query over the set of namespaces 22955 that the term applies to. The term is applied 22956 to the union of the namespaces selected by this 22957 field and the ones listed in the namespaces field. 22958 null selector and null or empty namespaces list 22959 means "this pod's namespace". An empty selector 22960 ({}) matches all namespaces. 22961 properties: 22962 matchExpressions: 22963 description: matchExpressions is a list of label 22964 selector requirements. The requirements are 22965 ANDed. 22966 items: 22967 description: A label selector requirement 22968 is a selector that contains values, a key, 22969 and an operator that relates the key and 22970 values. 22971 properties: 22972 key: 22973 description: key is the label key that 22974 the selector applies to. 22975 type: string 22976 operator: 22977 description: operator represents a key's 22978 relationship to a set of values. Valid 22979 operators are In, NotIn, Exists and 22980 DoesNotExist. 22981 type: string 22982 values: 22983 description: values is an array of string 22984 values. If the operator is In or NotIn, 22985 the values array must be non-empty. 22986 If the operator is Exists or DoesNotExist, 22987 the values array must be empty. This 22988 array is replaced during a strategic 22989 merge patch. 22990 items: 22991 type: string 22992 type: array 22993 required: 22994 - key 22995 - operator 22996 type: object 22997 type: array 22998 matchLabels: 22999 additionalProperties: 23000 type: string 23001 description: matchLabels is a map of {key,value} 23002 pairs. A single {key,value} in the matchLabels 23003 map is equivalent to an element of matchExpressions, 23004 whose key field is "key", the operator is 23005 "In", and the values array contains only "value". 23006 The requirements are ANDed. 23007 type: object 23008 type: object 23009 namespaces: 23010 description: namespaces specifies a static list 23011 of namespace names that the term applies to. The 23012 term is applied to the union of the namespaces 23013 listed in this field and the ones selected by 23014 namespaceSelector. null or empty namespaces list 23015 and null namespaceSelector means "this pod's namespace". 23016 items: 23017 type: string 23018 type: array 23019 topologyKey: 23020 description: This pod should be co-located (affinity) 23021 or not co-located (anti-affinity) with the pods 23022 matching the labelSelector in the specified namespaces, 23023 where co-located is defined as running on a node 23024 whose value of the label with key topologyKey 23025 matches that of any node on which any of the selected 23026 pods is running. Empty topologyKey is not allowed. 23027 type: string 23028 required: 23029 - topologyKey 23030 type: object 23031 type: array 23032 type: object 23033 podAntiAffinity: 23034 description: Describes pod anti-affinity scheduling rules 23035 (e.g. avoid putting this pod in the same node, zone, etc. 23036 as some other pod(s)). 23037 properties: 23038 preferredDuringSchedulingIgnoredDuringExecution: 23039 description: The scheduler will prefer to schedule pods 23040 to nodes that satisfy the anti-affinity expressions 23041 specified by this field, but it may choose a node that 23042 violates one or more of the expressions. The node that 23043 is most preferred is the one with the greatest sum of 23044 weights, i.e. for each node that meets all of the scheduling 23045 requirements (resource request, requiredDuringScheduling 23046 anti-affinity expressions, etc.), compute a sum by iterating 23047 through the elements of this field and adding "weight" 23048 to the sum if the node has pods which matches the corresponding 23049 podAffinityTerm; the node(s) with the highest sum are 23050 the most preferred. 23051 items: 23052 description: The weights of all of the matched WeightedPodAffinityTerm 23053 fields are added per-node to find the most preferred 23054 node(s) 23055 properties: 23056 podAffinityTerm: 23057 description: Required. A pod affinity term, associated 23058 with the corresponding weight. 23059 properties: 23060 labelSelector: 23061 description: A label query over a set of resources, 23062 in this case pods. 23063 properties: 23064 matchExpressions: 23065 description: matchExpressions is a list 23066 of label selector requirements. The requirements 23067 are ANDed. 23068 items: 23069 description: A label selector requirement 23070 is a selector that contains values, 23071 a key, and an operator that relates 23072 the key and values. 23073 properties: 23074 key: 23075 description: key is the label key 23076 that the selector applies to. 23077 type: string 23078 operator: 23079 description: operator represents a 23080 key's relationship to a set of values. 23081 Valid operators are In, NotIn, Exists 23082 and DoesNotExist. 23083 type: string 23084 values: 23085 description: values is an array of 23086 string values. If the operator is 23087 In or NotIn, the values array must 23088 be non-empty. If the operator is 23089 Exists or DoesNotExist, the values 23090 array must be empty. This array 23091 is replaced during a strategic merge 23092 patch. 23093 items: 23094 type: string 23095 type: array 23096 required: 23097 - key 23098 - operator 23099 type: object 23100 type: array 23101 matchLabels: 23102 additionalProperties: 23103 type: string 23104 description: matchLabels is a map of {key,value} 23105 pairs. A single {key,value} in the matchLabels 23106 map is equivalent to an element of matchExpressions, 23107 whose key field is "key", the operator 23108 is "In", and the values array contains 23109 only "value". The requirements are ANDed. 23110 type: object 23111 type: object 23112 namespaceSelector: 23113 description: A label query over the set of namespaces 23114 that the term applies to. The term is applied 23115 to the union of the namespaces selected by 23116 this field and the ones listed in the namespaces 23117 field. null selector and null or empty namespaces 23118 list means "this pod's namespace". An empty 23119 selector ({}) matches all namespaces. 23120 properties: 23121 matchExpressions: 23122 description: matchExpressions is a list 23123 of label selector requirements. The requirements 23124 are ANDed. 23125 items: 23126 description: A label selector requirement 23127 is a selector that contains values, 23128 a key, and an operator that relates 23129 the key and values. 23130 properties: 23131 key: 23132 description: key is the label key 23133 that the selector applies to. 23134 type: string 23135 operator: 23136 description: operator represents a 23137 key's relationship to a set of values. 23138 Valid operators are In, NotIn, Exists 23139 and DoesNotExist. 23140 type: string 23141 values: 23142 description: values is an array of 23143 string values. If the operator is 23144 In or NotIn, the values array must 23145 be non-empty. If the operator is 23146 Exists or DoesNotExist, the values 23147 array must be empty. This array 23148 is replaced during a strategic merge 23149 patch. 23150 items: 23151 type: string 23152 type: array 23153 required: 23154 - key 23155 - operator 23156 type: object 23157 type: array 23158 matchLabels: 23159 additionalProperties: 23160 type: string 23161 description: matchLabels is a map of {key,value} 23162 pairs. A single {key,value} in the matchLabels 23163 map is equivalent to an element of matchExpressions, 23164 whose key field is "key", the operator 23165 is "In", and the values array contains 23166 only "value". The requirements are ANDed. 23167 type: object 23168 type: object 23169 namespaces: 23170 description: namespaces specifies a static list 23171 of namespace names that the term applies to. 23172 The term is applied to the union of the namespaces 23173 listed in this field and the ones selected 23174 by namespaceSelector. null or empty namespaces 23175 list and null namespaceSelector means "this 23176 pod's namespace". 23177 items: 23178 type: string 23179 type: array 23180 topologyKey: 23181 description: This pod should be co-located (affinity) 23182 or not co-located (anti-affinity) with the 23183 pods matching the labelSelector in the specified 23184 namespaces, where co-located is defined as 23185 running on a node whose value of the label 23186 with key topologyKey matches that of any node 23187 on which any of the selected pods is running. 23188 Empty topologyKey is not allowed. 23189 type: string 23190 required: 23191 - topologyKey 23192 type: object 23193 weight: 23194 description: weight associated with matching the 23195 corresponding podAffinityTerm, in the range 1-100. 23196 format: int32 23197 type: integer 23198 required: 23199 - podAffinityTerm 23200 - weight 23201 type: object 23202 type: array 23203 requiredDuringSchedulingIgnoredDuringExecution: 23204 description: If the anti-affinity requirements specified 23205 by this field are not met at scheduling time, the pod 23206 will not be scheduled onto the node. If the anti-affinity 23207 requirements specified by this field cease to be met 23208 at some point during pod execution (e.g. due to a pod 23209 label update), the system may or may not try to eventually 23210 evict the pod from its node. When there are multiple 23211 elements, the lists of nodes corresponding to each podAffinityTerm 23212 are intersected, i.e. all terms must be satisfied. 23213 items: 23214 description: Defines a set of pods (namely those matching 23215 the labelSelector relative to the given namespace(s)) 23216 that this pod should be co-located (affinity) or not 23217 co-located (anti-affinity) with, where co-located 23218 is defined as running on a node whose value of the 23219 label with key <topologyKey> matches that of any node 23220 on which a pod of the set of pods is running 23221 properties: 23222 labelSelector: 23223 description: A label query over a set of resources, 23224 in this case pods. 23225 properties: 23226 matchExpressions: 23227 description: matchExpressions is a list of label 23228 selector requirements. The requirements are 23229 ANDed. 23230 items: 23231 description: A label selector requirement 23232 is a selector that contains values, a key, 23233 and an operator that relates the key and 23234 values. 23235 properties: 23236 key: 23237 description: key is the label key that 23238 the selector applies to. 23239 type: string 23240 operator: 23241 description: operator represents a key's 23242 relationship to a set of values. Valid 23243 operators are In, NotIn, Exists and 23244 DoesNotExist. 23245 type: string 23246 values: 23247 description: values is an array of string 23248 values. If the operator is In or NotIn, 23249 the values array must be non-empty. 23250 If the operator is Exists or DoesNotExist, 23251 the values array must be empty. This 23252 array is replaced during a strategic 23253 merge patch. 23254 items: 23255 type: string 23256 type: array 23257 required: 23258 - key 23259 - operator 23260 type: object 23261 type: array 23262 matchLabels: 23263 additionalProperties: 23264 type: string 23265 description: matchLabels is a map of {key,value} 23266 pairs. A single {key,value} in the matchLabels 23267 map is equivalent to an element of matchExpressions, 23268 whose key field is "key", the operator is 23269 "In", and the values array contains only "value". 23270 The requirements are ANDed. 23271 type: object 23272 type: object 23273 namespaceSelector: 23274 description: A label query over the set of namespaces 23275 that the term applies to. The term is applied 23276 to the union of the namespaces selected by this 23277 field and the ones listed in the namespaces field. 23278 null selector and null or empty namespaces list 23279 means "this pod's namespace". An empty selector 23280 ({}) matches all namespaces. 23281 properties: 23282 matchExpressions: 23283 description: matchExpressions is a list of label 23284 selector requirements. The requirements are 23285 ANDed. 23286 items: 23287 description: A label selector requirement 23288 is a selector that contains values, a key, 23289 and an operator that relates the key and 23290 values. 23291 properties: 23292 key: 23293 description: key is the label key that 23294 the selector applies to. 23295 type: string 23296 operator: 23297 description: operator represents a key's 23298 relationship to a set of values. Valid 23299 operators are In, NotIn, Exists and 23300 DoesNotExist. 23301 type: string 23302 values: 23303 description: values is an array of string 23304 values. If the operator is In or NotIn, 23305 the values array must be non-empty. 23306 If the operator is Exists or DoesNotExist, 23307 the values array must be empty. This 23308 array is replaced during a strategic 23309 merge patch. 23310 items: 23311 type: string 23312 type: array 23313 required: 23314 - key 23315 - operator 23316 type: object 23317 type: array 23318 matchLabels: 23319 additionalProperties: 23320 type: string 23321 description: matchLabels is a map of {key,value} 23322 pairs. A single {key,value} in the matchLabels 23323 map is equivalent to an element of matchExpressions, 23324 whose key field is "key", the operator is 23325 "In", and the values array contains only "value". 23326 The requirements are ANDed. 23327 type: object 23328 type: object 23329 namespaces: 23330 description: namespaces specifies a static list 23331 of namespace names that the term applies to. The 23332 term is applied to the union of the namespaces 23333 listed in this field and the ones selected by 23334 namespaceSelector. null or empty namespaces list 23335 and null namespaceSelector means "this pod's namespace". 23336 items: 23337 type: string 23338 type: array 23339 topologyKey: 23340 description: This pod should be co-located (affinity) 23341 or not co-located (anti-affinity) with the pods 23342 matching the labelSelector in the specified namespaces, 23343 where co-located is defined as running on a node 23344 whose value of the label with key topologyKey 23345 matches that of any node on which any of the selected 23346 pods is running. Empty topologyKey is not allowed. 23347 type: string 23348 required: 23349 - topologyKey 23350 type: object 23351 type: array 23352 type: object 23353 type: object 23354 automountServiceAccountToken: 23355 description: AutomountServiceAccountToken indicates whether a 23356 service account token should be automatically mounted. 23357 type: boolean 23358 containers: 23359 description: List of containers belonging to the pod. Containers 23360 cannot currently be added or removed. There must be at least 23361 one container in a Pod. Cannot be updated. 23362 items: 23363 description: A single application container that you want to 23364 run within a pod. 23365 properties: 23366 args: 23367 description: 'Arguments to the entrypoint. The container 23368 image''s CMD is used if this is not provided. Variable 23369 references $(VAR_NAME) are expanded using the container''s 23370 environment. If a variable cannot be resolved, the reference 23371 in the input string will be unchanged. Double $$ are reduced 23372 to a single $, which allows for escaping the $(VAR_NAME) 23373 syntax: i.e. "$$(VAR_NAME)" will produce the string literal 23374 "$(VAR_NAME)". Escaped references will never be expanded, 23375 regardless of whether the variable exists or not. Cannot 23376 be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell' 23377 items: 23378 type: string 23379 type: array 23380 command: 23381 description: 'Entrypoint array. Not executed within a shell. 23382 The container image''s ENTRYPOINT is used if this is not 23383 provided. Variable references $(VAR_NAME) are expanded 23384 using the container''s environment. If a variable cannot 23385 be resolved, the reference in the input string will be 23386 unchanged. Double $$ are reduced to a single $, which 23387 allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" 23388 will produce the string literal "$(VAR_NAME)". Escaped 23389 references will never be expanded, regardless of whether 23390 the variable exists or not. Cannot be updated. More info: 23391 https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell' 23392 items: 23393 type: string 23394 type: array 23395 env: 23396 description: List of environment variables to set in the 23397 container. Cannot be updated. 23398 items: 23399 description: EnvVar represents an environment variable 23400 present in a Container. 23401 properties: 23402 name: 23403 description: Name of the environment variable. Must 23404 be a C_IDENTIFIER. 23405 type: string 23406 value: 23407 description: 'Variable references $(VAR_NAME) are 23408 expanded using the previously defined environment 23409 variables in the container and any service environment 23410 variables. If a variable cannot be resolved, the 23411 reference in the input string will be unchanged. 23412 Double $$ are reduced to a single $, which allows 23413 for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" 23414 will produce the string literal "$(VAR_NAME)". Escaped 23415 references will never be expanded, regardless of 23416 whether the variable exists or not. Defaults to 23417 "".' 23418 type: string 23419 valueFrom: 23420 description: Source for the environment variable's 23421 value. Cannot be used if value is not empty. 23422 properties: 23423 configMapKeyRef: 23424 description: Selects a key of a ConfigMap. 23425 properties: 23426 key: 23427 description: The key to select. 23428 type: string 23429 name: 23430 description: 'Name of the referent. More info: 23431 https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 23432 TODO: Add other useful fields. apiVersion, 23433 kind, uid?' 23434 type: string 23435 optional: 23436 description: Specify whether the ConfigMap 23437 or its key must be defined 23438 type: boolean 23439 required: 23440 - key 23441 type: object 23442 fieldRef: 23443 description: 'Selects a field of the pod: supports 23444 metadata.name, metadata.namespace, `metadata.labels[''<KEY>'']`, 23445 `metadata.annotations[''<KEY>'']`, spec.nodeName, 23446 spec.serviceAccountName, status.hostIP, status.podIP, 23447 status.podIPs.' 23448 properties: 23449 apiVersion: 23450 description: Version of the schema the FieldPath 23451 is written in terms of, defaults to "v1". 23452 type: string 23453 fieldPath: 23454 description: Path of the field to select in 23455 the specified API version. 23456 type: string 23457 required: 23458 - fieldPath 23459 type: object 23460 resourceFieldRef: 23461 description: 'Selects a resource of the container: 23462 only resources limits and requests (limits.cpu, 23463 limits.memory, limits.ephemeral-storage, requests.cpu, 23464 requests.memory and requests.ephemeral-storage) 23465 are currently supported.' 23466 properties: 23467 containerName: 23468 description: 'Container name: required for 23469 volumes, optional for env vars' 23470 type: string 23471 divisor: 23472 anyOf: 23473 - type: integer 23474 - type: string 23475 description: Specifies the output format of 23476 the exposed resources, defaults to "1" 23477 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 23478 x-kubernetes-int-or-string: true 23479 resource: 23480 description: 'Required: resource to select' 23481 type: string 23482 required: 23483 - resource 23484 type: object 23485 secretKeyRef: 23486 description: Selects a key of a secret in the 23487 pod's namespace 23488 properties: 23489 key: 23490 description: The key of the secret to select 23491 from. Must be a valid secret key. 23492 type: string 23493 name: 23494 description: 'Name of the referent. More info: 23495 https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 23496 TODO: Add other useful fields. apiVersion, 23497 kind, uid?' 23498 type: string 23499 optional: 23500 description: Specify whether the Secret or 23501 its key must be defined 23502 type: boolean 23503 required: 23504 - key 23505 type: object 23506 type: object 23507 required: 23508 - name 23509 type: object 23510 type: array 23511 envFrom: 23512 description: List of sources to populate environment variables 23513 in the container. The keys defined within a source must 23514 be a C_IDENTIFIER. All invalid keys will be reported as 23515 an event when the container is starting. When a key exists 23516 in multiple sources, the value associated with the last 23517 source will take precedence. Values defined by an Env 23518 with a duplicate key will take precedence. Cannot be updated. 23519 items: 23520 description: EnvFromSource represents the source of a 23521 set of ConfigMaps 23522 properties: 23523 configMapRef: 23524 description: The ConfigMap to select from 23525 properties: 23526 name: 23527 description: 'Name of the referent. More info: 23528 https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 23529 TODO: Add other useful fields. apiVersion, kind, 23530 uid?' 23531 type: string 23532 optional: 23533 description: Specify whether the ConfigMap must 23534 be defined 23535 type: boolean 23536 type: object 23537 prefix: 23538 description: An optional identifier to prepend to 23539 each key in the ConfigMap. Must be a C_IDENTIFIER. 23540 type: string 23541 secretRef: 23542 description: The Secret to select from 23543 properties: 23544 name: 23545 description: 'Name of the referent. More info: 23546 https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 23547 TODO: Add other useful fields. apiVersion, kind, 23548 uid?' 23549 type: string 23550 optional: 23551 description: Specify whether the Secret must be 23552 defined 23553 type: boolean 23554 type: object 23555 type: object 23556 type: array 23557 image: 23558 description: 'Container image name. More info: https://kubernetes.io/docs/concepts/containers/images 23559 This field is optional to allow higher level config management 23560 to default or override container images in workload controllers 23561 like Deployments and StatefulSets.' 23562 type: string 23563 imagePullPolicy: 23564 description: 'Image pull policy. One of Always, Never, IfNotPresent. 23565 Defaults to Always if :latest tag is specified, or IfNotPresent 23566 otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images' 23567 type: string 23568 lifecycle: 23569 description: Actions that the management system should take 23570 in response to container lifecycle events. Cannot be updated. 23571 properties: 23572 postStart: 23573 description: 'PostStart is called immediately after 23574 a container is created. If the handler fails, the 23575 container is terminated and restarted according to 23576 its restart policy. Other management of the container 23577 blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks' 23578 properties: 23579 exec: 23580 description: Exec specifies the action to take. 23581 properties: 23582 command: 23583 description: Command is the command line to 23584 execute inside the container, the working 23585 directory for the command is root ('/') in 23586 the container's filesystem. The command is 23587 simply exec'd, it is not run inside a shell, 23588 so traditional shell instructions ('|', etc) 23589 won't work. To use a shell, you need to explicitly 23590 call out to that shell. Exit status of 0 is 23591 treated as live/healthy and non-zero is unhealthy. 23592 items: 23593 type: string 23594 type: array 23595 type: object 23596 httpGet: 23597 description: HTTPGet specifies the http request 23598 to perform. 23599 properties: 23600 host: 23601 description: Host name to connect to, defaults 23602 to the pod IP. You probably want to set "Host" 23603 in httpHeaders instead. 23604 type: string 23605 httpHeaders: 23606 description: Custom headers to set in the request. 23607 HTTP allows repeated headers. 23608 items: 23609 description: HTTPHeader describes a custom 23610 header to be used in HTTP probes 23611 properties: 23612 name: 23613 description: The header field name 23614 type: string 23615 value: 23616 description: The header field value 23617 type: string 23618 required: 23619 - name 23620 - value 23621 type: object 23622 type: array 23623 path: 23624 description: Path to access on the HTTP server. 23625 type: string 23626 port: 23627 anyOf: 23628 - type: integer 23629 - type: string 23630 description: Name or number of the port to access 23631 on the container. Number must be in the range 23632 1 to 65535. Name must be an IANA_SVC_NAME. 23633 x-kubernetes-int-or-string: true 23634 scheme: 23635 description: Scheme to use for connecting to 23636 the host. Defaults to HTTP. 23637 type: string 23638 required: 23639 - port 23640 type: object 23641 tcpSocket: 23642 description: Deprecated. TCPSocket is NOT supported 23643 as a LifecycleHandler and kept for the backward 23644 compatibility. There are no validation of this 23645 field and lifecycle hooks will fail in runtime 23646 when tcp handler is specified. 23647 properties: 23648 host: 23649 description: 'Optional: Host name to connect 23650 to, defaults to the pod IP.' 23651 type: string 23652 port: 23653 anyOf: 23654 - type: integer 23655 - type: string 23656 description: Number or name of the port to access 23657 on the container. Number must be in the range 23658 1 to 65535. Name must be an IANA_SVC_NAME. 23659 x-kubernetes-int-or-string: true 23660 required: 23661 - port 23662 type: object 23663 type: object 23664 preStop: 23665 description: 'PreStop is called immediately before a 23666 container is terminated due to an API request or management 23667 event such as liveness/startup probe failure, preemption, 23668 resource contention, etc. The handler is not called 23669 if the container crashes or exits. The Pod''s termination 23670 grace period countdown begins before the PreStop hook 23671 is executed. Regardless of the outcome of the handler, 23672 the container will eventually terminate within the 23673 Pod''s termination grace period (unless delayed by 23674 finalizers). Other management of the container blocks 23675 until the hook completes or until the termination 23676 grace period is reached. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks' 23677 properties: 23678 exec: 23679 description: Exec specifies the action to take. 23680 properties: 23681 command: 23682 description: Command is the command line to 23683 execute inside the container, the working 23684 directory for the command is root ('/') in 23685 the container's filesystem. The command is 23686 simply exec'd, it is not run inside a shell, 23687 so traditional shell instructions ('|', etc) 23688 won't work. To use a shell, you need to explicitly 23689 call out to that shell. Exit status of 0 is 23690 treated as live/healthy and non-zero is unhealthy. 23691 items: 23692 type: string 23693 type: array 23694 type: object 23695 httpGet: 23696 description: HTTPGet specifies the http request 23697 to perform. 23698 properties: 23699 host: 23700 description: Host name to connect to, defaults 23701 to the pod IP. You probably want to set "Host" 23702 in httpHeaders instead. 23703 type: string 23704 httpHeaders: 23705 description: Custom headers to set in the request. 23706 HTTP allows repeated headers. 23707 items: 23708 description: HTTPHeader describes a custom 23709 header to be used in HTTP probes 23710 properties: 23711 name: 23712 description: The header field name 23713 type: string 23714 value: 23715 description: The header field value 23716 type: string 23717 required: 23718 - name 23719 - value 23720 type: object 23721 type: array 23722 path: 23723 description: Path to access on the HTTP server. 23724 type: string 23725 port: 23726 anyOf: 23727 - type: integer 23728 - type: string 23729 description: Name or number of the port to access 23730 on the container. Number must be in the range 23731 1 to 65535. Name must be an IANA_SVC_NAME. 23732 x-kubernetes-int-or-string: true 23733 scheme: 23734 description: Scheme to use for connecting to 23735 the host. Defaults to HTTP. 23736 type: string 23737 required: 23738 - port 23739 type: object 23740 tcpSocket: 23741 description: Deprecated. TCPSocket is NOT supported 23742 as a LifecycleHandler and kept for the backward 23743 compatibility. There are no validation of this 23744 field and lifecycle hooks will fail in runtime 23745 when tcp handler is specified. 23746 properties: 23747 host: 23748 description: 'Optional: Host name to connect 23749 to, defaults to the pod IP.' 23750 type: string 23751 port: 23752 anyOf: 23753 - type: integer 23754 - type: string 23755 description: Number or name of the port to access 23756 on the container. Number must be in the range 23757 1 to 65535. Name must be an IANA_SVC_NAME. 23758 x-kubernetes-int-or-string: true 23759 required: 23760 - port 23761 type: object 23762 type: object 23763 type: object 23764 livenessProbe: 23765 description: 'Periodic probe of container liveness. Container 23766 will be restarted if the probe fails. Cannot be updated. 23767 More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 23768 properties: 23769 exec: 23770 description: Exec specifies the action to take. 23771 properties: 23772 command: 23773 description: Command is the command line to execute 23774 inside the container, the working directory for 23775 the command is root ('/') in the container's 23776 filesystem. The command is simply exec'd, it is 23777 not run inside a shell, so traditional shell instructions 23778 ('|', etc) won't work. To use a shell, you need 23779 to explicitly call out to that shell. Exit status 23780 of 0 is treated as live/healthy and non-zero is 23781 unhealthy. 23782 items: 23783 type: string 23784 type: array 23785 type: object 23786 failureThreshold: 23787 description: Minimum consecutive failures for the probe 23788 to be considered failed after having succeeded. Defaults 23789 to 3. Minimum value is 1. 23790 format: int32 23791 type: integer 23792 grpc: 23793 description: GRPC specifies an action involving a GRPC 23794 port. This is a beta field and requires enabling GRPCContainerProbe 23795 feature gate. 23796 properties: 23797 port: 23798 description: Port number of the gRPC service. Number 23799 must be in the range 1 to 65535. 23800 format: int32 23801 type: integer 23802 service: 23803 description: "Service is the name of the service 23804 to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). 23805 \n If this is not specified, the default behavior 23806 is defined by gRPC." 23807 type: string 23808 required: 23809 - port 23810 type: object 23811 httpGet: 23812 description: HTTPGet specifies the http request to perform. 23813 properties: 23814 host: 23815 description: Host name to connect to, defaults to 23816 the pod IP. You probably want to set "Host" in 23817 httpHeaders instead. 23818 type: string 23819 httpHeaders: 23820 description: Custom headers to set in the request. 23821 HTTP allows repeated headers. 23822 items: 23823 description: HTTPHeader describes a custom header 23824 to be used in HTTP probes 23825 properties: 23826 name: 23827 description: The header field name 23828 type: string 23829 value: 23830 description: The header field value 23831 type: string 23832 required: 23833 - name 23834 - value 23835 type: object 23836 type: array 23837 path: 23838 description: Path to access on the HTTP server. 23839 type: string 23840 port: 23841 anyOf: 23842 - type: integer 23843 - type: string 23844 description: Name or number of the port to access 23845 on the container. Number must be in the range 23846 1 to 65535. Name must be an IANA_SVC_NAME. 23847 x-kubernetes-int-or-string: true 23848 scheme: 23849 description: Scheme to use for connecting to the 23850 host. Defaults to HTTP. 23851 type: string 23852 required: 23853 - port 23854 type: object 23855 initialDelaySeconds: 23856 description: 'Number of seconds after the container 23857 has started before liveness probes are initiated. 23858 More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 23859 format: int32 23860 type: integer 23861 periodSeconds: 23862 description: How often (in seconds) to perform the probe. 23863 Default to 10 seconds. Minimum value is 1. 23864 format: int32 23865 type: integer 23866 successThreshold: 23867 description: Minimum consecutive successes for the probe 23868 to be considered successful after having failed. Defaults 23869 to 1. Must be 1 for liveness and startup. Minimum 23870 value is 1. 23871 format: int32 23872 type: integer 23873 tcpSocket: 23874 description: TCPSocket specifies an action involving 23875 a TCP port. 23876 properties: 23877 host: 23878 description: 'Optional: Host name to connect to, 23879 defaults to the pod IP.' 23880 type: string 23881 port: 23882 anyOf: 23883 - type: integer 23884 - type: string 23885 description: Number or name of the port to access 23886 on the container. Number must be in the range 23887 1 to 65535. Name must be an IANA_SVC_NAME. 23888 x-kubernetes-int-or-string: true 23889 required: 23890 - port 23891 type: object 23892 terminationGracePeriodSeconds: 23893 description: Optional duration in seconds the pod needs 23894 to terminate gracefully upon probe failure. The grace 23895 period is the duration in seconds after the processes 23896 running in the pod are sent a termination signal and 23897 the time when the processes are forcibly halted with 23898 a kill signal. Set this value longer than the expected 23899 cleanup time for your process. If this value is nil, 23900 the pod's terminationGracePeriodSeconds will be used. 23901 Otherwise, this value overrides the value provided 23902 by the pod spec. Value must be non-negative integer. 23903 The value zero indicates stop immediately via the 23904 kill signal (no opportunity to shut down). This is 23905 a beta field and requires enabling ProbeTerminationGracePeriod 23906 feature gate. Minimum value is 1. spec.terminationGracePeriodSeconds 23907 is used if unset. 23908 format: int64 23909 type: integer 23910 timeoutSeconds: 23911 description: 'Number of seconds after which the probe 23912 times out. Defaults to 1 second. Minimum value is 23913 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 23914 format: int32 23915 type: integer 23916 type: object 23917 name: 23918 description: Name of the container specified as a DNS_LABEL. 23919 Each container in a pod must have a unique name (DNS_LABEL). 23920 Cannot be updated. 23921 type: string 23922 ports: 23923 description: List of ports to expose from the container. 23924 Not specifying a port here DOES NOT prevent that port 23925 from being exposed. Any port which is listening on the 23926 default "0.0.0.0" address inside a container will be accessible 23927 from the network. Modifying this array with strategic 23928 merge patch may corrupt the data. For more information 23929 See https://github.com/kubernetes/kubernetes/issues/108255. 23930 Cannot be updated. 23931 items: 23932 description: ContainerPort represents a network port in 23933 a single container. 23934 properties: 23935 containerPort: 23936 description: Number of port to expose on the pod's 23937 IP address. This must be a valid port number, 0 23938 < x < 65536. 23939 format: int32 23940 type: integer 23941 hostIP: 23942 description: What host IP to bind the external port 23943 to. 23944 type: string 23945 hostPort: 23946 description: Number of port to expose on the host. 23947 If specified, this must be a valid port number, 23948 0 < x < 65536. If HostNetwork is specified, this 23949 must match ContainerPort. Most containers do not 23950 need this. 23951 format: int32 23952 type: integer 23953 name: 23954 description: If specified, this must be an IANA_SVC_NAME 23955 and unique within the pod. Each named port in a 23956 pod must have a unique name. Name for the port that 23957 can be referred to by services. 23958 type: string 23959 protocol: 23960 default: TCP 23961 description: Protocol for port. Must be UDP, TCP, 23962 or SCTP. Defaults to "TCP". 23963 type: string 23964 required: 23965 - containerPort 23966 type: object 23967 type: array 23968 x-kubernetes-list-map-keys: 23969 - containerPort 23970 - protocol 23971 x-kubernetes-list-type: map 23972 readinessProbe: 23973 description: 'Periodic probe of container service readiness. 23974 Container will be removed from service endpoints if the 23975 probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 23976 properties: 23977 exec: 23978 description: Exec specifies the action to take. 23979 properties: 23980 command: 23981 description: Command is the command line to execute 23982 inside the container, the working directory for 23983 the command is root ('/') in the container's 23984 filesystem. The command is simply exec'd, it is 23985 not run inside a shell, so traditional shell instructions 23986 ('|', etc) won't work. To use a shell, you need 23987 to explicitly call out to that shell. Exit status 23988 of 0 is treated as live/healthy and non-zero is 23989 unhealthy. 23990 items: 23991 type: string 23992 type: array 23993 type: object 23994 failureThreshold: 23995 description: Minimum consecutive failures for the probe 23996 to be considered failed after having succeeded. Defaults 23997 to 3. Minimum value is 1. 23998 format: int32 23999 type: integer 24000 grpc: 24001 description: GRPC specifies an action involving a GRPC 24002 port. This is a beta field and requires enabling GRPCContainerProbe 24003 feature gate. 24004 properties: 24005 port: 24006 description: Port number of the gRPC service. Number 24007 must be in the range 1 to 65535. 24008 format: int32 24009 type: integer 24010 service: 24011 description: "Service is the name of the service 24012 to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). 24013 \n If this is not specified, the default behavior 24014 is defined by gRPC." 24015 type: string 24016 required: 24017 - port 24018 type: object 24019 httpGet: 24020 description: HTTPGet specifies the http request to perform. 24021 properties: 24022 host: 24023 description: Host name to connect to, defaults to 24024 the pod IP. You probably want to set "Host" in 24025 httpHeaders instead. 24026 type: string 24027 httpHeaders: 24028 description: Custom headers to set in the request. 24029 HTTP allows repeated headers. 24030 items: 24031 description: HTTPHeader describes a custom header 24032 to be used in HTTP probes 24033 properties: 24034 name: 24035 description: The header field name 24036 type: string 24037 value: 24038 description: The header field value 24039 type: string 24040 required: 24041 - name 24042 - value 24043 type: object 24044 type: array 24045 path: 24046 description: Path to access on the HTTP server. 24047 type: string 24048 port: 24049 anyOf: 24050 - type: integer 24051 - type: string 24052 description: Name or number of the port to access 24053 on the container. Number must be in the range 24054 1 to 65535. Name must be an IANA_SVC_NAME. 24055 x-kubernetes-int-or-string: true 24056 scheme: 24057 description: Scheme to use for connecting to the 24058 host. Defaults to HTTP. 24059 type: string 24060 required: 24061 - port 24062 type: object 24063 initialDelaySeconds: 24064 description: 'Number of seconds after the container 24065 has started before liveness probes are initiated. 24066 More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 24067 format: int32 24068 type: integer 24069 periodSeconds: 24070 description: How often (in seconds) to perform the probe. 24071 Default to 10 seconds. Minimum value is 1. 24072 format: int32 24073 type: integer 24074 successThreshold: 24075 description: Minimum consecutive successes for the probe 24076 to be considered successful after having failed. Defaults 24077 to 1. Must be 1 for liveness and startup. Minimum 24078 value is 1. 24079 format: int32 24080 type: integer 24081 tcpSocket: 24082 description: TCPSocket specifies an action involving 24083 a TCP port. 24084 properties: 24085 host: 24086 description: 'Optional: Host name to connect to, 24087 defaults to the pod IP.' 24088 type: string 24089 port: 24090 anyOf: 24091 - type: integer 24092 - type: string 24093 description: Number or name of the port to access 24094 on the container. Number must be in the range 24095 1 to 65535. Name must be an IANA_SVC_NAME. 24096 x-kubernetes-int-or-string: true 24097 required: 24098 - port 24099 type: object 24100 terminationGracePeriodSeconds: 24101 description: Optional duration in seconds the pod needs 24102 to terminate gracefully upon probe failure. The grace 24103 period is the duration in seconds after the processes 24104 running in the pod are sent a termination signal and 24105 the time when the processes are forcibly halted with 24106 a kill signal. Set this value longer than the expected 24107 cleanup time for your process. If this value is nil, 24108 the pod's terminationGracePeriodSeconds will be used. 24109 Otherwise, this value overrides the value provided 24110 by the pod spec. Value must be non-negative integer. 24111 The value zero indicates stop immediately via the 24112 kill signal (no opportunity to shut down). This is 24113 a beta field and requires enabling ProbeTerminationGracePeriod 24114 feature gate. Minimum value is 1. spec.terminationGracePeriodSeconds 24115 is used if unset. 24116 format: int64 24117 type: integer 24118 timeoutSeconds: 24119 description: 'Number of seconds after which the probe 24120 times out. Defaults to 1 second. Minimum value is 24121 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 24122 format: int32 24123 type: integer 24124 type: object 24125 resources: 24126 description: 'Compute Resources required by this container. 24127 Cannot be updated. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' 24128 properties: 24129 limits: 24130 additionalProperties: 24131 anyOf: 24132 - type: integer 24133 - type: string 24134 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 24135 x-kubernetes-int-or-string: true 24136 description: 'Limits describes the maximum amount of 24137 compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' 24138 type: object 24139 requests: 24140 additionalProperties: 24141 anyOf: 24142 - type: integer 24143 - type: string 24144 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 24145 x-kubernetes-int-or-string: true 24146 description: 'Requests describes the minimum amount 24147 of compute resources required. If Requests is omitted 24148 for a container, it defaults to Limits if that is 24149 explicitly specified, otherwise to an implementation-defined 24150 value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' 24151 type: object 24152 type: object 24153 securityContext: 24154 description: 'SecurityContext defines the security options 24155 the container should be run with. If set, the fields of 24156 SecurityContext override the equivalent fields of PodSecurityContext. 24157 More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/' 24158 properties: 24159 allowPrivilegeEscalation: 24160 description: 'AllowPrivilegeEscalation controls whether 24161 a process can gain more privileges than its parent 24162 process. This bool directly controls if the no_new_privs 24163 flag will be set on the container process. AllowPrivilegeEscalation 24164 is true always when the container is: 1) run as Privileged 24165 2) has CAP_SYS_ADMIN Note that this field cannot be 24166 set when spec.os.name is windows.' 24167 type: boolean 24168 capabilities: 24169 description: The capabilities to add/drop when running 24170 containers. Defaults to the default set of capabilities 24171 granted by the container runtime. Note that this field 24172 cannot be set when spec.os.name is windows. 24173 properties: 24174 add: 24175 description: Added capabilities 24176 items: 24177 description: Capability represent POSIX capabilities 24178 type 24179 type: string 24180 type: array 24181 drop: 24182 description: Removed capabilities 24183 items: 24184 description: Capability represent POSIX capabilities 24185 type 24186 type: string 24187 type: array 24188 type: object 24189 privileged: 24190 description: Run container in privileged mode. Processes 24191 in privileged containers are essentially equivalent 24192 to root on the host. Defaults to false. Note that 24193 this field cannot be set when spec.os.name is windows. 24194 type: boolean 24195 procMount: 24196 description: procMount denotes the type of proc mount 24197 to use for the containers. The default is DefaultProcMount 24198 which uses the container runtime defaults for readonly 24199 paths and masked paths. This requires the ProcMountType 24200 feature flag to be enabled. Note that this field cannot 24201 be set when spec.os.name is windows. 24202 type: string 24203 readOnlyRootFilesystem: 24204 description: Whether this container has a read-only 24205 root filesystem. Default is false. Note that this 24206 field cannot be set when spec.os.name is windows. 24207 type: boolean 24208 runAsGroup: 24209 description: The GID to run the entrypoint of the container 24210 process. Uses runtime default if unset. May also be 24211 set in PodSecurityContext. If set in both SecurityContext 24212 and PodSecurityContext, the value specified in SecurityContext 24213 takes precedence. Note that this field cannot be set 24214 when spec.os.name is windows. 24215 format: int64 24216 type: integer 24217 runAsNonRoot: 24218 description: Indicates that the container must run as 24219 a non-root user. If true, the Kubelet will validate 24220 the image at runtime to ensure that it does not run 24221 as UID 0 (root) and fail to start the container if 24222 it does. If unset or false, no such validation will 24223 be performed. May also be set in PodSecurityContext. If 24224 set in both SecurityContext and PodSecurityContext, 24225 the value specified in SecurityContext takes precedence. 24226 type: boolean 24227 runAsUser: 24228 description: The UID to run the entrypoint of the container 24229 process. Defaults to user specified in image metadata 24230 if unspecified. May also be set in PodSecurityContext. If 24231 set in both SecurityContext and PodSecurityContext, 24232 the value specified in SecurityContext takes precedence. 24233 Note that this field cannot be set when spec.os.name 24234 is windows. 24235 format: int64 24236 type: integer 24237 seLinuxOptions: 24238 description: The SELinux context to be applied to the 24239 container. If unspecified, the container runtime will 24240 allocate a random SELinux context for each container. May 24241 also be set in PodSecurityContext. If set in both 24242 SecurityContext and PodSecurityContext, the value 24243 specified in SecurityContext takes precedence. Note 24244 that this field cannot be set when spec.os.name is 24245 windows. 24246 properties: 24247 level: 24248 description: Level is SELinux level label that applies 24249 to the container. 24250 type: string 24251 role: 24252 description: Role is a SELinux role label that applies 24253 to the container. 24254 type: string 24255 type: 24256 description: Type is a SELinux type label that applies 24257 to the container. 24258 type: string 24259 user: 24260 description: User is a SELinux user label that applies 24261 to the container. 24262 type: string 24263 type: object 24264 seccompProfile: 24265 description: The seccomp options to use by this container. 24266 If seccomp options are provided at both the pod & 24267 container level, the container options override the 24268 pod options. Note that this field cannot be set when 24269 spec.os.name is windows. 24270 properties: 24271 localhostProfile: 24272 description: localhostProfile indicates a profile 24273 defined in a file on the node should be used. 24274 The profile must be preconfigured on the node 24275 to work. Must be a descending path, relative to 24276 the kubelet's configured seccomp profile location. 24277 Must only be set if type is "Localhost". 24278 type: string 24279 type: 24280 description: "type indicates which kind of seccomp 24281 profile will be applied. Valid options are: \n 24282 Localhost - a profile defined in a file on the 24283 node should be used. RuntimeDefault - the container 24284 runtime default profile should be used. Unconfined 24285 - no profile should be applied." 24286 type: string 24287 required: 24288 - type 24289 type: object 24290 windowsOptions: 24291 description: The Windows specific settings applied to 24292 all containers. If unspecified, the options from the 24293 PodSecurityContext will be used. If set in both SecurityContext 24294 and PodSecurityContext, the value specified in SecurityContext 24295 takes precedence. Note that this field cannot be set 24296 when spec.os.name is linux. 24297 properties: 24298 gmsaCredentialSpec: 24299 description: GMSACredentialSpec is where the GMSA 24300 admission webhook (https://github.com/kubernetes-sigs/windows-gmsa) 24301 inlines the contents of the GMSA credential spec 24302 named by the GMSACredentialSpecName field. 24303 type: string 24304 gmsaCredentialSpecName: 24305 description: GMSACredentialSpecName is the name 24306 of the GMSA credential spec to use. 24307 type: string 24308 hostProcess: 24309 description: HostProcess determines if a container 24310 should be run as a 'Host Process' container. This 24311 field is alpha-level and will only be honored 24312 by components that enable the WindowsHostProcessContainers 24313 feature flag. Setting this field without the feature 24314 flag will result in errors when validating the 24315 Pod. All of a Pod's containers must have the same 24316 effective HostProcess value (it is not allowed 24317 to have a mix of HostProcess containers and non-HostProcess 24318 containers). In addition, if HostProcess is true 24319 then HostNetwork must also be set to true. 24320 type: boolean 24321 runAsUserName: 24322 description: The UserName in Windows to run the 24323 entrypoint of the container process. Defaults 24324 to the user specified in image metadata if unspecified. 24325 May also be set in PodSecurityContext. If set 24326 in both SecurityContext and PodSecurityContext, 24327 the value specified in SecurityContext takes precedence. 24328 type: string 24329 type: object 24330 type: object 24331 startupProbe: 24332 description: 'StartupProbe indicates that the Pod has successfully 24333 initialized. If specified, no other probes are executed 24334 until this completes successfully. If this probe fails, 24335 the Pod will be restarted, just as if the livenessProbe 24336 failed. This can be used to provide different probe parameters 24337 at the beginning of a Pod''s lifecycle, when it might 24338 take a long time to load data or warm a cache, than during 24339 steady-state operation. This cannot be updated. More info: 24340 https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 24341 properties: 24342 exec: 24343 description: Exec specifies the action to take. 24344 properties: 24345 command: 24346 description: Command is the command line to execute 24347 inside the container, the working directory for 24348 the command is root ('/') in the container's 24349 filesystem. The command is simply exec'd, it is 24350 not run inside a shell, so traditional shell instructions 24351 ('|', etc) won't work. To use a shell, you need 24352 to explicitly call out to that shell. Exit status 24353 of 0 is treated as live/healthy and non-zero is 24354 unhealthy. 24355 items: 24356 type: string 24357 type: array 24358 type: object 24359 failureThreshold: 24360 description: Minimum consecutive failures for the probe 24361 to be considered failed after having succeeded. Defaults 24362 to 3. Minimum value is 1. 24363 format: int32 24364 type: integer 24365 grpc: 24366 description: GRPC specifies an action involving a GRPC 24367 port. This is a beta field and requires enabling GRPCContainerProbe 24368 feature gate. 24369 properties: 24370 port: 24371 description: Port number of the gRPC service. Number 24372 must be in the range 1 to 65535. 24373 format: int32 24374 type: integer 24375 service: 24376 description: "Service is the name of the service 24377 to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). 24378 \n If this is not specified, the default behavior 24379 is defined by gRPC." 24380 type: string 24381 required: 24382 - port 24383 type: object 24384 httpGet: 24385 description: HTTPGet specifies the http request to perform. 24386 properties: 24387 host: 24388 description: Host name to connect to, defaults to 24389 the pod IP. You probably want to set "Host" in 24390 httpHeaders instead. 24391 type: string 24392 httpHeaders: 24393 description: Custom headers to set in the request. 24394 HTTP allows repeated headers. 24395 items: 24396 description: HTTPHeader describes a custom header 24397 to be used in HTTP probes 24398 properties: 24399 name: 24400 description: The header field name 24401 type: string 24402 value: 24403 description: The header field value 24404 type: string 24405 required: 24406 - name 24407 - value 24408 type: object 24409 type: array 24410 path: 24411 description: Path to access on the HTTP server. 24412 type: string 24413 port: 24414 anyOf: 24415 - type: integer 24416 - type: string 24417 description: Name or number of the port to access 24418 on the container. Number must be in the range 24419 1 to 65535. Name must be an IANA_SVC_NAME. 24420 x-kubernetes-int-or-string: true 24421 scheme: 24422 description: Scheme to use for connecting to the 24423 host. Defaults to HTTP. 24424 type: string 24425 required: 24426 - port 24427 type: object 24428 initialDelaySeconds: 24429 description: 'Number of seconds after the container 24430 has started before liveness probes are initiated. 24431 More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 24432 format: int32 24433 type: integer 24434 periodSeconds: 24435 description: How often (in seconds) to perform the probe. 24436 Default to 10 seconds. Minimum value is 1. 24437 format: int32 24438 type: integer 24439 successThreshold: 24440 description: Minimum consecutive successes for the probe 24441 to be considered successful after having failed. Defaults 24442 to 1. Must be 1 for liveness and startup. Minimum 24443 value is 1. 24444 format: int32 24445 type: integer 24446 tcpSocket: 24447 description: TCPSocket specifies an action involving 24448 a TCP port. 24449 properties: 24450 host: 24451 description: 'Optional: Host name to connect to, 24452 defaults to the pod IP.' 24453 type: string 24454 port: 24455 anyOf: 24456 - type: integer 24457 - type: string 24458 description: Number or name of the port to access 24459 on the container. Number must be in the range 24460 1 to 65535. Name must be an IANA_SVC_NAME. 24461 x-kubernetes-int-or-string: true 24462 required: 24463 - port 24464 type: object 24465 terminationGracePeriodSeconds: 24466 description: Optional duration in seconds the pod needs 24467 to terminate gracefully upon probe failure. The grace 24468 period is the duration in seconds after the processes 24469 running in the pod are sent a termination signal and 24470 the time when the processes are forcibly halted with 24471 a kill signal. Set this value longer than the expected 24472 cleanup time for your process. If this value is nil, 24473 the pod's terminationGracePeriodSeconds will be used. 24474 Otherwise, this value overrides the value provided 24475 by the pod spec. Value must be non-negative integer. 24476 The value zero indicates stop immediately via the 24477 kill signal (no opportunity to shut down). This is 24478 a beta field and requires enabling ProbeTerminationGracePeriod 24479 feature gate. Minimum value is 1. spec.terminationGracePeriodSeconds 24480 is used if unset. 24481 format: int64 24482 type: integer 24483 timeoutSeconds: 24484 description: 'Number of seconds after which the probe 24485 times out. Defaults to 1 second. Minimum value is 24486 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 24487 format: int32 24488 type: integer 24489 type: object 24490 stdin: 24491 description: Whether this container should allocate a buffer 24492 for stdin in the container runtime. If this is not set, 24493 reads from stdin in the container will always result in 24494 EOF. Default is false. 24495 type: boolean 24496 stdinOnce: 24497 description: Whether the container runtime should close 24498 the stdin channel after it has been opened by a single 24499 attach. When stdin is true the stdin stream will remain 24500 open across multiple attach sessions. If stdinOnce is 24501 set to true, stdin is opened on container start, is empty 24502 until the first client attaches to stdin, and then remains 24503 open and accepts data until the client disconnects, at 24504 which time stdin is closed and remains closed until the 24505 container is restarted. If this flag is false, a container 24506 processes that reads from stdin will never receive an 24507 EOF. Default is false 24508 type: boolean 24509 terminationMessagePath: 24510 description: 'Optional: Path at which the file to which 24511 the container''s termination message will be written is 24512 mounted into the container''s filesystem. Message written 24513 is intended to be brief final status, such as an assertion 24514 failure message. Will be truncated by the node if greater 24515 than 4096 bytes. The total message length across all containers 24516 will be limited to 12kb. Defaults to /dev/termination-log. 24517 Cannot be updated.' 24518 type: string 24519 terminationMessagePolicy: 24520 description: Indicate how the termination message should 24521 be populated. File will use the contents of terminationMessagePath 24522 to populate the container status message on both success 24523 and failure. FallbackToLogsOnError will use the last chunk 24524 of container log output if the termination message file 24525 is empty and the container exited with an error. The log 24526 output is limited to 2048 bytes or 80 lines, whichever 24527 is smaller. Defaults to File. Cannot be updated. 24528 type: string 24529 tty: 24530 description: Whether this container should allocate a TTY 24531 for itself, also requires 'stdin' to be true. Default 24532 is false. 24533 type: boolean 24534 volumeDevices: 24535 description: volumeDevices is the list of block devices 24536 to be used by the container. 24537 items: 24538 description: volumeDevice describes a mapping of a raw 24539 block device within a container. 24540 properties: 24541 devicePath: 24542 description: devicePath is the path inside of the 24543 container that the device will be mapped to. 24544 type: string 24545 name: 24546 description: name must match the name of a persistentVolumeClaim 24547 in the pod 24548 type: string 24549 required: 24550 - devicePath 24551 - name 24552 type: object 24553 type: array 24554 volumeMounts: 24555 description: Pod volumes to mount into the container's filesystem. 24556 Cannot be updated. 24557 items: 24558 description: VolumeMount describes a mounting of a Volume 24559 within a container. 24560 properties: 24561 mountPath: 24562 description: Path within the container at which the 24563 volume should be mounted. Must not contain ':'. 24564 type: string 24565 mountPropagation: 24566 description: mountPropagation determines how mounts 24567 are propagated from the host to container and the 24568 other way around. When not set, MountPropagationNone 24569 is used. This field is beta in 1.10. 24570 type: string 24571 name: 24572 description: This must match the Name of a Volume. 24573 type: string 24574 readOnly: 24575 description: Mounted read-only if true, read-write 24576 otherwise (false or unspecified). Defaults to false. 24577 type: boolean 24578 subPath: 24579 description: Path within the volume from which the 24580 container's volume should be mounted. Defaults to 24581 "" (volume's root). 24582 type: string 24583 subPathExpr: 24584 description: Expanded path within the volume from 24585 which the container's volume should be mounted. 24586 Behaves similarly to SubPath but environment variable 24587 references $(VAR_NAME) are expanded using the container's 24588 environment. Defaults to "" (volume's root). SubPathExpr 24589 and SubPath are mutually exclusive. 24590 type: string 24591 required: 24592 - mountPath 24593 - name 24594 type: object 24595 type: array 24596 workingDir: 24597 description: Container's working directory. If not specified, 24598 the container runtime's default will be used, which might 24599 be configured in the container image. Cannot be updated. 24600 type: string 24601 required: 24602 - name 24603 type: object 24604 type: array 24605 dnsConfig: 24606 description: Specifies the DNS parameters of a pod. Parameters 24607 specified here will be merged to the generated DNS configuration 24608 based on DNSPolicy. 24609 properties: 24610 nameservers: 24611 description: A list of DNS name server IP addresses. This 24612 will be appended to the base nameservers generated from 24613 DNSPolicy. Duplicated nameservers will be removed. 24614 items: 24615 type: string 24616 type: array 24617 options: 24618 description: A list of DNS resolver options. This will be 24619 merged with the base options generated from DNSPolicy. Duplicated 24620 entries will be removed. Resolution options given in Options 24621 will override those that appear in the base DNSPolicy. 24622 items: 24623 description: PodDNSConfigOption defines DNS resolver options 24624 of a pod. 24625 properties: 24626 name: 24627 description: Required. 24628 type: string 24629 value: 24630 type: string 24631 type: object 24632 type: array 24633 searches: 24634 description: A list of DNS search domains for host-name lookup. 24635 This will be appended to the base search paths generated 24636 from DNSPolicy. Duplicated search paths will be removed. 24637 items: 24638 type: string 24639 type: array 24640 type: object 24641 dnsPolicy: 24642 description: Set DNS policy for the pod. Defaults to "ClusterFirst". 24643 Valid values are 'ClusterFirstWithHostNet', 'ClusterFirst', 24644 'Default' or 'None'. DNS parameters given in DNSConfig will 24645 be merged with the policy selected with DNSPolicy. To have DNS 24646 options set along with hostNetwork, you have to specify DNS 24647 policy explicitly to 'ClusterFirstWithHostNet'. 24648 type: string 24649 enableServiceLinks: 24650 description: 'EnableServiceLinks indicates whether information 24651 about services should be injected into pod''s environment variables, 24652 matching the syntax of Docker links. Optional: Defaults to true.' 24653 type: boolean 24654 ephemeralContainers: 24655 description: List of ephemeral containers run in this pod. Ephemeral 24656 containers may be run in an existing pod to perform user-initiated 24657 actions such as debugging. This list cannot be specified when 24658 creating a pod, and it cannot be modified by updating the pod 24659 spec. In order to add an ephemeral container to an existing 24660 pod, use the pod's ephemeralcontainers subresource. 24661 items: 24662 description: "An EphemeralContainer is a temporary container 24663 that you may add to an existing Pod for user-initiated activities 24664 such as debugging. Ephemeral containers have no resource or 24665 scheduling guarantees, and they will not be restarted when 24666 they exit or when a Pod is removed or restarted. The kubelet 24667 may evict a Pod if an ephemeral container causes the Pod to 24668 exceed its resource allocation. \n To add an ephemeral container, 24669 use the ephemeralcontainers subresource of an existing Pod. 24670 Ephemeral containers may not be removed or restarted." 24671 properties: 24672 args: 24673 description: 'Arguments to the entrypoint. The image''s 24674 CMD is used if this is not provided. Variable references 24675 $(VAR_NAME) are expanded using the container''s environment. 24676 If a variable cannot be resolved, the reference in the 24677 input string will be unchanged. Double $$ are reduced 24678 to a single $, which allows for escaping the $(VAR_NAME) 24679 syntax: i.e. "$$(VAR_NAME)" will produce the string literal 24680 "$(VAR_NAME)". Escaped references will never be expanded, 24681 regardless of whether the variable exists or not. Cannot 24682 be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell' 24683 items: 24684 type: string 24685 type: array 24686 command: 24687 description: 'Entrypoint array. Not executed within a shell. 24688 The image''s ENTRYPOINT is used if this is not provided. 24689 Variable references $(VAR_NAME) are expanded using the 24690 container''s environment. If a variable cannot be resolved, 24691 the reference in the input string will be unchanged. Double 24692 $$ are reduced to a single $, which allows for escaping 24693 the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce 24694 the string literal "$(VAR_NAME)". Escaped references will 24695 never be expanded, regardless of whether the variable 24696 exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell' 24697 items: 24698 type: string 24699 type: array 24700 env: 24701 description: List of environment variables to set in the 24702 container. Cannot be updated. 24703 items: 24704 description: EnvVar represents an environment variable 24705 present in a Container. 24706 properties: 24707 name: 24708 description: Name of the environment variable. Must 24709 be a C_IDENTIFIER. 24710 type: string 24711 value: 24712 description: 'Variable references $(VAR_NAME) are 24713 expanded using the previously defined environment 24714 variables in the container and any service environment 24715 variables. If a variable cannot be resolved, the 24716 reference in the input string will be unchanged. 24717 Double $$ are reduced to a single $, which allows 24718 for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" 24719 will produce the string literal "$(VAR_NAME)". Escaped 24720 references will never be expanded, regardless of 24721 whether the variable exists or not. Defaults to 24722 "".' 24723 type: string 24724 valueFrom: 24725 description: Source for the environment variable's 24726 value. Cannot be used if value is not empty. 24727 properties: 24728 configMapKeyRef: 24729 description: Selects a key of a ConfigMap. 24730 properties: 24731 key: 24732 description: The key to select. 24733 type: string 24734 name: 24735 description: 'Name of the referent. More info: 24736 https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 24737 TODO: Add other useful fields. apiVersion, 24738 kind, uid?' 24739 type: string 24740 optional: 24741 description: Specify whether the ConfigMap 24742 or its key must be defined 24743 type: boolean 24744 required: 24745 - key 24746 type: object 24747 fieldRef: 24748 description: 'Selects a field of the pod: supports 24749 metadata.name, metadata.namespace, `metadata.labels[''<KEY>'']`, 24750 `metadata.annotations[''<KEY>'']`, spec.nodeName, 24751 spec.serviceAccountName, status.hostIP, status.podIP, 24752 status.podIPs.' 24753 properties: 24754 apiVersion: 24755 description: Version of the schema the FieldPath 24756 is written in terms of, defaults to "v1". 24757 type: string 24758 fieldPath: 24759 description: Path of the field to select in 24760 the specified API version. 24761 type: string 24762 required: 24763 - fieldPath 24764 type: object 24765 resourceFieldRef: 24766 description: 'Selects a resource of the container: 24767 only resources limits and requests (limits.cpu, 24768 limits.memory, limits.ephemeral-storage, requests.cpu, 24769 requests.memory and requests.ephemeral-storage) 24770 are currently supported.' 24771 properties: 24772 containerName: 24773 description: 'Container name: required for 24774 volumes, optional for env vars' 24775 type: string 24776 divisor: 24777 anyOf: 24778 - type: integer 24779 - type: string 24780 description: Specifies the output format of 24781 the exposed resources, defaults to "1" 24782 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 24783 x-kubernetes-int-or-string: true 24784 resource: 24785 description: 'Required: resource to select' 24786 type: string 24787 required: 24788 - resource 24789 type: object 24790 secretKeyRef: 24791 description: Selects a key of a secret in the 24792 pod's namespace 24793 properties: 24794 key: 24795 description: The key of the secret to select 24796 from. Must be a valid secret key. 24797 type: string 24798 name: 24799 description: 'Name of the referent. More info: 24800 https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 24801 TODO: Add other useful fields. apiVersion, 24802 kind, uid?' 24803 type: string 24804 optional: 24805 description: Specify whether the Secret or 24806 its key must be defined 24807 type: boolean 24808 required: 24809 - key 24810 type: object 24811 type: object 24812 required: 24813 - name 24814 type: object 24815 type: array 24816 envFrom: 24817 description: List of sources to populate environment variables 24818 in the container. The keys defined within a source must 24819 be a C_IDENTIFIER. All invalid keys will be reported as 24820 an event when the container is starting. When a key exists 24821 in multiple sources, the value associated with the last 24822 source will take precedence. Values defined by an Env 24823 with a duplicate key will take precedence. Cannot be updated. 24824 items: 24825 description: EnvFromSource represents the source of a 24826 set of ConfigMaps 24827 properties: 24828 configMapRef: 24829 description: The ConfigMap to select from 24830 properties: 24831 name: 24832 description: 'Name of the referent. More info: 24833 https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 24834 TODO: Add other useful fields. apiVersion, kind, 24835 uid?' 24836 type: string 24837 optional: 24838 description: Specify whether the ConfigMap must 24839 be defined 24840 type: boolean 24841 type: object 24842 prefix: 24843 description: An optional identifier to prepend to 24844 each key in the ConfigMap. Must be a C_IDENTIFIER. 24845 type: string 24846 secretRef: 24847 description: The Secret to select from 24848 properties: 24849 name: 24850 description: 'Name of the referent. More info: 24851 https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 24852 TODO: Add other useful fields. apiVersion, kind, 24853 uid?' 24854 type: string 24855 optional: 24856 description: Specify whether the Secret must be 24857 defined 24858 type: boolean 24859 type: object 24860 type: object 24861 type: array 24862 image: 24863 description: 'Container image name. More info: https://kubernetes.io/docs/concepts/containers/images' 24864 type: string 24865 imagePullPolicy: 24866 description: 'Image pull policy. One of Always, Never, IfNotPresent. 24867 Defaults to Always if :latest tag is specified, or IfNotPresent 24868 otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images' 24869 type: string 24870 lifecycle: 24871 description: Lifecycle is not allowed for ephemeral containers. 24872 properties: 24873 postStart: 24874 description: 'PostStart is called immediately after 24875 a container is created. If the handler fails, the 24876 container is terminated and restarted according to 24877 its restart policy. Other management of the container 24878 blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks' 24879 properties: 24880 exec: 24881 description: Exec specifies the action to take. 24882 properties: 24883 command: 24884 description: Command is the command line to 24885 execute inside the container, the working 24886 directory for the command is root ('/') in 24887 the container's filesystem. The command is 24888 simply exec'd, it is not run inside a shell, 24889 so traditional shell instructions ('|', etc) 24890 won't work. To use a shell, you need to explicitly 24891 call out to that shell. Exit status of 0 is 24892 treated as live/healthy and non-zero is unhealthy. 24893 items: 24894 type: string 24895 type: array 24896 type: object 24897 httpGet: 24898 description: HTTPGet specifies the http request 24899 to perform. 24900 properties: 24901 host: 24902 description: Host name to connect to, defaults 24903 to the pod IP. You probably want to set "Host" 24904 in httpHeaders instead. 24905 type: string 24906 httpHeaders: 24907 description: Custom headers to set in the request. 24908 HTTP allows repeated headers. 24909 items: 24910 description: HTTPHeader describes a custom 24911 header to be used in HTTP probes 24912 properties: 24913 name: 24914 description: The header field name 24915 type: string 24916 value: 24917 description: The header field value 24918 type: string 24919 required: 24920 - name 24921 - value 24922 type: object 24923 type: array 24924 path: 24925 description: Path to access on the HTTP server. 24926 type: string 24927 port: 24928 anyOf: 24929 - type: integer 24930 - type: string 24931 description: Name or number of the port to access 24932 on the container. Number must be in the range 24933 1 to 65535. Name must be an IANA_SVC_NAME. 24934 x-kubernetes-int-or-string: true 24935 scheme: 24936 description: Scheme to use for connecting to 24937 the host. Defaults to HTTP. 24938 type: string 24939 required: 24940 - port 24941 type: object 24942 tcpSocket: 24943 description: Deprecated. TCPSocket is NOT supported 24944 as a LifecycleHandler and kept for the backward 24945 compatibility. There are no validation of this 24946 field and lifecycle hooks will fail in runtime 24947 when tcp handler is specified. 24948 properties: 24949 host: 24950 description: 'Optional: Host name to connect 24951 to, defaults to the pod IP.' 24952 type: string 24953 port: 24954 anyOf: 24955 - type: integer 24956 - type: string 24957 description: Number or name of the port to access 24958 on the container. Number must be in the range 24959 1 to 65535. Name must be an IANA_SVC_NAME. 24960 x-kubernetes-int-or-string: true 24961 required: 24962 - port 24963 type: object 24964 type: object 24965 preStop: 24966 description: 'PreStop is called immediately before a 24967 container is terminated due to an API request or management 24968 event such as liveness/startup probe failure, preemption, 24969 resource contention, etc. The handler is not called 24970 if the container crashes or exits. The Pod''s termination 24971 grace period countdown begins before the PreStop hook 24972 is executed. Regardless of the outcome of the handler, 24973 the container will eventually terminate within the 24974 Pod''s termination grace period (unless delayed by 24975 finalizers). Other management of the container blocks 24976 until the hook completes or until the termination 24977 grace period is reached. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks' 24978 properties: 24979 exec: 24980 description: Exec specifies the action to take. 24981 properties: 24982 command: 24983 description: Command is the command line to 24984 execute inside the container, the working 24985 directory for the command is root ('/') in 24986 the container's filesystem. The command is 24987 simply exec'd, it is not run inside a shell, 24988 so traditional shell instructions ('|', etc) 24989 won't work. To use a shell, you need to explicitly 24990 call out to that shell. Exit status of 0 is 24991 treated as live/healthy and non-zero is unhealthy. 24992 items: 24993 type: string 24994 type: array 24995 type: object 24996 httpGet: 24997 description: HTTPGet specifies the http request 24998 to perform. 24999 properties: 25000 host: 25001 description: Host name to connect to, defaults 25002 to the pod IP. You probably want to set "Host" 25003 in httpHeaders instead. 25004 type: string 25005 httpHeaders: 25006 description: Custom headers to set in the request. 25007 HTTP allows repeated headers. 25008 items: 25009 description: HTTPHeader describes a custom 25010 header to be used in HTTP probes 25011 properties: 25012 name: 25013 description: The header field name 25014 type: string 25015 value: 25016 description: The header field value 25017 type: string 25018 required: 25019 - name 25020 - value 25021 type: object 25022 type: array 25023 path: 25024 description: Path to access on the HTTP server. 25025 type: string 25026 port: 25027 anyOf: 25028 - type: integer 25029 - type: string 25030 description: Name or number of the port to access 25031 on the container. Number must be in the range 25032 1 to 65535. Name must be an IANA_SVC_NAME. 25033 x-kubernetes-int-or-string: true 25034 scheme: 25035 description: Scheme to use for connecting to 25036 the host. Defaults to HTTP. 25037 type: string 25038 required: 25039 - port 25040 type: object 25041 tcpSocket: 25042 description: Deprecated. TCPSocket is NOT supported 25043 as a LifecycleHandler and kept for the backward 25044 compatibility. There are no validation of this 25045 field and lifecycle hooks will fail in runtime 25046 when tcp handler is specified. 25047 properties: 25048 host: 25049 description: 'Optional: Host name to connect 25050 to, defaults to the pod IP.' 25051 type: string 25052 port: 25053 anyOf: 25054 - type: integer 25055 - type: string 25056 description: Number or name of the port to access 25057 on the container. Number must be in the range 25058 1 to 65535. Name must be an IANA_SVC_NAME. 25059 x-kubernetes-int-or-string: true 25060 required: 25061 - port 25062 type: object 25063 type: object 25064 type: object 25065 livenessProbe: 25066 description: Probes are not allowed for ephemeral containers. 25067 properties: 25068 exec: 25069 description: Exec specifies the action to take. 25070 properties: 25071 command: 25072 description: Command is the command line to execute 25073 inside the container, the working directory for 25074 the command is root ('/') in the container's 25075 filesystem. The command is simply exec'd, it is 25076 not run inside a shell, so traditional shell instructions 25077 ('|', etc) won't work. To use a shell, you need 25078 to explicitly call out to that shell. Exit status 25079 of 0 is treated as live/healthy and non-zero is 25080 unhealthy. 25081 items: 25082 type: string 25083 type: array 25084 type: object 25085 failureThreshold: 25086 description: Minimum consecutive failures for the probe 25087 to be considered failed after having succeeded. Defaults 25088 to 3. Minimum value is 1. 25089 format: int32 25090 type: integer 25091 grpc: 25092 description: GRPC specifies an action involving a GRPC 25093 port. This is a beta field and requires enabling GRPCContainerProbe 25094 feature gate. 25095 properties: 25096 port: 25097 description: Port number of the gRPC service. Number 25098 must be in the range 1 to 65535. 25099 format: int32 25100 type: integer 25101 service: 25102 description: "Service is the name of the service 25103 to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). 25104 \n If this is not specified, the default behavior 25105 is defined by gRPC." 25106 type: string 25107 required: 25108 - port 25109 type: object 25110 httpGet: 25111 description: HTTPGet specifies the http request to perform. 25112 properties: 25113 host: 25114 description: Host name to connect to, defaults to 25115 the pod IP. You probably want to set "Host" in 25116 httpHeaders instead. 25117 type: string 25118 httpHeaders: 25119 description: Custom headers to set in the request. 25120 HTTP allows repeated headers. 25121 items: 25122 description: HTTPHeader describes a custom header 25123 to be used in HTTP probes 25124 properties: 25125 name: 25126 description: The header field name 25127 type: string 25128 value: 25129 description: The header field value 25130 type: string 25131 required: 25132 - name 25133 - value 25134 type: object 25135 type: array 25136 path: 25137 description: Path to access on the HTTP server. 25138 type: string 25139 port: 25140 anyOf: 25141 - type: integer 25142 - type: string 25143 description: Name or number of the port to access 25144 on the container. Number must be in the range 25145 1 to 65535. Name must be an IANA_SVC_NAME. 25146 x-kubernetes-int-or-string: true 25147 scheme: 25148 description: Scheme to use for connecting to the 25149 host. Defaults to HTTP. 25150 type: string 25151 required: 25152 - port 25153 type: object 25154 initialDelaySeconds: 25155 description: 'Number of seconds after the container 25156 has started before liveness probes are initiated. 25157 More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 25158 format: int32 25159 type: integer 25160 periodSeconds: 25161 description: How often (in seconds) to perform the probe. 25162 Default to 10 seconds. Minimum value is 1. 25163 format: int32 25164 type: integer 25165 successThreshold: 25166 description: Minimum consecutive successes for the probe 25167 to be considered successful after having failed. Defaults 25168 to 1. Must be 1 for liveness and startup. Minimum 25169 value is 1. 25170 format: int32 25171 type: integer 25172 tcpSocket: 25173 description: TCPSocket specifies an action involving 25174 a TCP port. 25175 properties: 25176 host: 25177 description: 'Optional: Host name to connect to, 25178 defaults to the pod IP.' 25179 type: string 25180 port: 25181 anyOf: 25182 - type: integer 25183 - type: string 25184 description: Number or name of the port to access 25185 on the container. Number must be in the range 25186 1 to 65535. Name must be an IANA_SVC_NAME. 25187 x-kubernetes-int-or-string: true 25188 required: 25189 - port 25190 type: object 25191 terminationGracePeriodSeconds: 25192 description: Optional duration in seconds the pod needs 25193 to terminate gracefully upon probe failure. The grace 25194 period is the duration in seconds after the processes 25195 running in the pod are sent a termination signal and 25196 the time when the processes are forcibly halted with 25197 a kill signal. Set this value longer than the expected 25198 cleanup time for your process. If this value is nil, 25199 the pod's terminationGracePeriodSeconds will be used. 25200 Otherwise, this value overrides the value provided 25201 by the pod spec. Value must be non-negative integer. 25202 The value zero indicates stop immediately via the 25203 kill signal (no opportunity to shut down). This is 25204 a beta field and requires enabling ProbeTerminationGracePeriod 25205 feature gate. Minimum value is 1. spec.terminationGracePeriodSeconds 25206 is used if unset. 25207 format: int64 25208 type: integer 25209 timeoutSeconds: 25210 description: 'Number of seconds after which the probe 25211 times out. Defaults to 1 second. Minimum value is 25212 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 25213 format: int32 25214 type: integer 25215 type: object 25216 name: 25217 description: Name of the ephemeral container specified as 25218 a DNS_LABEL. This name must be unique among all containers, 25219 init containers and ephemeral containers. 25220 type: string 25221 ports: 25222 description: Ports are not allowed for ephemeral containers. 25223 items: 25224 description: ContainerPort represents a network port in 25225 a single container. 25226 properties: 25227 containerPort: 25228 description: Number of port to expose on the pod's 25229 IP address. This must be a valid port number, 0 25230 < x < 65536. 25231 format: int32 25232 type: integer 25233 hostIP: 25234 description: What host IP to bind the external port 25235 to. 25236 type: string 25237 hostPort: 25238 description: Number of port to expose on the host. 25239 If specified, this must be a valid port number, 25240 0 < x < 65536. If HostNetwork is specified, this 25241 must match ContainerPort. Most containers do not 25242 need this. 25243 format: int32 25244 type: integer 25245 name: 25246 description: If specified, this must be an IANA_SVC_NAME 25247 and unique within the pod. Each named port in a 25248 pod must have a unique name. Name for the port that 25249 can be referred to by services. 25250 type: string 25251 protocol: 25252 default: TCP 25253 description: Protocol for port. Must be UDP, TCP, 25254 or SCTP. Defaults to "TCP". 25255 type: string 25256 required: 25257 - containerPort 25258 type: object 25259 type: array 25260 x-kubernetes-list-map-keys: 25261 - containerPort 25262 - protocol 25263 x-kubernetes-list-type: map 25264 readinessProbe: 25265 description: Probes are not allowed for ephemeral containers. 25266 properties: 25267 exec: 25268 description: Exec specifies the action to take. 25269 properties: 25270 command: 25271 description: Command is the command line to execute 25272 inside the container, the working directory for 25273 the command is root ('/') in the container's 25274 filesystem. The command is simply exec'd, it is 25275 not run inside a shell, so traditional shell instructions 25276 ('|', etc) won't work. To use a shell, you need 25277 to explicitly call out to that shell. Exit status 25278 of 0 is treated as live/healthy and non-zero is 25279 unhealthy. 25280 items: 25281 type: string 25282 type: array 25283 type: object 25284 failureThreshold: 25285 description: Minimum consecutive failures for the probe 25286 to be considered failed after having succeeded. Defaults 25287 to 3. Minimum value is 1. 25288 format: int32 25289 type: integer 25290 grpc: 25291 description: GRPC specifies an action involving a GRPC 25292 port. This is a beta field and requires enabling GRPCContainerProbe 25293 feature gate. 25294 properties: 25295 port: 25296 description: Port number of the gRPC service. Number 25297 must be in the range 1 to 65535. 25298 format: int32 25299 type: integer 25300 service: 25301 description: "Service is the name of the service 25302 to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). 25303 \n If this is not specified, the default behavior 25304 is defined by gRPC." 25305 type: string 25306 required: 25307 - port 25308 type: object 25309 httpGet: 25310 description: HTTPGet specifies the http request to perform. 25311 properties: 25312 host: 25313 description: Host name to connect to, defaults to 25314 the pod IP. You probably want to set "Host" in 25315 httpHeaders instead. 25316 type: string 25317 httpHeaders: 25318 description: Custom headers to set in the request. 25319 HTTP allows repeated headers. 25320 items: 25321 description: HTTPHeader describes a custom header 25322 to be used in HTTP probes 25323 properties: 25324 name: 25325 description: The header field name 25326 type: string 25327 value: 25328 description: The header field value 25329 type: string 25330 required: 25331 - name 25332 - value 25333 type: object 25334 type: array 25335 path: 25336 description: Path to access on the HTTP server. 25337 type: string 25338 port: 25339 anyOf: 25340 - type: integer 25341 - type: string 25342 description: Name or number of the port to access 25343 on the container. Number must be in the range 25344 1 to 65535. Name must be an IANA_SVC_NAME. 25345 x-kubernetes-int-or-string: true 25346 scheme: 25347 description: Scheme to use for connecting to the 25348 host. Defaults to HTTP. 25349 type: string 25350 required: 25351 - port 25352 type: object 25353 initialDelaySeconds: 25354 description: 'Number of seconds after the container 25355 has started before liveness probes are initiated. 25356 More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 25357 format: int32 25358 type: integer 25359 periodSeconds: 25360 description: How often (in seconds) to perform the probe. 25361 Default to 10 seconds. Minimum value is 1. 25362 format: int32 25363 type: integer 25364 successThreshold: 25365 description: Minimum consecutive successes for the probe 25366 to be considered successful after having failed. Defaults 25367 to 1. Must be 1 for liveness and startup. Minimum 25368 value is 1. 25369 format: int32 25370 type: integer 25371 tcpSocket: 25372 description: TCPSocket specifies an action involving 25373 a TCP port. 25374 properties: 25375 host: 25376 description: 'Optional: Host name to connect to, 25377 defaults to the pod IP.' 25378 type: string 25379 port: 25380 anyOf: 25381 - type: integer 25382 - type: string 25383 description: Number or name of the port to access 25384 on the container. Number must be in the range 25385 1 to 65535. Name must be an IANA_SVC_NAME. 25386 x-kubernetes-int-or-string: true 25387 required: 25388 - port 25389 type: object 25390 terminationGracePeriodSeconds: 25391 description: Optional duration in seconds the pod needs 25392 to terminate gracefully upon probe failure. The grace 25393 period is the duration in seconds after the processes 25394 running in the pod are sent a termination signal and 25395 the time when the processes are forcibly halted with 25396 a kill signal. Set this value longer than the expected 25397 cleanup time for your process. If this value is nil, 25398 the pod's terminationGracePeriodSeconds will be used. 25399 Otherwise, this value overrides the value provided 25400 by the pod spec. Value must be non-negative integer. 25401 The value zero indicates stop immediately via the 25402 kill signal (no opportunity to shut down). This is 25403 a beta field and requires enabling ProbeTerminationGracePeriod 25404 feature gate. Minimum value is 1. spec.terminationGracePeriodSeconds 25405 is used if unset. 25406 format: int64 25407 type: integer 25408 timeoutSeconds: 25409 description: 'Number of seconds after which the probe 25410 times out. Defaults to 1 second. Minimum value is 25411 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 25412 format: int32 25413 type: integer 25414 type: object 25415 resources: 25416 description: Resources are not allowed for ephemeral containers. 25417 Ephemeral containers use spare resources already allocated 25418 to the pod. 25419 properties: 25420 limits: 25421 additionalProperties: 25422 anyOf: 25423 - type: integer 25424 - type: string 25425 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 25426 x-kubernetes-int-or-string: true 25427 description: 'Limits describes the maximum amount of 25428 compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' 25429 type: object 25430 requests: 25431 additionalProperties: 25432 anyOf: 25433 - type: integer 25434 - type: string 25435 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 25436 x-kubernetes-int-or-string: true 25437 description: 'Requests describes the minimum amount 25438 of compute resources required. If Requests is omitted 25439 for a container, it defaults to Limits if that is 25440 explicitly specified, otherwise to an implementation-defined 25441 value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' 25442 type: object 25443 type: object 25444 securityContext: 25445 description: 'Optional: SecurityContext defines the security 25446 options the ephemeral container should be run with. If 25447 set, the fields of SecurityContext override the equivalent 25448 fields of PodSecurityContext.' 25449 properties: 25450 allowPrivilegeEscalation: 25451 description: 'AllowPrivilegeEscalation controls whether 25452 a process can gain more privileges than its parent 25453 process. This bool directly controls if the no_new_privs 25454 flag will be set on the container process. AllowPrivilegeEscalation 25455 is true always when the container is: 1) run as Privileged 25456 2) has CAP_SYS_ADMIN Note that this field cannot be 25457 set when spec.os.name is windows.' 25458 type: boolean 25459 capabilities: 25460 description: The capabilities to add/drop when running 25461 containers. Defaults to the default set of capabilities 25462 granted by the container runtime. Note that this field 25463 cannot be set when spec.os.name is windows. 25464 properties: 25465 add: 25466 description: Added capabilities 25467 items: 25468 description: Capability represent POSIX capabilities 25469 type 25470 type: string 25471 type: array 25472 drop: 25473 description: Removed capabilities 25474 items: 25475 description: Capability represent POSIX capabilities 25476 type 25477 type: string 25478 type: array 25479 type: object 25480 privileged: 25481 description: Run container in privileged mode. Processes 25482 in privileged containers are essentially equivalent 25483 to root on the host. Defaults to false. Note that 25484 this field cannot be set when spec.os.name is windows. 25485 type: boolean 25486 procMount: 25487 description: procMount denotes the type of proc mount 25488 to use for the containers. The default is DefaultProcMount 25489 which uses the container runtime defaults for readonly 25490 paths and masked paths. This requires the ProcMountType 25491 feature flag to be enabled. Note that this field cannot 25492 be set when spec.os.name is windows. 25493 type: string 25494 readOnlyRootFilesystem: 25495 description: Whether this container has a read-only 25496 root filesystem. Default is false. Note that this 25497 field cannot be set when spec.os.name is windows. 25498 type: boolean 25499 runAsGroup: 25500 description: The GID to run the entrypoint of the container 25501 process. Uses runtime default if unset. May also be 25502 set in PodSecurityContext. If set in both SecurityContext 25503 and PodSecurityContext, the value specified in SecurityContext 25504 takes precedence. Note that this field cannot be set 25505 when spec.os.name is windows. 25506 format: int64 25507 type: integer 25508 runAsNonRoot: 25509 description: Indicates that the container must run as 25510 a non-root user. If true, the Kubelet will validate 25511 the image at runtime to ensure that it does not run 25512 as UID 0 (root) and fail to start the container if 25513 it does. If unset or false, no such validation will 25514 be performed. May also be set in PodSecurityContext. If 25515 set in both SecurityContext and PodSecurityContext, 25516 the value specified in SecurityContext takes precedence. 25517 type: boolean 25518 runAsUser: 25519 description: The UID to run the entrypoint of the container 25520 process. Defaults to user specified in image metadata 25521 if unspecified. May also be set in PodSecurityContext. If 25522 set in both SecurityContext and PodSecurityContext, 25523 the value specified in SecurityContext takes precedence. 25524 Note that this field cannot be set when spec.os.name 25525 is windows. 25526 format: int64 25527 type: integer 25528 seLinuxOptions: 25529 description: The SELinux context to be applied to the 25530 container. If unspecified, the container runtime will 25531 allocate a random SELinux context for each container. May 25532 also be set in PodSecurityContext. If set in both 25533 SecurityContext and PodSecurityContext, the value 25534 specified in SecurityContext takes precedence. Note 25535 that this field cannot be set when spec.os.name is 25536 windows. 25537 properties: 25538 level: 25539 description: Level is SELinux level label that applies 25540 to the container. 25541 type: string 25542 role: 25543 description: Role is a SELinux role label that applies 25544 to the container. 25545 type: string 25546 type: 25547 description: Type is a SELinux type label that applies 25548 to the container. 25549 type: string 25550 user: 25551 description: User is a SELinux user label that applies 25552 to the container. 25553 type: string 25554 type: object 25555 seccompProfile: 25556 description: The seccomp options to use by this container. 25557 If seccomp options are provided at both the pod & 25558 container level, the container options override the 25559 pod options. Note that this field cannot be set when 25560 spec.os.name is windows. 25561 properties: 25562 localhostProfile: 25563 description: localhostProfile indicates a profile 25564 defined in a file on the node should be used. 25565 The profile must be preconfigured on the node 25566 to work. Must be a descending path, relative to 25567 the kubelet's configured seccomp profile location. 25568 Must only be set if type is "Localhost". 25569 type: string 25570 type: 25571 description: "type indicates which kind of seccomp 25572 profile will be applied. Valid options are: \n 25573 Localhost - a profile defined in a file on the 25574 node should be used. RuntimeDefault - the container 25575 runtime default profile should be used. Unconfined 25576 - no profile should be applied." 25577 type: string 25578 required: 25579 - type 25580 type: object 25581 windowsOptions: 25582 description: The Windows specific settings applied to 25583 all containers. If unspecified, the options from the 25584 PodSecurityContext will be used. If set in both SecurityContext 25585 and PodSecurityContext, the value specified in SecurityContext 25586 takes precedence. Note that this field cannot be set 25587 when spec.os.name is linux. 25588 properties: 25589 gmsaCredentialSpec: 25590 description: GMSACredentialSpec is where the GMSA 25591 admission webhook (https://github.com/kubernetes-sigs/windows-gmsa) 25592 inlines the contents of the GMSA credential spec 25593 named by the GMSACredentialSpecName field. 25594 type: string 25595 gmsaCredentialSpecName: 25596 description: GMSACredentialSpecName is the name 25597 of the GMSA credential spec to use. 25598 type: string 25599 hostProcess: 25600 description: HostProcess determines if a container 25601 should be run as a 'Host Process' container. This 25602 field is alpha-level and will only be honored 25603 by components that enable the WindowsHostProcessContainers 25604 feature flag. Setting this field without the feature 25605 flag will result in errors when validating the 25606 Pod. All of a Pod's containers must have the same 25607 effective HostProcess value (it is not allowed 25608 to have a mix of HostProcess containers and non-HostProcess 25609 containers). In addition, if HostProcess is true 25610 then HostNetwork must also be set to true. 25611 type: boolean 25612 runAsUserName: 25613 description: The UserName in Windows to run the 25614 entrypoint of the container process. Defaults 25615 to the user specified in image metadata if unspecified. 25616 May also be set in PodSecurityContext. If set 25617 in both SecurityContext and PodSecurityContext, 25618 the value specified in SecurityContext takes precedence. 25619 type: string 25620 type: object 25621 type: object 25622 startupProbe: 25623 description: Probes are not allowed for ephemeral containers. 25624 properties: 25625 exec: 25626 description: Exec specifies the action to take. 25627 properties: 25628 command: 25629 description: Command is the command line to execute 25630 inside the container, the working directory for 25631 the command is root ('/') in the container's 25632 filesystem. The command is simply exec'd, it is 25633 not run inside a shell, so traditional shell instructions 25634 ('|', etc) won't work. To use a shell, you need 25635 to explicitly call out to that shell. Exit status 25636 of 0 is treated as live/healthy and non-zero is 25637 unhealthy. 25638 items: 25639 type: string 25640 type: array 25641 type: object 25642 failureThreshold: 25643 description: Minimum consecutive failures for the probe 25644 to be considered failed after having succeeded. Defaults 25645 to 3. Minimum value is 1. 25646 format: int32 25647 type: integer 25648 grpc: 25649 description: GRPC specifies an action involving a GRPC 25650 port. This is a beta field and requires enabling GRPCContainerProbe 25651 feature gate. 25652 properties: 25653 port: 25654 description: Port number of the gRPC service. Number 25655 must be in the range 1 to 65535. 25656 format: int32 25657 type: integer 25658 service: 25659 description: "Service is the name of the service 25660 to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). 25661 \n If this is not specified, the default behavior 25662 is defined by gRPC." 25663 type: string 25664 required: 25665 - port 25666 type: object 25667 httpGet: 25668 description: HTTPGet specifies the http request to perform. 25669 properties: 25670 host: 25671 description: Host name to connect to, defaults to 25672 the pod IP. You probably want to set "Host" in 25673 httpHeaders instead. 25674 type: string 25675 httpHeaders: 25676 description: Custom headers to set in the request. 25677 HTTP allows repeated headers. 25678 items: 25679 description: HTTPHeader describes a custom header 25680 to be used in HTTP probes 25681 properties: 25682 name: 25683 description: The header field name 25684 type: string 25685 value: 25686 description: The header field value 25687 type: string 25688 required: 25689 - name 25690 - value 25691 type: object 25692 type: array 25693 path: 25694 description: Path to access on the HTTP server. 25695 type: string 25696 port: 25697 anyOf: 25698 - type: integer 25699 - type: string 25700 description: Name or number of the port to access 25701 on the container. Number must be in the range 25702 1 to 65535. Name must be an IANA_SVC_NAME. 25703 x-kubernetes-int-or-string: true 25704 scheme: 25705 description: Scheme to use for connecting to the 25706 host. Defaults to HTTP. 25707 type: string 25708 required: 25709 - port 25710 type: object 25711 initialDelaySeconds: 25712 description: 'Number of seconds after the container 25713 has started before liveness probes are initiated. 25714 More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 25715 format: int32 25716 type: integer 25717 periodSeconds: 25718 description: How often (in seconds) to perform the probe. 25719 Default to 10 seconds. Minimum value is 1. 25720 format: int32 25721 type: integer 25722 successThreshold: 25723 description: Minimum consecutive successes for the probe 25724 to be considered successful after having failed. Defaults 25725 to 1. Must be 1 for liveness and startup. Minimum 25726 value is 1. 25727 format: int32 25728 type: integer 25729 tcpSocket: 25730 description: TCPSocket specifies an action involving 25731 a TCP port. 25732 properties: 25733 host: 25734 description: 'Optional: Host name to connect to, 25735 defaults to the pod IP.' 25736 type: string 25737 port: 25738 anyOf: 25739 - type: integer 25740 - type: string 25741 description: Number or name of the port to access 25742 on the container. Number must be in the range 25743 1 to 65535. Name must be an IANA_SVC_NAME. 25744 x-kubernetes-int-or-string: true 25745 required: 25746 - port 25747 type: object 25748 terminationGracePeriodSeconds: 25749 description: Optional duration in seconds the pod needs 25750 to terminate gracefully upon probe failure. The grace 25751 period is the duration in seconds after the processes 25752 running in the pod are sent a termination signal and 25753 the time when the processes are forcibly halted with 25754 a kill signal. Set this value longer than the expected 25755 cleanup time for your process. If this value is nil, 25756 the pod's terminationGracePeriodSeconds will be used. 25757 Otherwise, this value overrides the value provided 25758 by the pod spec. Value must be non-negative integer. 25759 The value zero indicates stop immediately via the 25760 kill signal (no opportunity to shut down). This is 25761 a beta field and requires enabling ProbeTerminationGracePeriod 25762 feature gate. Minimum value is 1. spec.terminationGracePeriodSeconds 25763 is used if unset. 25764 format: int64 25765 type: integer 25766 timeoutSeconds: 25767 description: 'Number of seconds after which the probe 25768 times out. Defaults to 1 second. Minimum value is 25769 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 25770 format: int32 25771 type: integer 25772 type: object 25773 stdin: 25774 description: Whether this container should allocate a buffer 25775 for stdin in the container runtime. If this is not set, 25776 reads from stdin in the container will always result in 25777 EOF. Default is false. 25778 type: boolean 25779 stdinOnce: 25780 description: Whether the container runtime should close 25781 the stdin channel after it has been opened by a single 25782 attach. When stdin is true the stdin stream will remain 25783 open across multiple attach sessions. If stdinOnce is 25784 set to true, stdin is opened on container start, is empty 25785 until the first client attaches to stdin, and then remains 25786 open and accepts data until the client disconnects, at 25787 which time stdin is closed and remains closed until the 25788 container is restarted. If this flag is false, a container 25789 processes that reads from stdin will never receive an 25790 EOF. Default is false 25791 type: boolean 25792 targetContainerName: 25793 description: "If set, the name of the container from PodSpec 25794 that this ephemeral container targets. The ephemeral container 25795 will be run in the namespaces (IPC, PID, etc) of this 25796 container. If not set then the ephemeral container uses 25797 the namespaces configured in the Pod spec. \n The container 25798 runtime must implement support for this feature. If the 25799 runtime does not support namespace targeting then the 25800 result of setting this field is undefined." 25801 type: string 25802 terminationMessagePath: 25803 description: 'Optional: Path at which the file to which 25804 the container''s termination message will be written is 25805 mounted into the container''s filesystem. Message written 25806 is intended to be brief final status, such as an assertion 25807 failure message. Will be truncated by the node if greater 25808 than 4096 bytes. The total message length across all containers 25809 will be limited to 12kb. Defaults to /dev/termination-log. 25810 Cannot be updated.' 25811 type: string 25812 terminationMessagePolicy: 25813 description: Indicate how the termination message should 25814 be populated. File will use the contents of terminationMessagePath 25815 to populate the container status message on both success 25816 and failure. FallbackToLogsOnError will use the last chunk 25817 of container log output if the termination message file 25818 is empty and the container exited with an error. The log 25819 output is limited to 2048 bytes or 80 lines, whichever 25820 is smaller. Defaults to File. Cannot be updated. 25821 type: string 25822 tty: 25823 description: Whether this container should allocate a TTY 25824 for itself, also requires 'stdin' to be true. Default 25825 is false. 25826 type: boolean 25827 volumeDevices: 25828 description: volumeDevices is the list of block devices 25829 to be used by the container. 25830 items: 25831 description: volumeDevice describes a mapping of a raw 25832 block device within a container. 25833 properties: 25834 devicePath: 25835 description: devicePath is the path inside of the 25836 container that the device will be mapped to. 25837 type: string 25838 name: 25839 description: name must match the name of a persistentVolumeClaim 25840 in the pod 25841 type: string 25842 required: 25843 - devicePath 25844 - name 25845 type: object 25846 type: array 25847 volumeMounts: 25848 description: Pod volumes to mount into the container's filesystem. 25849 Subpath mounts are not allowed for ephemeral containers. 25850 Cannot be updated. 25851 items: 25852 description: VolumeMount describes a mounting of a Volume 25853 within a container. 25854 properties: 25855 mountPath: 25856 description: Path within the container at which the 25857 volume should be mounted. Must not contain ':'. 25858 type: string 25859 mountPropagation: 25860 description: mountPropagation determines how mounts 25861 are propagated from the host to container and the 25862 other way around. When not set, MountPropagationNone 25863 is used. This field is beta in 1.10. 25864 type: string 25865 name: 25866 description: This must match the Name of a Volume. 25867 type: string 25868 readOnly: 25869 description: Mounted read-only if true, read-write 25870 otherwise (false or unspecified). Defaults to false. 25871 type: boolean 25872 subPath: 25873 description: Path within the volume from which the 25874 container's volume should be mounted. Defaults to 25875 "" (volume's root). 25876 type: string 25877 subPathExpr: 25878 description: Expanded path within the volume from 25879 which the container's volume should be mounted. 25880 Behaves similarly to SubPath but environment variable 25881 references $(VAR_NAME) are expanded using the container's 25882 environment. Defaults to "" (volume's root). SubPathExpr 25883 and SubPath are mutually exclusive. 25884 type: string 25885 required: 25886 - mountPath 25887 - name 25888 type: object 25889 type: array 25890 workingDir: 25891 description: Container's working directory. If not specified, 25892 the container runtime's default will be used, which might 25893 be configured in the container image. Cannot be updated. 25894 type: string 25895 required: 25896 - name 25897 type: object 25898 type: array 25899 hostAliases: 25900 description: HostAliases is an optional list of hosts and IPs 25901 that will be injected into the pod's hosts file if specified. 25902 This is only valid for non-hostNetwork pods. 25903 items: 25904 description: HostAlias holds the mapping between IP and hostnames 25905 that will be injected as an entry in the pod's hosts file. 25906 properties: 25907 hostnames: 25908 description: Hostnames for the above IP address. 25909 items: 25910 type: string 25911 type: array 25912 ip: 25913 description: IP address of the host file entry. 25914 type: string 25915 type: object 25916 type: array 25917 hostIPC: 25918 description: 'Use the host''s ipc namespace. Optional: Default 25919 to false.' 25920 type: boolean 25921 hostNetwork: 25922 description: Host networking requested for this pod. Use the host's 25923 network namespace. If this option is set, the ports that will 25924 be used must be specified. Default to false. 25925 type: boolean 25926 hostPID: 25927 description: 'Use the host''s pid namespace. Optional: Default 25928 to false.' 25929 type: boolean 25930 hostUsers: 25931 description: 'Use the host''s user namespace. Optional: Default 25932 to true. If set to true or not present, the pod will be run 25933 in the host user namespace, useful for when the pod needs a 25934 feature only available to the host user namespace, such as loading 25935 a kernel module with CAP_SYS_MODULE. When set to false, a new 25936 userns is created for the pod. Setting false is useful for mitigating 25937 container breakout vulnerabilities even allowing users to run 25938 their containers as root without actually having root privileges 25939 on the host. This field is alpha-level and is only honored by 25940 servers that enable the UserNamespacesSupport feature.' 25941 type: boolean 25942 hostname: 25943 description: Specifies the hostname of the Pod If not specified, 25944 the pod's hostname will be set to a system-defined value. 25945 type: string 25946 imagePullSecrets: 25947 description: 'ImagePullSecrets is an optional list of references 25948 to secrets in the same namespace to use for pulling any of the 25949 images used by this PodSpec. If specified, these secrets will 25950 be passed to individual puller implementations for them to use. 25951 More info: https://kubernetes.io/docs/concepts/containers/images#specifying-imagepullsecrets-on-a-pod' 25952 items: 25953 description: LocalObjectReference contains enough information 25954 to let you locate the referenced object inside the same namespace. 25955 properties: 25956 name: 25957 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 25958 TODO: Add other useful fields. apiVersion, kind, uid?' 25959 type: string 25960 type: object 25961 type: array 25962 initContainers: 25963 description: 'List of initialization containers belonging to the 25964 pod. Init containers are executed in order prior to containers 25965 being started. If any init container fails, the pod is considered 25966 to have failed and is handled according to its restartPolicy. 25967 The name for an init container or normal container must be unique 25968 among all containers. Init containers may not have Lifecycle 25969 actions, Readiness probes, Liveness probes, or Startup probes. 25970 The resourceRequirements of an init container are taken into 25971 account during scheduling by finding the highest request/limit 25972 for each resource type, and then using the max of of that value 25973 or the sum of the normal containers. Limits are applied to init 25974 containers in a similar fashion. Init containers cannot currently 25975 be added or removed. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/' 25976 items: 25977 description: A single application container that you want to 25978 run within a pod. 25979 properties: 25980 args: 25981 description: 'Arguments to the entrypoint. The container 25982 image''s CMD is used if this is not provided. Variable 25983 references $(VAR_NAME) are expanded using the container''s 25984 environment. If a variable cannot be resolved, the reference 25985 in the input string will be unchanged. Double $$ are reduced 25986 to a single $, which allows for escaping the $(VAR_NAME) 25987 syntax: i.e. "$$(VAR_NAME)" will produce the string literal 25988 "$(VAR_NAME)". Escaped references will never be expanded, 25989 regardless of whether the variable exists or not. Cannot 25990 be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell' 25991 items: 25992 type: string 25993 type: array 25994 command: 25995 description: 'Entrypoint array. Not executed within a shell. 25996 The container image''s ENTRYPOINT is used if this is not 25997 provided. Variable references $(VAR_NAME) are expanded 25998 using the container''s environment. If a variable cannot 25999 be resolved, the reference in the input string will be 26000 unchanged. Double $$ are reduced to a single $, which 26001 allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" 26002 will produce the string literal "$(VAR_NAME)". Escaped 26003 references will never be expanded, regardless of whether 26004 the variable exists or not. Cannot be updated. More info: 26005 https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell' 26006 items: 26007 type: string 26008 type: array 26009 env: 26010 description: List of environment variables to set in the 26011 container. Cannot be updated. 26012 items: 26013 description: EnvVar represents an environment variable 26014 present in a Container. 26015 properties: 26016 name: 26017 description: Name of the environment variable. Must 26018 be a C_IDENTIFIER. 26019 type: string 26020 value: 26021 description: 'Variable references $(VAR_NAME) are 26022 expanded using the previously defined environment 26023 variables in the container and any service environment 26024 variables. If a variable cannot be resolved, the 26025 reference in the input string will be unchanged. 26026 Double $$ are reduced to a single $, which allows 26027 for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" 26028 will produce the string literal "$(VAR_NAME)". Escaped 26029 references will never be expanded, regardless of 26030 whether the variable exists or not. Defaults to 26031 "".' 26032 type: string 26033 valueFrom: 26034 description: Source for the environment variable's 26035 value. Cannot be used if value is not empty. 26036 properties: 26037 configMapKeyRef: 26038 description: Selects a key of a ConfigMap. 26039 properties: 26040 key: 26041 description: The key to select. 26042 type: string 26043 name: 26044 description: 'Name of the referent. More info: 26045 https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 26046 TODO: Add other useful fields. apiVersion, 26047 kind, uid?' 26048 type: string 26049 optional: 26050 description: Specify whether the ConfigMap 26051 or its key must be defined 26052 type: boolean 26053 required: 26054 - key 26055 type: object 26056 fieldRef: 26057 description: 'Selects a field of the pod: supports 26058 metadata.name, metadata.namespace, `metadata.labels[''<KEY>'']`, 26059 `metadata.annotations[''<KEY>'']`, spec.nodeName, 26060 spec.serviceAccountName, status.hostIP, status.podIP, 26061 status.podIPs.' 26062 properties: 26063 apiVersion: 26064 description: Version of the schema the FieldPath 26065 is written in terms of, defaults to "v1". 26066 type: string 26067 fieldPath: 26068 description: Path of the field to select in 26069 the specified API version. 26070 type: string 26071 required: 26072 - fieldPath 26073 type: object 26074 resourceFieldRef: 26075 description: 'Selects a resource of the container: 26076 only resources limits and requests (limits.cpu, 26077 limits.memory, limits.ephemeral-storage, requests.cpu, 26078 requests.memory and requests.ephemeral-storage) 26079 are currently supported.' 26080 properties: 26081 containerName: 26082 description: 'Container name: required for 26083 volumes, optional for env vars' 26084 type: string 26085 divisor: 26086 anyOf: 26087 - type: integer 26088 - type: string 26089 description: Specifies the output format of 26090 the exposed resources, defaults to "1" 26091 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 26092 x-kubernetes-int-or-string: true 26093 resource: 26094 description: 'Required: resource to select' 26095 type: string 26096 required: 26097 - resource 26098 type: object 26099 secretKeyRef: 26100 description: Selects a key of a secret in the 26101 pod's namespace 26102 properties: 26103 key: 26104 description: The key of the secret to select 26105 from. Must be a valid secret key. 26106 type: string 26107 name: 26108 description: 'Name of the referent. More info: 26109 https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 26110 TODO: Add other useful fields. apiVersion, 26111 kind, uid?' 26112 type: string 26113 optional: 26114 description: Specify whether the Secret or 26115 its key must be defined 26116 type: boolean 26117 required: 26118 - key 26119 type: object 26120 type: object 26121 required: 26122 - name 26123 type: object 26124 type: array 26125 envFrom: 26126 description: List of sources to populate environment variables 26127 in the container. The keys defined within a source must 26128 be a C_IDENTIFIER. All invalid keys will be reported as 26129 an event when the container is starting. When a key exists 26130 in multiple sources, the value associated with the last 26131 source will take precedence. Values defined by an Env 26132 with a duplicate key will take precedence. Cannot be updated. 26133 items: 26134 description: EnvFromSource represents the source of a 26135 set of ConfigMaps 26136 properties: 26137 configMapRef: 26138 description: The ConfigMap to select from 26139 properties: 26140 name: 26141 description: 'Name of the referent. More info: 26142 https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 26143 TODO: Add other useful fields. apiVersion, kind, 26144 uid?' 26145 type: string 26146 optional: 26147 description: Specify whether the ConfigMap must 26148 be defined 26149 type: boolean 26150 type: object 26151 prefix: 26152 description: An optional identifier to prepend to 26153 each key in the ConfigMap. Must be a C_IDENTIFIER. 26154 type: string 26155 secretRef: 26156 description: The Secret to select from 26157 properties: 26158 name: 26159 description: 'Name of the referent. More info: 26160 https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 26161 TODO: Add other useful fields. apiVersion, kind, 26162 uid?' 26163 type: string 26164 optional: 26165 description: Specify whether the Secret must be 26166 defined 26167 type: boolean 26168 type: object 26169 type: object 26170 type: array 26171 image: 26172 description: 'Container image name. More info: https://kubernetes.io/docs/concepts/containers/images 26173 This field is optional to allow higher level config management 26174 to default or override container images in workload controllers 26175 like Deployments and StatefulSets.' 26176 type: string 26177 imagePullPolicy: 26178 description: 'Image pull policy. One of Always, Never, IfNotPresent. 26179 Defaults to Always if :latest tag is specified, or IfNotPresent 26180 otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images' 26181 type: string 26182 lifecycle: 26183 description: Actions that the management system should take 26184 in response to container lifecycle events. Cannot be updated. 26185 properties: 26186 postStart: 26187 description: 'PostStart is called immediately after 26188 a container is created. If the handler fails, the 26189 container is terminated and restarted according to 26190 its restart policy. Other management of the container 26191 blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks' 26192 properties: 26193 exec: 26194 description: Exec specifies the action to take. 26195 properties: 26196 command: 26197 description: Command is the command line to 26198 execute inside the container, the working 26199 directory for the command is root ('/') in 26200 the container's filesystem. The command is 26201 simply exec'd, it is not run inside a shell, 26202 so traditional shell instructions ('|', etc) 26203 won't work. To use a shell, you need to explicitly 26204 call out to that shell. Exit status of 0 is 26205 treated as live/healthy and non-zero is unhealthy. 26206 items: 26207 type: string 26208 type: array 26209 type: object 26210 httpGet: 26211 description: HTTPGet specifies the http request 26212 to perform. 26213 properties: 26214 host: 26215 description: Host name to connect to, defaults 26216 to the pod IP. You probably want to set "Host" 26217 in httpHeaders instead. 26218 type: string 26219 httpHeaders: 26220 description: Custom headers to set in the request. 26221 HTTP allows repeated headers. 26222 items: 26223 description: HTTPHeader describes a custom 26224 header to be used in HTTP probes 26225 properties: 26226 name: 26227 description: The header field name 26228 type: string 26229 value: 26230 description: The header field value 26231 type: string 26232 required: 26233 - name 26234 - value 26235 type: object 26236 type: array 26237 path: 26238 description: Path to access on the HTTP server. 26239 type: string 26240 port: 26241 anyOf: 26242 - type: integer 26243 - type: string 26244 description: Name or number of the port to access 26245 on the container. Number must be in the range 26246 1 to 65535. Name must be an IANA_SVC_NAME. 26247 x-kubernetes-int-or-string: true 26248 scheme: 26249 description: Scheme to use for connecting to 26250 the host. Defaults to HTTP. 26251 type: string 26252 required: 26253 - port 26254 type: object 26255 tcpSocket: 26256 description: Deprecated. TCPSocket is NOT supported 26257 as a LifecycleHandler and kept for the backward 26258 compatibility. There are no validation of this 26259 field and lifecycle hooks will fail in runtime 26260 when tcp handler is specified. 26261 properties: 26262 host: 26263 description: 'Optional: Host name to connect 26264 to, defaults to the pod IP.' 26265 type: string 26266 port: 26267 anyOf: 26268 - type: integer 26269 - type: string 26270 description: Number or name of the port to access 26271 on the container. Number must be in the range 26272 1 to 65535. Name must be an IANA_SVC_NAME. 26273 x-kubernetes-int-or-string: true 26274 required: 26275 - port 26276 type: object 26277 type: object 26278 preStop: 26279 description: 'PreStop is called immediately before a 26280 container is terminated due to an API request or management 26281 event such as liveness/startup probe failure, preemption, 26282 resource contention, etc. The handler is not called 26283 if the container crashes or exits. The Pod''s termination 26284 grace period countdown begins before the PreStop hook 26285 is executed. Regardless of the outcome of the handler, 26286 the container will eventually terminate within the 26287 Pod''s termination grace period (unless delayed by 26288 finalizers). Other management of the container blocks 26289 until the hook completes or until the termination 26290 grace period is reached. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks' 26291 properties: 26292 exec: 26293 description: Exec specifies the action to take. 26294 properties: 26295 command: 26296 description: Command is the command line to 26297 execute inside the container, the working 26298 directory for the command is root ('/') in 26299 the container's filesystem. The command is 26300 simply exec'd, it is not run inside a shell, 26301 so traditional shell instructions ('|', etc) 26302 won't work. To use a shell, you need to explicitly 26303 call out to that shell. Exit status of 0 is 26304 treated as live/healthy and non-zero is unhealthy. 26305 items: 26306 type: string 26307 type: array 26308 type: object 26309 httpGet: 26310 description: HTTPGet specifies the http request 26311 to perform. 26312 properties: 26313 host: 26314 description: Host name to connect to, defaults 26315 to the pod IP. You probably want to set "Host" 26316 in httpHeaders instead. 26317 type: string 26318 httpHeaders: 26319 description: Custom headers to set in the request. 26320 HTTP allows repeated headers. 26321 items: 26322 description: HTTPHeader describes a custom 26323 header to be used in HTTP probes 26324 properties: 26325 name: 26326 description: The header field name 26327 type: string 26328 value: 26329 description: The header field value 26330 type: string 26331 required: 26332 - name 26333 - value 26334 type: object 26335 type: array 26336 path: 26337 description: Path to access on the HTTP server. 26338 type: string 26339 port: 26340 anyOf: 26341 - type: integer 26342 - type: string 26343 description: Name or number of the port to access 26344 on the container. Number must be in the range 26345 1 to 65535. Name must be an IANA_SVC_NAME. 26346 x-kubernetes-int-or-string: true 26347 scheme: 26348 description: Scheme to use for connecting to 26349 the host. Defaults to HTTP. 26350 type: string 26351 required: 26352 - port 26353 type: object 26354 tcpSocket: 26355 description: Deprecated. TCPSocket is NOT supported 26356 as a LifecycleHandler and kept for the backward 26357 compatibility. There are no validation of this 26358 field and lifecycle hooks will fail in runtime 26359 when tcp handler is specified. 26360 properties: 26361 host: 26362 description: 'Optional: Host name to connect 26363 to, defaults to the pod IP.' 26364 type: string 26365 port: 26366 anyOf: 26367 - type: integer 26368 - type: string 26369 description: Number or name of the port to access 26370 on the container. Number must be in the range 26371 1 to 65535. Name must be an IANA_SVC_NAME. 26372 x-kubernetes-int-or-string: true 26373 required: 26374 - port 26375 type: object 26376 type: object 26377 type: object 26378 livenessProbe: 26379 description: 'Periodic probe of container liveness. Container 26380 will be restarted if the probe fails. Cannot be updated. 26381 More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 26382 properties: 26383 exec: 26384 description: Exec specifies the action to take. 26385 properties: 26386 command: 26387 description: Command is the command line to execute 26388 inside the container, the working directory for 26389 the command is root ('/') in the container's 26390 filesystem. The command is simply exec'd, it is 26391 not run inside a shell, so traditional shell instructions 26392 ('|', etc) won't work. To use a shell, you need 26393 to explicitly call out to that shell. Exit status 26394 of 0 is treated as live/healthy and non-zero is 26395 unhealthy. 26396 items: 26397 type: string 26398 type: array 26399 type: object 26400 failureThreshold: 26401 description: Minimum consecutive failures for the probe 26402 to be considered failed after having succeeded. Defaults 26403 to 3. Minimum value is 1. 26404 format: int32 26405 type: integer 26406 grpc: 26407 description: GRPC specifies an action involving a GRPC 26408 port. This is a beta field and requires enabling GRPCContainerProbe 26409 feature gate. 26410 properties: 26411 port: 26412 description: Port number of the gRPC service. Number 26413 must be in the range 1 to 65535. 26414 format: int32 26415 type: integer 26416 service: 26417 description: "Service is the name of the service 26418 to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). 26419 \n If this is not specified, the default behavior 26420 is defined by gRPC." 26421 type: string 26422 required: 26423 - port 26424 type: object 26425 httpGet: 26426 description: HTTPGet specifies the http request to perform. 26427 properties: 26428 host: 26429 description: Host name to connect to, defaults to 26430 the pod IP. You probably want to set "Host" in 26431 httpHeaders instead. 26432 type: string 26433 httpHeaders: 26434 description: Custom headers to set in the request. 26435 HTTP allows repeated headers. 26436 items: 26437 description: HTTPHeader describes a custom header 26438 to be used in HTTP probes 26439 properties: 26440 name: 26441 description: The header field name 26442 type: string 26443 value: 26444 description: The header field value 26445 type: string 26446 required: 26447 - name 26448 - value 26449 type: object 26450 type: array 26451 path: 26452 description: Path to access on the HTTP server. 26453 type: string 26454 port: 26455 anyOf: 26456 - type: integer 26457 - type: string 26458 description: Name or number of the port to access 26459 on the container. Number must be in the range 26460 1 to 65535. Name must be an IANA_SVC_NAME. 26461 x-kubernetes-int-or-string: true 26462 scheme: 26463 description: Scheme to use for connecting to the 26464 host. Defaults to HTTP. 26465 type: string 26466 required: 26467 - port 26468 type: object 26469 initialDelaySeconds: 26470 description: 'Number of seconds after the container 26471 has started before liveness probes are initiated. 26472 More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 26473 format: int32 26474 type: integer 26475 periodSeconds: 26476 description: How often (in seconds) to perform the probe. 26477 Default to 10 seconds. Minimum value is 1. 26478 format: int32 26479 type: integer 26480 successThreshold: 26481 description: Minimum consecutive successes for the probe 26482 to be considered successful after having failed. Defaults 26483 to 1. Must be 1 for liveness and startup. Minimum 26484 value is 1. 26485 format: int32 26486 type: integer 26487 tcpSocket: 26488 description: TCPSocket specifies an action involving 26489 a TCP port. 26490 properties: 26491 host: 26492 description: 'Optional: Host name to connect to, 26493 defaults to the pod IP.' 26494 type: string 26495 port: 26496 anyOf: 26497 - type: integer 26498 - type: string 26499 description: Number or name of the port to access 26500 on the container. Number must be in the range 26501 1 to 65535. Name must be an IANA_SVC_NAME. 26502 x-kubernetes-int-or-string: true 26503 required: 26504 - port 26505 type: object 26506 terminationGracePeriodSeconds: 26507 description: Optional duration in seconds the pod needs 26508 to terminate gracefully upon probe failure. The grace 26509 period is the duration in seconds after the processes 26510 running in the pod are sent a termination signal and 26511 the time when the processes are forcibly halted with 26512 a kill signal. Set this value longer than the expected 26513 cleanup time for your process. If this value is nil, 26514 the pod's terminationGracePeriodSeconds will be used. 26515 Otherwise, this value overrides the value provided 26516 by the pod spec. Value must be non-negative integer. 26517 The value zero indicates stop immediately via the 26518 kill signal (no opportunity to shut down). This is 26519 a beta field and requires enabling ProbeTerminationGracePeriod 26520 feature gate. Minimum value is 1. spec.terminationGracePeriodSeconds 26521 is used if unset. 26522 format: int64 26523 type: integer 26524 timeoutSeconds: 26525 description: 'Number of seconds after which the probe 26526 times out. Defaults to 1 second. Minimum value is 26527 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 26528 format: int32 26529 type: integer 26530 type: object 26531 name: 26532 description: Name of the container specified as a DNS_LABEL. 26533 Each container in a pod must have a unique name (DNS_LABEL). 26534 Cannot be updated. 26535 type: string 26536 ports: 26537 description: List of ports to expose from the container. 26538 Not specifying a port here DOES NOT prevent that port 26539 from being exposed. Any port which is listening on the 26540 default "0.0.0.0" address inside a container will be accessible 26541 from the network. Modifying this array with strategic 26542 merge patch may corrupt the data. For more information 26543 See https://github.com/kubernetes/kubernetes/issues/108255. 26544 Cannot be updated. 26545 items: 26546 description: ContainerPort represents a network port in 26547 a single container. 26548 properties: 26549 containerPort: 26550 description: Number of port to expose on the pod's 26551 IP address. This must be a valid port number, 0 26552 < x < 65536. 26553 format: int32 26554 type: integer 26555 hostIP: 26556 description: What host IP to bind the external port 26557 to. 26558 type: string 26559 hostPort: 26560 description: Number of port to expose on the host. 26561 If specified, this must be a valid port number, 26562 0 < x < 65536. If HostNetwork is specified, this 26563 must match ContainerPort. Most containers do not 26564 need this. 26565 format: int32 26566 type: integer 26567 name: 26568 description: If specified, this must be an IANA_SVC_NAME 26569 and unique within the pod. Each named port in a 26570 pod must have a unique name. Name for the port that 26571 can be referred to by services. 26572 type: string 26573 protocol: 26574 default: TCP 26575 description: Protocol for port. Must be UDP, TCP, 26576 or SCTP. Defaults to "TCP". 26577 type: string 26578 required: 26579 - containerPort 26580 type: object 26581 type: array 26582 x-kubernetes-list-map-keys: 26583 - containerPort 26584 - protocol 26585 x-kubernetes-list-type: map 26586 readinessProbe: 26587 description: 'Periodic probe of container service readiness. 26588 Container will be removed from service endpoints if the 26589 probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 26590 properties: 26591 exec: 26592 description: Exec specifies the action to take. 26593 properties: 26594 command: 26595 description: Command is the command line to execute 26596 inside the container, the working directory for 26597 the command is root ('/') in the container's 26598 filesystem. The command is simply exec'd, it is 26599 not run inside a shell, so traditional shell instructions 26600 ('|', etc) won't work. To use a shell, you need 26601 to explicitly call out to that shell. Exit status 26602 of 0 is treated as live/healthy and non-zero is 26603 unhealthy. 26604 items: 26605 type: string 26606 type: array 26607 type: object 26608 failureThreshold: 26609 description: Minimum consecutive failures for the probe 26610 to be considered failed after having succeeded. Defaults 26611 to 3. Minimum value is 1. 26612 format: int32 26613 type: integer 26614 grpc: 26615 description: GRPC specifies an action involving a GRPC 26616 port. This is a beta field and requires enabling GRPCContainerProbe 26617 feature gate. 26618 properties: 26619 port: 26620 description: Port number of the gRPC service. Number 26621 must be in the range 1 to 65535. 26622 format: int32 26623 type: integer 26624 service: 26625 description: "Service is the name of the service 26626 to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). 26627 \n If this is not specified, the default behavior 26628 is defined by gRPC." 26629 type: string 26630 required: 26631 - port 26632 type: object 26633 httpGet: 26634 description: HTTPGet specifies the http request to perform. 26635 properties: 26636 host: 26637 description: Host name to connect to, defaults to 26638 the pod IP. You probably want to set "Host" in 26639 httpHeaders instead. 26640 type: string 26641 httpHeaders: 26642 description: Custom headers to set in the request. 26643 HTTP allows repeated headers. 26644 items: 26645 description: HTTPHeader describes a custom header 26646 to be used in HTTP probes 26647 properties: 26648 name: 26649 description: The header field name 26650 type: string 26651 value: 26652 description: The header field value 26653 type: string 26654 required: 26655 - name 26656 - value 26657 type: object 26658 type: array 26659 path: 26660 description: Path to access on the HTTP server. 26661 type: string 26662 port: 26663 anyOf: 26664 - type: integer 26665 - type: string 26666 description: Name or number of the port to access 26667 on the container. Number must be in the range 26668 1 to 65535. Name must be an IANA_SVC_NAME. 26669 x-kubernetes-int-or-string: true 26670 scheme: 26671 description: Scheme to use for connecting to the 26672 host. Defaults to HTTP. 26673 type: string 26674 required: 26675 - port 26676 type: object 26677 initialDelaySeconds: 26678 description: 'Number of seconds after the container 26679 has started before liveness probes are initiated. 26680 More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 26681 format: int32 26682 type: integer 26683 periodSeconds: 26684 description: How often (in seconds) to perform the probe. 26685 Default to 10 seconds. Minimum value is 1. 26686 format: int32 26687 type: integer 26688 successThreshold: 26689 description: Minimum consecutive successes for the probe 26690 to be considered successful after having failed. Defaults 26691 to 1. Must be 1 for liveness and startup. Minimum 26692 value is 1. 26693 format: int32 26694 type: integer 26695 tcpSocket: 26696 description: TCPSocket specifies an action involving 26697 a TCP port. 26698 properties: 26699 host: 26700 description: 'Optional: Host name to connect to, 26701 defaults to the pod IP.' 26702 type: string 26703 port: 26704 anyOf: 26705 - type: integer 26706 - type: string 26707 description: Number or name of the port to access 26708 on the container. Number must be in the range 26709 1 to 65535. Name must be an IANA_SVC_NAME. 26710 x-kubernetes-int-or-string: true 26711 required: 26712 - port 26713 type: object 26714 terminationGracePeriodSeconds: 26715 description: Optional duration in seconds the pod needs 26716 to terminate gracefully upon probe failure. The grace 26717 period is the duration in seconds after the processes 26718 running in the pod are sent a termination signal and 26719 the time when the processes are forcibly halted with 26720 a kill signal. Set this value longer than the expected 26721 cleanup time for your process. If this value is nil, 26722 the pod's terminationGracePeriodSeconds will be used. 26723 Otherwise, this value overrides the value provided 26724 by the pod spec. Value must be non-negative integer. 26725 The value zero indicates stop immediately via the 26726 kill signal (no opportunity to shut down). This is 26727 a beta field and requires enabling ProbeTerminationGracePeriod 26728 feature gate. Minimum value is 1. spec.terminationGracePeriodSeconds 26729 is used if unset. 26730 format: int64 26731 type: integer 26732 timeoutSeconds: 26733 description: 'Number of seconds after which the probe 26734 times out. Defaults to 1 second. Minimum value is 26735 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 26736 format: int32 26737 type: integer 26738 type: object 26739 resources: 26740 description: 'Compute Resources required by this container. 26741 Cannot be updated. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' 26742 properties: 26743 limits: 26744 additionalProperties: 26745 anyOf: 26746 - type: integer 26747 - type: string 26748 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 26749 x-kubernetes-int-or-string: true 26750 description: 'Limits describes the maximum amount of 26751 compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' 26752 type: object 26753 requests: 26754 additionalProperties: 26755 anyOf: 26756 - type: integer 26757 - type: string 26758 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 26759 x-kubernetes-int-or-string: true 26760 description: 'Requests describes the minimum amount 26761 of compute resources required. If Requests is omitted 26762 for a container, it defaults to Limits if that is 26763 explicitly specified, otherwise to an implementation-defined 26764 value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' 26765 type: object 26766 type: object 26767 securityContext: 26768 description: 'SecurityContext defines the security options 26769 the container should be run with. If set, the fields of 26770 SecurityContext override the equivalent fields of PodSecurityContext. 26771 More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/' 26772 properties: 26773 allowPrivilegeEscalation: 26774 description: 'AllowPrivilegeEscalation controls whether 26775 a process can gain more privileges than its parent 26776 process. This bool directly controls if the no_new_privs 26777 flag will be set on the container process. AllowPrivilegeEscalation 26778 is true always when the container is: 1) run as Privileged 26779 2) has CAP_SYS_ADMIN Note that this field cannot be 26780 set when spec.os.name is windows.' 26781 type: boolean 26782 capabilities: 26783 description: The capabilities to add/drop when running 26784 containers. Defaults to the default set of capabilities 26785 granted by the container runtime. Note that this field 26786 cannot be set when spec.os.name is windows. 26787 properties: 26788 add: 26789 description: Added capabilities 26790 items: 26791 description: Capability represent POSIX capabilities 26792 type 26793 type: string 26794 type: array 26795 drop: 26796 description: Removed capabilities 26797 items: 26798 description: Capability represent POSIX capabilities 26799 type 26800 type: string 26801 type: array 26802 type: object 26803 privileged: 26804 description: Run container in privileged mode. Processes 26805 in privileged containers are essentially equivalent 26806 to root on the host. Defaults to false. Note that 26807 this field cannot be set when spec.os.name is windows. 26808 type: boolean 26809 procMount: 26810 description: procMount denotes the type of proc mount 26811 to use for the containers. The default is DefaultProcMount 26812 which uses the container runtime defaults for readonly 26813 paths and masked paths. This requires the ProcMountType 26814 feature flag to be enabled. Note that this field cannot 26815 be set when spec.os.name is windows. 26816 type: string 26817 readOnlyRootFilesystem: 26818 description: Whether this container has a read-only 26819 root filesystem. Default is false. Note that this 26820 field cannot be set when spec.os.name is windows. 26821 type: boolean 26822 runAsGroup: 26823 description: The GID to run the entrypoint of the container 26824 process. Uses runtime default if unset. May also be 26825 set in PodSecurityContext. If set in both SecurityContext 26826 and PodSecurityContext, the value specified in SecurityContext 26827 takes precedence. Note that this field cannot be set 26828 when spec.os.name is windows. 26829 format: int64 26830 type: integer 26831 runAsNonRoot: 26832 description: Indicates that the container must run as 26833 a non-root user. If true, the Kubelet will validate 26834 the image at runtime to ensure that it does not run 26835 as UID 0 (root) and fail to start the container if 26836 it does. If unset or false, no such validation will 26837 be performed. May also be set in PodSecurityContext. If 26838 set in both SecurityContext and PodSecurityContext, 26839 the value specified in SecurityContext takes precedence. 26840 type: boolean 26841 runAsUser: 26842 description: The UID to run the entrypoint of the container 26843 process. Defaults to user specified in image metadata 26844 if unspecified. May also be set in PodSecurityContext. If 26845 set in both SecurityContext and PodSecurityContext, 26846 the value specified in SecurityContext takes precedence. 26847 Note that this field cannot be set when spec.os.name 26848 is windows. 26849 format: int64 26850 type: integer 26851 seLinuxOptions: 26852 description: The SELinux context to be applied to the 26853 container. If unspecified, the container runtime will 26854 allocate a random SELinux context for each container. May 26855 also be set in PodSecurityContext. If set in both 26856 SecurityContext and PodSecurityContext, the value 26857 specified in SecurityContext takes precedence. Note 26858 that this field cannot be set when spec.os.name is 26859 windows. 26860 properties: 26861 level: 26862 description: Level is SELinux level label that applies 26863 to the container. 26864 type: string 26865 role: 26866 description: Role is a SELinux role label that applies 26867 to the container. 26868 type: string 26869 type: 26870 description: Type is a SELinux type label that applies 26871 to the container. 26872 type: string 26873 user: 26874 description: User is a SELinux user label that applies 26875 to the container. 26876 type: string 26877 type: object 26878 seccompProfile: 26879 description: The seccomp options to use by this container. 26880 If seccomp options are provided at both the pod & 26881 container level, the container options override the 26882 pod options. Note that this field cannot be set when 26883 spec.os.name is windows. 26884 properties: 26885 localhostProfile: 26886 description: localhostProfile indicates a profile 26887 defined in a file on the node should be used. 26888 The profile must be preconfigured on the node 26889 to work. Must be a descending path, relative to 26890 the kubelet's configured seccomp profile location. 26891 Must only be set if type is "Localhost". 26892 type: string 26893 type: 26894 description: "type indicates which kind of seccomp 26895 profile will be applied. Valid options are: \n 26896 Localhost - a profile defined in a file on the 26897 node should be used. RuntimeDefault - the container 26898 runtime default profile should be used. Unconfined 26899 - no profile should be applied." 26900 type: string 26901 required: 26902 - type 26903 type: object 26904 windowsOptions: 26905 description: The Windows specific settings applied to 26906 all containers. If unspecified, the options from the 26907 PodSecurityContext will be used. If set in both SecurityContext 26908 and PodSecurityContext, the value specified in SecurityContext 26909 takes precedence. Note that this field cannot be set 26910 when spec.os.name is linux. 26911 properties: 26912 gmsaCredentialSpec: 26913 description: GMSACredentialSpec is where the GMSA 26914 admission webhook (https://github.com/kubernetes-sigs/windows-gmsa) 26915 inlines the contents of the GMSA credential spec 26916 named by the GMSACredentialSpecName field. 26917 type: string 26918 gmsaCredentialSpecName: 26919 description: GMSACredentialSpecName is the name 26920 of the GMSA credential spec to use. 26921 type: string 26922 hostProcess: 26923 description: HostProcess determines if a container 26924 should be run as a 'Host Process' container. This 26925 field is alpha-level and will only be honored 26926 by components that enable the WindowsHostProcessContainers 26927 feature flag. Setting this field without the feature 26928 flag will result in errors when validating the 26929 Pod. All of a Pod's containers must have the same 26930 effective HostProcess value (it is not allowed 26931 to have a mix of HostProcess containers and non-HostProcess 26932 containers). In addition, if HostProcess is true 26933 then HostNetwork must also be set to true. 26934 type: boolean 26935 runAsUserName: 26936 description: The UserName in Windows to run the 26937 entrypoint of the container process. Defaults 26938 to the user specified in image metadata if unspecified. 26939 May also be set in PodSecurityContext. If set 26940 in both SecurityContext and PodSecurityContext, 26941 the value specified in SecurityContext takes precedence. 26942 type: string 26943 type: object 26944 type: object 26945 startupProbe: 26946 description: 'StartupProbe indicates that the Pod has successfully 26947 initialized. If specified, no other probes are executed 26948 until this completes successfully. If this probe fails, 26949 the Pod will be restarted, just as if the livenessProbe 26950 failed. This can be used to provide different probe parameters 26951 at the beginning of a Pod''s lifecycle, when it might 26952 take a long time to load data or warm a cache, than during 26953 steady-state operation. This cannot be updated. More info: 26954 https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 26955 properties: 26956 exec: 26957 description: Exec specifies the action to take. 26958 properties: 26959 command: 26960 description: Command is the command line to execute 26961 inside the container, the working directory for 26962 the command is root ('/') in the container's 26963 filesystem. The command is simply exec'd, it is 26964 not run inside a shell, so traditional shell instructions 26965 ('|', etc) won't work. To use a shell, you need 26966 to explicitly call out to that shell. Exit status 26967 of 0 is treated as live/healthy and non-zero is 26968 unhealthy. 26969 items: 26970 type: string 26971 type: array 26972 type: object 26973 failureThreshold: 26974 description: Minimum consecutive failures for the probe 26975 to be considered failed after having succeeded. Defaults 26976 to 3. Minimum value is 1. 26977 format: int32 26978 type: integer 26979 grpc: 26980 description: GRPC specifies an action involving a GRPC 26981 port. This is a beta field and requires enabling GRPCContainerProbe 26982 feature gate. 26983 properties: 26984 port: 26985 description: Port number of the gRPC service. Number 26986 must be in the range 1 to 65535. 26987 format: int32 26988 type: integer 26989 service: 26990 description: "Service is the name of the service 26991 to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). 26992 \n If this is not specified, the default behavior 26993 is defined by gRPC." 26994 type: string 26995 required: 26996 - port 26997 type: object 26998 httpGet: 26999 description: HTTPGet specifies the http request to perform. 27000 properties: 27001 host: 27002 description: Host name to connect to, defaults to 27003 the pod IP. You probably want to set "Host" in 27004 httpHeaders instead. 27005 type: string 27006 httpHeaders: 27007 description: Custom headers to set in the request. 27008 HTTP allows repeated headers. 27009 items: 27010 description: HTTPHeader describes a custom header 27011 to be used in HTTP probes 27012 properties: 27013 name: 27014 description: The header field name 27015 type: string 27016 value: 27017 description: The header field value 27018 type: string 27019 required: 27020 - name 27021 - value 27022 type: object 27023 type: array 27024 path: 27025 description: Path to access on the HTTP server. 27026 type: string 27027 port: 27028 anyOf: 27029 - type: integer 27030 - type: string 27031 description: Name or number of the port to access 27032 on the container. Number must be in the range 27033 1 to 65535. Name must be an IANA_SVC_NAME. 27034 x-kubernetes-int-or-string: true 27035 scheme: 27036 description: Scheme to use for connecting to the 27037 host. Defaults to HTTP. 27038 type: string 27039 required: 27040 - port 27041 type: object 27042 initialDelaySeconds: 27043 description: 'Number of seconds after the container 27044 has started before liveness probes are initiated. 27045 More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 27046 format: int32 27047 type: integer 27048 periodSeconds: 27049 description: How often (in seconds) to perform the probe. 27050 Default to 10 seconds. Minimum value is 1. 27051 format: int32 27052 type: integer 27053 successThreshold: 27054 description: Minimum consecutive successes for the probe 27055 to be considered successful after having failed. Defaults 27056 to 1. Must be 1 for liveness and startup. Minimum 27057 value is 1. 27058 format: int32 27059 type: integer 27060 tcpSocket: 27061 description: TCPSocket specifies an action involving 27062 a TCP port. 27063 properties: 27064 host: 27065 description: 'Optional: Host name to connect to, 27066 defaults to the pod IP.' 27067 type: string 27068 port: 27069 anyOf: 27070 - type: integer 27071 - type: string 27072 description: Number or name of the port to access 27073 on the container. Number must be in the range 27074 1 to 65535. Name must be an IANA_SVC_NAME. 27075 x-kubernetes-int-or-string: true 27076 required: 27077 - port 27078 type: object 27079 terminationGracePeriodSeconds: 27080 description: Optional duration in seconds the pod needs 27081 to terminate gracefully upon probe failure. The grace 27082 period is the duration in seconds after the processes 27083 running in the pod are sent a termination signal and 27084 the time when the processes are forcibly halted with 27085 a kill signal. Set this value longer than the expected 27086 cleanup time for your process. If this value is nil, 27087 the pod's terminationGracePeriodSeconds will be used. 27088 Otherwise, this value overrides the value provided 27089 by the pod spec. Value must be non-negative integer. 27090 The value zero indicates stop immediately via the 27091 kill signal (no opportunity to shut down). This is 27092 a beta field and requires enabling ProbeTerminationGracePeriod 27093 feature gate. Minimum value is 1. spec.terminationGracePeriodSeconds 27094 is used if unset. 27095 format: int64 27096 type: integer 27097 timeoutSeconds: 27098 description: 'Number of seconds after which the probe 27099 times out. Defaults to 1 second. Minimum value is 27100 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 27101 format: int32 27102 type: integer 27103 type: object 27104 stdin: 27105 description: Whether this container should allocate a buffer 27106 for stdin in the container runtime. If this is not set, 27107 reads from stdin in the container will always result in 27108 EOF. Default is false. 27109 type: boolean 27110 stdinOnce: 27111 description: Whether the container runtime should close 27112 the stdin channel after it has been opened by a single 27113 attach. When stdin is true the stdin stream will remain 27114 open across multiple attach sessions. If stdinOnce is 27115 set to true, stdin is opened on container start, is empty 27116 until the first client attaches to stdin, and then remains 27117 open and accepts data until the client disconnects, at 27118 which time stdin is closed and remains closed until the 27119 container is restarted. If this flag is false, a container 27120 processes that reads from stdin will never receive an 27121 EOF. Default is false 27122 type: boolean 27123 terminationMessagePath: 27124 description: 'Optional: Path at which the file to which 27125 the container''s termination message will be written is 27126 mounted into the container''s filesystem. Message written 27127 is intended to be brief final status, such as an assertion 27128 failure message. Will be truncated by the node if greater 27129 than 4096 bytes. The total message length across all containers 27130 will be limited to 12kb. Defaults to /dev/termination-log. 27131 Cannot be updated.' 27132 type: string 27133 terminationMessagePolicy: 27134 description: Indicate how the termination message should 27135 be populated. File will use the contents of terminationMessagePath 27136 to populate the container status message on both success 27137 and failure. FallbackToLogsOnError will use the last chunk 27138 of container log output if the termination message file 27139 is empty and the container exited with an error. The log 27140 output is limited to 2048 bytes or 80 lines, whichever 27141 is smaller. Defaults to File. Cannot be updated. 27142 type: string 27143 tty: 27144 description: Whether this container should allocate a TTY 27145 for itself, also requires 'stdin' to be true. Default 27146 is false. 27147 type: boolean 27148 volumeDevices: 27149 description: volumeDevices is the list of block devices 27150 to be used by the container. 27151 items: 27152 description: volumeDevice describes a mapping of a raw 27153 block device within a container. 27154 properties: 27155 devicePath: 27156 description: devicePath is the path inside of the 27157 container that the device will be mapped to. 27158 type: string 27159 name: 27160 description: name must match the name of a persistentVolumeClaim 27161 in the pod 27162 type: string 27163 required: 27164 - devicePath 27165 - name 27166 type: object 27167 type: array 27168 volumeMounts: 27169 description: Pod volumes to mount into the container's filesystem. 27170 Cannot be updated. 27171 items: 27172 description: VolumeMount describes a mounting of a Volume 27173 within a container. 27174 properties: 27175 mountPath: 27176 description: Path within the container at which the 27177 volume should be mounted. Must not contain ':'. 27178 type: string 27179 mountPropagation: 27180 description: mountPropagation determines how mounts 27181 are propagated from the host to container and the 27182 other way around. When not set, MountPropagationNone 27183 is used. This field is beta in 1.10. 27184 type: string 27185 name: 27186 description: This must match the Name of a Volume. 27187 type: string 27188 readOnly: 27189 description: Mounted read-only if true, read-write 27190 otherwise (false or unspecified). Defaults to false. 27191 type: boolean 27192 subPath: 27193 description: Path within the volume from which the 27194 container's volume should be mounted. Defaults to 27195 "" (volume's root). 27196 type: string 27197 subPathExpr: 27198 description: Expanded path within the volume from 27199 which the container's volume should be mounted. 27200 Behaves similarly to SubPath but environment variable 27201 references $(VAR_NAME) are expanded using the container's 27202 environment. Defaults to "" (volume's root). SubPathExpr 27203 and SubPath are mutually exclusive. 27204 type: string 27205 required: 27206 - mountPath 27207 - name 27208 type: object 27209 type: array 27210 workingDir: 27211 description: Container's working directory. If not specified, 27212 the container runtime's default will be used, which might 27213 be configured in the container image. Cannot be updated. 27214 type: string 27215 required: 27216 - name 27217 type: object 27218 type: array 27219 nodeName: 27220 description: NodeName is a request to schedule this pod onto a 27221 specific node. If it is non-empty, the scheduler simply schedules 27222 this pod onto that node, assuming that it fits resource requirements. 27223 type: string 27224 nodeSelector: 27225 additionalProperties: 27226 type: string 27227 description: 'NodeSelector is a selector which must be true for 27228 the pod to fit on a node. Selector which must match a node''s 27229 labels for the pod to be scheduled on that node. More info: 27230 https://kubernetes.io/docs/concepts/configuration/assign-pod-node/' 27231 type: object 27232 x-kubernetes-map-type: atomic 27233 os: 27234 description: "Specifies the OS of the containers in the pod. Some 27235 pod and container fields are restricted if this is set. \n If 27236 the OS field is set to linux, the following fields must be unset: 27237 -securityContext.windowsOptions \n If the OS field is set to 27238 windows, following fields must be unset: - spec.hostPID - spec.hostIPC 27239 - spec.hostUsers - spec.securityContext.seLinuxOptions - spec.securityContext.seccompProfile 27240 - spec.securityContext.fsGroup - spec.securityContext.fsGroupChangePolicy 27241 - spec.securityContext.sysctls - spec.shareProcessNamespace 27242 - spec.securityContext.runAsUser - spec.securityContext.runAsGroup 27243 - spec.securityContext.supplementalGroups - spec.containers[*].securityContext.seLinuxOptions 27244 - spec.containers[*].securityContext.seccompProfile - spec.containers[*].securityContext.capabilities 27245 - spec.containers[*].securityContext.readOnlyRootFilesystem 27246 - spec.containers[*].securityContext.privileged - spec.containers[*].securityContext.allowPrivilegeEscalation 27247 - spec.containers[*].securityContext.procMount - spec.containers[*].securityContext.runAsUser 27248 - spec.containers[*].securityContext.runAsGroup" 27249 properties: 27250 name: 27251 description: 'Name is the name of the operating system. The 27252 currently supported values are linux and windows. Additional 27253 value may be defined in future and can be one of: https://github.com/opencontainers/runtime-spec/blob/master/config.md#platform-specific-configuration 27254 Clients should expect to handle additional values and treat 27255 unrecognized values in this field as os: null' 27256 type: string 27257 required: 27258 - name 27259 type: object 27260 overhead: 27261 additionalProperties: 27262 anyOf: 27263 - type: integer 27264 - type: string 27265 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 27266 x-kubernetes-int-or-string: true 27267 description: 'Overhead represents the resource overhead associated 27268 with running a pod for a given RuntimeClass. This field will 27269 be autopopulated at admission time by the RuntimeClass admission 27270 controller. If the RuntimeClass admission controller is enabled, 27271 overhead must not be set in Pod create requests. The RuntimeClass 27272 admission controller will reject Pod create requests which have 27273 the overhead already set. If RuntimeClass is configured and 27274 selected in the PodSpec, Overhead will be set to the value defined 27275 in the corresponding RuntimeClass, otherwise it will remain 27276 unset and treated as zero. More info: https://git.k8s.io/enhancements/keps/sig-node/688-pod-overhead/README.md' 27277 type: object 27278 preemptionPolicy: 27279 description: PreemptionPolicy is the Policy for preempting pods 27280 with lower priority. One of Never, PreemptLowerPriority. Defaults 27281 to PreemptLowerPriority if unset. 27282 type: string 27283 priority: 27284 description: The priority value. Various system components use 27285 this field to find the priority of the pod. When Priority Admission 27286 Controller is enabled, it prevents users from setting this field. 27287 The admission controller populates this field from PriorityClassName. 27288 The higher the value, the higher the priority. 27289 format: int32 27290 type: integer 27291 priorityClassName: 27292 description: If specified, indicates the pod's priority. "system-node-critical" 27293 and "system-cluster-critical" are two special keywords which 27294 indicate the highest priorities with the former being the highest 27295 priority. Any other name must be defined by creating a PriorityClass 27296 object with that name. If not specified, the pod priority will 27297 be default or zero if there is no default. 27298 type: string 27299 readinessGates: 27300 description: 'If specified, all readiness gates will be evaluated 27301 for pod readiness. A pod is ready when all its containers are 27302 ready AND all conditions specified in the readiness gates have 27303 status equal to "True" More info: https://git.k8s.io/enhancements/keps/sig-network/580-pod-readiness-gates' 27304 items: 27305 description: PodReadinessGate contains the reference to a pod 27306 condition 27307 properties: 27308 conditionType: 27309 description: ConditionType refers to a condition in the 27310 pod's condition list with matching type. 27311 type: string 27312 required: 27313 - conditionType 27314 type: object 27315 type: array 27316 restartPolicy: 27317 description: 'Restart policy for all containers within the pod. 27318 One of Always, OnFailure, Never. Default to Always. More info: 27319 https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#restart-policy' 27320 type: string 27321 runtimeClassName: 27322 description: 'RuntimeClassName refers to a RuntimeClass object 27323 in the node.k8s.io group, which should be used to run this pod. If 27324 no RuntimeClass resource matches the named class, the pod will 27325 not be run. If unset or empty, the "legacy" RuntimeClass will 27326 be used, which is an implicit class with an empty definition 27327 that uses the default runtime handler. More info: https://git.k8s.io/enhancements/keps/sig-node/585-runtime-class' 27328 type: string 27329 schedulerName: 27330 description: If specified, the pod will be dispatched by specified 27331 scheduler. If not specified, the pod will be dispatched by default 27332 scheduler. 27333 type: string 27334 securityContext: 27335 description: 'SecurityContext holds pod-level security attributes 27336 and common container settings. Optional: Defaults to empty. See 27337 type description for default values of each field.' 27338 properties: 27339 fsGroup: 27340 description: "A special supplemental group that applies to 27341 all containers in a pod. Some volume types allow the Kubelet 27342 to change the ownership of that volume to be owned by the 27343 pod: \n 1. The owning GID will be the FSGroup 2. The setgid 27344 bit is set (new files created in the volume will be owned 27345 by FSGroup) 3. The permission bits are OR'd with rw-rw---- 27346 \n If unset, the Kubelet will not modify the ownership and 27347 permissions of any volume. Note that this field cannot be 27348 set when spec.os.name is windows." 27349 format: int64 27350 type: integer 27351 fsGroupChangePolicy: 27352 description: 'fsGroupChangePolicy defines behavior of changing 27353 ownership and permission of the volume before being exposed 27354 inside Pod. This field will only apply to volume types which 27355 support fsGroup based ownership(and permissions). It will 27356 have no effect on ephemeral volume types such as: secret, 27357 configmaps and emptydir. Valid values are "OnRootMismatch" 27358 and "Always". If not specified, "Always" is used. Note that 27359 this field cannot be set when spec.os.name is windows.' 27360 type: string 27361 runAsGroup: 27362 description: The GID to run the entrypoint of the container 27363 process. Uses runtime default if unset. May also be set 27364 in SecurityContext. If set in both SecurityContext and 27365 PodSecurityContext, the value specified in SecurityContext 27366 takes precedence for that container. Note that this field 27367 cannot be set when spec.os.name is windows. 27368 format: int64 27369 type: integer 27370 runAsNonRoot: 27371 description: Indicates that the container must run as a non-root 27372 user. If true, the Kubelet will validate the image at runtime 27373 to ensure that it does not run as UID 0 (root) and fail 27374 to start the container if it does. If unset or false, no 27375 such validation will be performed. May also be set in SecurityContext. If 27376 set in both SecurityContext and PodSecurityContext, the 27377 value specified in SecurityContext takes precedence. 27378 type: boolean 27379 runAsUser: 27380 description: The UID to run the entrypoint of the container 27381 process. Defaults to user specified in image metadata if 27382 unspecified. May also be set in SecurityContext. If set 27383 in both SecurityContext and PodSecurityContext, the value 27384 specified in SecurityContext takes precedence for that container. 27385 Note that this field cannot be set when spec.os.name is 27386 windows. 27387 format: int64 27388 type: integer 27389 seLinuxOptions: 27390 description: The SELinux context to be applied to all containers. 27391 If unspecified, the container runtime will allocate a random 27392 SELinux context for each container. May also be set in 27393 SecurityContext. If set in both SecurityContext and PodSecurityContext, 27394 the value specified in SecurityContext takes precedence 27395 for that container. Note that this field cannot be set when 27396 spec.os.name is windows. 27397 properties: 27398 level: 27399 description: Level is SELinux level label that applies 27400 to the container. 27401 type: string 27402 role: 27403 description: Role is a SELinux role label that applies 27404 to the container. 27405 type: string 27406 type: 27407 description: Type is a SELinux type label that applies 27408 to the container. 27409 type: string 27410 user: 27411 description: User is a SELinux user label that applies 27412 to the container. 27413 type: string 27414 type: object 27415 seccompProfile: 27416 description: The seccomp options to use by the containers 27417 in this pod. Note that this field cannot be set when spec.os.name 27418 is windows. 27419 properties: 27420 localhostProfile: 27421 description: localhostProfile indicates a profile defined 27422 in a file on the node should be used. The profile must 27423 be preconfigured on the node to work. Must be a descending 27424 path, relative to the kubelet's configured seccomp profile 27425 location. Must only be set if type is "Localhost". 27426 type: string 27427 type: 27428 description: "type indicates which kind of seccomp profile 27429 will be applied. Valid options are: \n Localhost - a 27430 profile defined in a file on the node should be used. 27431 RuntimeDefault - the container runtime default profile 27432 should be used. Unconfined - no profile should be applied." 27433 type: string 27434 required: 27435 - type 27436 type: object 27437 supplementalGroups: 27438 description: A list of groups applied to the first process 27439 run in each container, in addition to the container's primary 27440 GID. If unspecified, no groups will be added to any container. 27441 Note that this field cannot be set when spec.os.name is 27442 windows. 27443 items: 27444 format: int64 27445 type: integer 27446 type: array 27447 sysctls: 27448 description: Sysctls hold a list of namespaced sysctls used 27449 for the pod. Pods with unsupported sysctls (by the container 27450 runtime) might fail to launch. Note that this field cannot 27451 be set when spec.os.name is windows. 27452 items: 27453 description: Sysctl defines a kernel parameter to be set 27454 properties: 27455 name: 27456 description: Name of a property to set 27457 type: string 27458 value: 27459 description: Value of a property to set 27460 type: string 27461 required: 27462 - name 27463 - value 27464 type: object 27465 type: array 27466 windowsOptions: 27467 description: The Windows specific settings applied to all 27468 containers. If unspecified, the options within a container's 27469 SecurityContext will be used. If set in both SecurityContext 27470 and PodSecurityContext, the value specified in SecurityContext 27471 takes precedence. Note that this field cannot be set when 27472 spec.os.name is linux. 27473 properties: 27474 gmsaCredentialSpec: 27475 description: GMSACredentialSpec is where the GMSA admission 27476 webhook (https://github.com/kubernetes-sigs/windows-gmsa) 27477 inlines the contents of the GMSA credential spec named 27478 by the GMSACredentialSpecName field. 27479 type: string 27480 gmsaCredentialSpecName: 27481 description: GMSACredentialSpecName is the name of the 27482 GMSA credential spec to use. 27483 type: string 27484 hostProcess: 27485 description: HostProcess determines if a container should 27486 be run as a 'Host Process' container. This field is 27487 alpha-level and will only be honored by components that 27488 enable the WindowsHostProcessContainers feature flag. 27489 Setting this field without the feature flag will result 27490 in errors when validating the Pod. All of a Pod's containers 27491 must have the same effective HostProcess value (it is 27492 not allowed to have a mix of HostProcess containers 27493 and non-HostProcess containers). In addition, if HostProcess 27494 is true then HostNetwork must also be set to true. 27495 type: boolean 27496 runAsUserName: 27497 description: The UserName in Windows to run the entrypoint 27498 of the container process. Defaults to the user specified 27499 in image metadata if unspecified. May also be set in 27500 PodSecurityContext. If set in both SecurityContext and 27501 PodSecurityContext, the value specified in SecurityContext 27502 takes precedence. 27503 type: string 27504 type: object 27505 type: object 27506 serviceAccount: 27507 description: 'DeprecatedServiceAccount is a depreciated alias 27508 for ServiceAccountName. Deprecated: Use serviceAccountName instead.' 27509 type: string 27510 serviceAccountName: 27511 description: 'ServiceAccountName is the name of the ServiceAccount 27512 to use to run this pod. More info: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/' 27513 type: string 27514 setHostnameAsFQDN: 27515 description: If true the pod's hostname will be configured as 27516 the pod's FQDN, rather than the leaf name (the default). In 27517 Linux containers, this means setting the FQDN in the hostname 27518 field of the kernel (the nodename field of struct utsname). 27519 In Windows containers, this means setting the registry value 27520 of hostname for the registry key HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services\\Tcpip\\Parameters 27521 to FQDN. If a pod does not have FQDN, this has no effect. Default 27522 to false. 27523 type: boolean 27524 shareProcessNamespace: 27525 description: 'Share a single process namespace between all of 27526 the containers in a pod. When this is set containers will be 27527 able to view and signal processes from other containers in the 27528 same pod, and the first process in each container will not be 27529 assigned PID 1. HostPID and ShareProcessNamespace cannot both 27530 be set. Optional: Default to false.' 27531 type: boolean 27532 subdomain: 27533 description: If specified, the fully qualified Pod hostname will 27534 be "<hostname>.<subdomain>.<pod namespace>.svc.<cluster domain>". 27535 If not specified, the pod will not have a domainname at all. 27536 type: string 27537 terminationGracePeriodSeconds: 27538 description: Optional duration in seconds the pod needs to terminate 27539 gracefully. May be decreased in delete request. Value must be 27540 non-negative integer. The value zero indicates stop immediately 27541 via the kill signal (no opportunity to shut down). If this value 27542 is nil, the default grace period will be used instead. The grace 27543 period is the duration in seconds after the processes running 27544 in the pod are sent a termination signal and the time when the 27545 processes are forcibly halted with a kill signal. Set this value 27546 longer than the expected cleanup time for your process. Defaults 27547 to 30 seconds. 27548 format: int64 27549 type: integer 27550 tolerations: 27551 description: If specified, the pod's tolerations. 27552 items: 27553 description: The pod this Toleration is attached to tolerates 27554 any taint that matches the triple <key,value,effect> using 27555 the matching operator <operator>. 27556 properties: 27557 effect: 27558 description: Effect indicates the taint effect to match. 27559 Empty means match all taint effects. When specified, allowed 27560 values are NoSchedule, PreferNoSchedule and NoExecute. 27561 type: string 27562 key: 27563 description: Key is the taint key that the toleration applies 27564 to. Empty means match all taint keys. If the key is empty, 27565 operator must be Exists; this combination means to match 27566 all values and all keys. 27567 type: string 27568 operator: 27569 description: Operator represents a key's relationship to 27570 the value. Valid operators are Exists and Equal. Defaults 27571 to Equal. Exists is equivalent to wildcard for value, 27572 so that a pod can tolerate all taints of a particular 27573 category. 27574 type: string 27575 tolerationSeconds: 27576 description: TolerationSeconds represents the period of 27577 time the toleration (which must be of effect NoExecute, 27578 otherwise this field is ignored) tolerates the taint. 27579 By default, it is not set, which means tolerate the taint 27580 forever (do not evict). Zero and negative values will 27581 be treated as 0 (evict immediately) by the system. 27582 format: int64 27583 type: integer 27584 value: 27585 description: Value is the taint value the toleration matches 27586 to. If the operator is Exists, the value should be empty, 27587 otherwise just a regular string. 27588 type: string 27589 type: object 27590 type: array 27591 topologySpreadConstraints: 27592 description: TopologySpreadConstraints describes how a group of 27593 pods ought to spread across topology domains. Scheduler will 27594 schedule pods in a way which abides by the constraints. All 27595 topologySpreadConstraints are ANDed. 27596 items: 27597 description: TopologySpreadConstraint specifies how to spread 27598 matching pods among the given topology. 27599 properties: 27600 labelSelector: 27601 description: LabelSelector is used to find matching pods. 27602 Pods that match this label selector are counted to determine 27603 the number of pods in their corresponding topology domain. 27604 properties: 27605 matchExpressions: 27606 description: matchExpressions is a list of label selector 27607 requirements. The requirements are ANDed. 27608 items: 27609 description: A label selector requirement is a selector 27610 that contains values, a key, and an operator that 27611 relates the key and values. 27612 properties: 27613 key: 27614 description: key is the label key that the selector 27615 applies to. 27616 type: string 27617 operator: 27618 description: operator represents a key's relationship 27619 to a set of values. Valid operators are In, 27620 NotIn, Exists and DoesNotExist. 27621 type: string 27622 values: 27623 description: values is an array of string values. 27624 If the operator is In or NotIn, the values array 27625 must be non-empty. If the operator is Exists 27626 or DoesNotExist, the values array must be empty. 27627 This array is replaced during a strategic merge 27628 patch. 27629 items: 27630 type: string 27631 type: array 27632 required: 27633 - key 27634 - operator 27635 type: object 27636 type: array 27637 matchLabels: 27638 additionalProperties: 27639 type: string 27640 description: matchLabels is a map of {key,value} pairs. 27641 A single {key,value} in the matchLabels map is equivalent 27642 to an element of matchExpressions, whose key field 27643 is "key", the operator is "In", and the values array 27644 contains only "value". The requirements are ANDed. 27645 type: object 27646 type: object 27647 matchLabelKeys: 27648 description: MatchLabelKeys is a set of pod label keys to 27649 select the pods over which spreading will be calculated. 27650 The keys are used to lookup values from the incoming pod 27651 labels, those key-value labels are ANDed with labelSelector 27652 to select the group of existing pods over which spreading 27653 will be calculated for the incoming pod. Keys that don't 27654 exist in the incoming pod labels will be ignored. A null 27655 or empty list means only match against labelSelector. 27656 items: 27657 type: string 27658 type: array 27659 x-kubernetes-list-type: atomic 27660 maxSkew: 27661 description: 'MaxSkew describes the degree to which pods 27662 may be unevenly distributed. When `whenUnsatisfiable=DoNotSchedule`, 27663 it is the maximum permitted difference between the number 27664 of matching pods in the target topology and the global 27665 minimum. The global minimum is the minimum number of matching 27666 pods in an eligible domain or zero if the number of eligible 27667 domains is less than MinDomains. For example, in a 3-zone 27668 cluster, MaxSkew is set to 1, and pods with the same labelSelector 27669 spread as 2/2/1: In this case, the global minimum is 1. 27670 | zone1 | zone2 | zone3 | | P P | P P | P | - 27671 if MaxSkew is 1, incoming pod can only be scheduled to 27672 zone3 to become 2/2/2; scheduling it onto zone1(zone2) 27673 would make the ActualSkew(3-1) on zone1(zone2) violate 27674 MaxSkew(1). - if MaxSkew is 2, incoming pod can be scheduled 27675 onto any zone. When `whenUnsatisfiable=ScheduleAnyway`, 27676 it is used to give higher precedence to topologies that 27677 satisfy it. It''s a required field. Default value is 1 27678 and 0 is not allowed.' 27679 format: int32 27680 type: integer 27681 minDomains: 27682 description: "MinDomains indicates a minimum number of eligible 27683 domains. When the number of eligible domains with matching 27684 topology keys is less than minDomains, Pod Topology Spread 27685 treats \"global minimum\" as 0, and then the calculation 27686 of Skew is performed. And when the number of eligible 27687 domains with matching topology keys equals or greater 27688 than minDomains, this value has no effect on scheduling. 27689 As a result, when the number of eligible domains is less 27690 than minDomains, scheduler won't schedule more than maxSkew 27691 Pods to those domains. If value is nil, the constraint 27692 behaves as if MinDomains is equal to 1. Valid values are 27693 integers greater than 0. When value is not nil, WhenUnsatisfiable 27694 must be DoNotSchedule. \n For example, in a 3-zone cluster, 27695 MaxSkew is set to 2, MinDomains is set to 5 and pods with 27696 the same labelSelector spread as 2/2/2: | zone1 | zone2 27697 | zone3 | | P P | P P | P P | The number of domains 27698 is less than 5(MinDomains), so \"global minimum\" is treated 27699 as 0. In this situation, new pod with the same labelSelector 27700 cannot be scheduled, because computed skew will be 3(3 27701 - 0) if new Pod is scheduled to any of the three zones, 27702 it will violate MaxSkew. \n This is a beta field and requires 27703 the MinDomainsInPodTopologySpread feature gate to be enabled 27704 (enabled by default)." 27705 format: int32 27706 type: integer 27707 nodeAffinityPolicy: 27708 description: "NodeAffinityPolicy indicates how we will treat 27709 Pod's nodeAffinity/nodeSelector when calculating pod topology 27710 spread skew. Options are: - Honor: only nodes matching 27711 nodeAffinity/nodeSelector are included in the calculations. 27712 - Ignore: nodeAffinity/nodeSelector are ignored. All nodes 27713 are included in the calculations. \n If this value is 27714 nil, the behavior is equivalent to the Honor policy. This 27715 is a alpha-level feature enabled by the NodeInclusionPolicyInPodTopologySpread 27716 feature flag." 27717 type: string 27718 nodeTaintsPolicy: 27719 description: "NodeTaintsPolicy indicates how we will treat 27720 node taints when calculating pod topology spread skew. 27721 Options are: - Honor: nodes without taints, along with 27722 tainted nodes for which the incoming pod has a toleration, 27723 are included. - Ignore: node taints are ignored. All nodes 27724 are included. \n If this value is nil, the behavior is 27725 equivalent to the Ignore policy. This is a alpha-level 27726 feature enabled by the NodeInclusionPolicyInPodTopologySpread 27727 feature flag." 27728 type: string 27729 topologyKey: 27730 description: TopologyKey is the key of node labels. Nodes 27731 that have a label with this key and identical values are 27732 considered to be in the same topology. We consider each 27733 <key, value> as a "bucket", and try to put balanced number 27734 of pods into each bucket. We define a domain as a particular 27735 instance of a topology. Also, we define an eligible domain 27736 as a domain whose nodes meet the requirements of nodeAffinityPolicy 27737 and nodeTaintsPolicy. e.g. If TopologyKey is "kubernetes.io/hostname", 27738 each Node is a domain of that topology. And, if TopologyKey 27739 is "topology.kubernetes.io/zone", each zone is a domain 27740 of that topology. It's a required field. 27741 type: string 27742 whenUnsatisfiable: 27743 description: 'WhenUnsatisfiable indicates how to deal with 27744 a pod if it doesn''t satisfy the spread constraint. - 27745 DoNotSchedule (default) tells the scheduler not to schedule 27746 it. - ScheduleAnyway tells the scheduler to schedule the 27747 pod in any location, but giving higher precedence to 27748 topologies that would help reduce the skew. A constraint 27749 is considered "Unsatisfiable" for an incoming pod if and 27750 only if every possible node assignment for that pod would 27751 violate "MaxSkew" on some topology. For example, in a 27752 3-zone cluster, MaxSkew is set to 1, and pods with the 27753 same labelSelector spread as 3/1/1: | zone1 | zone2 | 27754 zone3 | | P P P | P | P | If WhenUnsatisfiable 27755 is set to DoNotSchedule, incoming pod can only be scheduled 27756 to zone2(zone3) to become 3/2/1(3/1/2) as ActualSkew(2-1) 27757 on zone2(zone3) satisfies MaxSkew(1). In other words, 27758 the cluster can still be imbalanced, but scheduler won''t 27759 make it *more* imbalanced. It''s a required field.' 27760 type: string 27761 required: 27762 - maxSkew 27763 - topologyKey 27764 - whenUnsatisfiable 27765 type: object 27766 type: array 27767 x-kubernetes-list-map-keys: 27768 - topologyKey 27769 - whenUnsatisfiable 27770 x-kubernetes-list-type: map 27771 volumes: 27772 description: 'List of volumes that can be mounted by containers 27773 belonging to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes' 27774 items: 27775 description: Volume represents a named volume in a pod that 27776 may be accessed by any container in the pod. 27777 properties: 27778 awsElasticBlockStore: 27779 description: 'awsElasticBlockStore represents an AWS Disk 27780 resource that is attached to a kubelet''s host machine 27781 and then exposed to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore' 27782 properties: 27783 fsType: 27784 description: 'fsType is the filesystem type of the volume 27785 that you want to mount. Tip: Ensure that the filesystem 27786 type is supported by the host operating system. Examples: 27787 "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" 27788 if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore 27789 TODO: how do we prevent errors in the filesystem from 27790 compromising the machine' 27791 type: string 27792 partition: 27793 description: 'partition is the partition in the volume 27794 that you want to mount. If omitted, the default is 27795 to mount by volume name. Examples: For volume /dev/sda1, 27796 you specify the partition as "1". Similarly, the volume 27797 partition for /dev/sda is "0" (or you can leave the 27798 property empty).' 27799 format: int32 27800 type: integer 27801 readOnly: 27802 description: 'readOnly value true will force the readOnly 27803 setting in VolumeMounts. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore' 27804 type: boolean 27805 volumeID: 27806 description: 'volumeID is unique ID of the persistent 27807 disk resource in AWS (Amazon EBS volume). More info: 27808 https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore' 27809 type: string 27810 required: 27811 - volumeID 27812 type: object 27813 azureDisk: 27814 description: azureDisk represents an Azure Data Disk mount 27815 on the host and bind mount to the pod. 27816 properties: 27817 cachingMode: 27818 description: 'cachingMode is the Host Caching mode: 27819 None, Read Only, Read Write.' 27820 type: string 27821 diskName: 27822 description: diskName is the Name of the data disk in 27823 the blob storage 27824 type: string 27825 diskURI: 27826 description: diskURI is the URI of data disk in the 27827 blob storage 27828 type: string 27829 fsType: 27830 description: fsType is Filesystem type to mount. Must 27831 be a filesystem type supported by the host operating 27832 system. Ex. "ext4", "xfs", "ntfs". Implicitly inferred 27833 to be "ext4" if unspecified. 27834 type: string 27835 kind: 27836 description: 'kind expected values are Shared: multiple 27837 blob disks per storage account Dedicated: single 27838 blob disk per storage account Managed: azure managed 27839 data disk (only in managed availability set). defaults 27840 to shared' 27841 type: string 27842 readOnly: 27843 description: readOnly Defaults to false (read/write). 27844 ReadOnly here will force the ReadOnly setting in VolumeMounts. 27845 type: boolean 27846 required: 27847 - diskName 27848 - diskURI 27849 type: object 27850 azureFile: 27851 description: azureFile represents an Azure File Service 27852 mount on the host and bind mount to the pod. 27853 properties: 27854 readOnly: 27855 description: readOnly defaults to false (read/write). 27856 ReadOnly here will force the ReadOnly setting in VolumeMounts. 27857 type: boolean 27858 secretName: 27859 description: secretName is the name of secret that 27860 contains Azure Storage Account Name and Key 27861 type: string 27862 shareName: 27863 description: shareName is the azure share Name 27864 type: string 27865 required: 27866 - secretName 27867 - shareName 27868 type: object 27869 cephfs: 27870 description: cephFS represents a Ceph FS mount on the host 27871 that shares a pod's lifetime 27872 properties: 27873 monitors: 27874 description: 'monitors is Required: Monitors is a collection 27875 of Ceph monitors More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it' 27876 items: 27877 type: string 27878 type: array 27879 path: 27880 description: 'path is Optional: Used as the mounted 27881 root, rather than the full Ceph tree, default is /' 27882 type: string 27883 readOnly: 27884 description: 'readOnly is Optional: Defaults to false 27885 (read/write). ReadOnly here will force the ReadOnly 27886 setting in VolumeMounts. More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it' 27887 type: boolean 27888 secretFile: 27889 description: 'secretFile is Optional: SecretFile is 27890 the path to key ring for User, default is /etc/ceph/user.secret 27891 More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it' 27892 type: string 27893 secretRef: 27894 description: 'secretRef is Optional: SecretRef is reference 27895 to the authentication secret for User, default is 27896 empty. More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it' 27897 properties: 27898 name: 27899 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 27900 TODO: Add other useful fields. apiVersion, kind, 27901 uid?' 27902 type: string 27903 type: object 27904 user: 27905 description: 'user is optional: User is the rados user 27906 name, default is admin More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it' 27907 type: string 27908 required: 27909 - monitors 27910 type: object 27911 cinder: 27912 description: 'cinder represents a cinder volume attached 27913 and mounted on kubelets host machine. More info: https://examples.k8s.io/mysql-cinder-pd/README.md' 27914 properties: 27915 fsType: 27916 description: 'fsType is the filesystem type to mount. 27917 Must be a filesystem type supported by the host operating 27918 system. Examples: "ext4", "xfs", "ntfs". Implicitly 27919 inferred to be "ext4" if unspecified. More info: https://examples.k8s.io/mysql-cinder-pd/README.md' 27920 type: string 27921 readOnly: 27922 description: 'readOnly defaults to false (read/write). 27923 ReadOnly here will force the ReadOnly setting in VolumeMounts. 27924 More info: https://examples.k8s.io/mysql-cinder-pd/README.md' 27925 type: boolean 27926 secretRef: 27927 description: 'secretRef is optional: points to a secret 27928 object containing parameters used to connect to OpenStack.' 27929 properties: 27930 name: 27931 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 27932 TODO: Add other useful fields. apiVersion, kind, 27933 uid?' 27934 type: string 27935 type: object 27936 volumeID: 27937 description: 'volumeID used to identify the volume in 27938 cinder. More info: https://examples.k8s.io/mysql-cinder-pd/README.md' 27939 type: string 27940 required: 27941 - volumeID 27942 type: object 27943 configMap: 27944 description: configMap represents a configMap that should 27945 populate this volume 27946 properties: 27947 defaultMode: 27948 description: 'defaultMode is optional: mode bits used 27949 to set permissions on created files by default. Must 27950 be an octal value between 0000 and 0777 or a decimal 27951 value between 0 and 511. YAML accepts both octal and 27952 decimal values, JSON requires decimal values for mode 27953 bits. Defaults to 0644. Directories within the path 27954 are not affected by this setting. This might be in 27955 conflict with other options that affect the file mode, 27956 like fsGroup, and the result can be other mode bits 27957 set.' 27958 format: int32 27959 type: integer 27960 items: 27961 description: items if unspecified, each key-value pair 27962 in the Data field of the referenced ConfigMap will 27963 be projected into the volume as a file whose name 27964 is the key and content is the value. If specified, 27965 the listed keys will be projected into the specified 27966 paths, and unlisted keys will not be present. If a 27967 key is specified which is not present in the ConfigMap, 27968 the volume setup will error unless it is marked optional. 27969 Paths must be relative and may not contain the '..' 27970 path or start with '..'. 27971 items: 27972 description: Maps a string key to a path within a 27973 volume. 27974 properties: 27975 key: 27976 description: key is the key to project. 27977 type: string 27978 mode: 27979 description: 'mode is Optional: mode bits used 27980 to set permissions on this file. Must be an 27981 octal value between 0000 and 0777 or a decimal 27982 value between 0 and 511. YAML accepts both octal 27983 and decimal values, JSON requires decimal values 27984 for mode bits. If not specified, the volume 27985 defaultMode will be used. This might be in conflict 27986 with other options that affect the file mode, 27987 like fsGroup, and the result can be other mode 27988 bits set.' 27989 format: int32 27990 type: integer 27991 path: 27992 description: path is the relative path of the 27993 file to map the key to. May not be an absolute 27994 path. May not contain the path element '..'. 27995 May not start with the string '..'. 27996 type: string 27997 required: 27998 - key 27999 - path 28000 type: object 28001 type: array 28002 name: 28003 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 28004 TODO: Add other useful fields. apiVersion, kind, uid?' 28005 type: string 28006 optional: 28007 description: optional specify whether the ConfigMap 28008 or its keys must be defined 28009 type: boolean 28010 type: object 28011 csi: 28012 description: csi (Container Storage Interface) represents 28013 ephemeral storage that is handled by certain external 28014 CSI drivers (Beta feature). 28015 properties: 28016 driver: 28017 description: driver is the name of the CSI driver that 28018 handles this volume. Consult with your admin for the 28019 correct name as registered in the cluster. 28020 type: string 28021 fsType: 28022 description: fsType to mount. Ex. "ext4", "xfs", "ntfs". 28023 If not provided, the empty value is passed to the 28024 associated CSI driver which will determine the default 28025 filesystem to apply. 28026 type: string 28027 nodePublishSecretRef: 28028 description: nodePublishSecretRef is a reference to 28029 the secret object containing sensitive information 28030 to pass to the CSI driver to complete the CSI NodePublishVolume 28031 and NodeUnpublishVolume calls. This field is optional, 28032 and may be empty if no secret is required. If the 28033 secret object contains more than one secret, all secret 28034 references are passed. 28035 properties: 28036 name: 28037 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 28038 TODO: Add other useful fields. apiVersion, kind, 28039 uid?' 28040 type: string 28041 type: object 28042 readOnly: 28043 description: readOnly specifies a read-only configuration 28044 for the volume. Defaults to false (read/write). 28045 type: boolean 28046 volumeAttributes: 28047 additionalProperties: 28048 type: string 28049 description: volumeAttributes stores driver-specific 28050 properties that are passed to the CSI driver. Consult 28051 your driver's documentation for supported values. 28052 type: object 28053 required: 28054 - driver 28055 type: object 28056 downwardAPI: 28057 description: downwardAPI represents downward API about the 28058 pod that should populate this volume 28059 properties: 28060 defaultMode: 28061 description: 'Optional: mode bits to use on created 28062 files by default. Must be a Optional: mode bits used 28063 to set permissions on created files by default. Must 28064 be an octal value between 0000 and 0777 or a decimal 28065 value between 0 and 511. YAML accepts both octal and 28066 decimal values, JSON requires decimal values for mode 28067 bits. Defaults to 0644. Directories within the path 28068 are not affected by this setting. This might be in 28069 conflict with other options that affect the file mode, 28070 like fsGroup, and the result can be other mode bits 28071 set.' 28072 format: int32 28073 type: integer 28074 items: 28075 description: Items is a list of downward API volume 28076 file 28077 items: 28078 description: DownwardAPIVolumeFile represents information 28079 to create the file containing the pod field 28080 properties: 28081 fieldRef: 28082 description: 'Required: Selects a field of the 28083 pod: only annotations, labels, name and namespace 28084 are supported.' 28085 properties: 28086 apiVersion: 28087 description: Version of the schema the FieldPath 28088 is written in terms of, defaults to "v1". 28089 type: string 28090 fieldPath: 28091 description: Path of the field to select in 28092 the specified API version. 28093 type: string 28094 required: 28095 - fieldPath 28096 type: object 28097 mode: 28098 description: 'Optional: mode bits used to set 28099 permissions on this file, must be an octal value 28100 between 0000 and 0777 or a decimal value between 28101 0 and 511. YAML accepts both octal and decimal 28102 values, JSON requires decimal values for mode 28103 bits. If not specified, the volume defaultMode 28104 will be used. This might be in conflict with 28105 other options that affect the file mode, like 28106 fsGroup, and the result can be other mode bits 28107 set.' 28108 format: int32 28109 type: integer 28110 path: 28111 description: 'Required: Path is the relative 28112 path name of the file to be created. Must not 28113 be absolute or contain the ''..'' path. Must 28114 be utf-8 encoded. The first item of the relative 28115 path must not start with ''..''' 28116 type: string 28117 resourceFieldRef: 28118 description: 'Selects a resource of the container: 28119 only resources limits and requests (limits.cpu, 28120 limits.memory, requests.cpu and requests.memory) 28121 are currently supported.' 28122 properties: 28123 containerName: 28124 description: 'Container name: required for 28125 volumes, optional for env vars' 28126 type: string 28127 divisor: 28128 anyOf: 28129 - type: integer 28130 - type: string 28131 description: Specifies the output format of 28132 the exposed resources, defaults to "1" 28133 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 28134 x-kubernetes-int-or-string: true 28135 resource: 28136 description: 'Required: resource to select' 28137 type: string 28138 required: 28139 - resource 28140 type: object 28141 required: 28142 - path 28143 type: object 28144 type: array 28145 type: object 28146 emptyDir: 28147 description: 'emptyDir represents a temporary directory 28148 that shares a pod''s lifetime. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir' 28149 properties: 28150 medium: 28151 description: 'medium represents what type of storage 28152 medium should back this directory. The default is 28153 "" which means to use the node''s default medium. 28154 Must be an empty string (default) or Memory. More 28155 info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir' 28156 type: string 28157 sizeLimit: 28158 anyOf: 28159 - type: integer 28160 - type: string 28161 description: 'sizeLimit is the total amount of local 28162 storage required for this EmptyDir volume. The size 28163 limit is also applicable for memory medium. The maximum 28164 usage on memory medium EmptyDir would be the minimum 28165 value between the SizeLimit specified here and the 28166 sum of memory limits of all containers in a pod. The 28167 default is nil which means that the limit is undefined. 28168 More info: http://kubernetes.io/docs/user-guide/volumes#emptydir' 28169 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 28170 x-kubernetes-int-or-string: true 28171 type: object 28172 ephemeral: 28173 description: "ephemeral represents a volume that is handled 28174 by a cluster storage driver. The volume's lifecycle is 28175 tied to the pod that defines it - it will be created before 28176 the pod starts, and deleted when the pod is removed. \n 28177 Use this if: a) the volume is only needed while the pod 28178 runs, b) features of normal volumes like restoring from 28179 snapshot or capacity tracking are needed, c) the storage 28180 driver is specified through a storage class, and d) the 28181 storage driver supports dynamic volume provisioning through 28182 \ a PersistentVolumeClaim (see EphemeralVolumeSource 28183 for more information on the connection between this 28184 volume type and PersistentVolumeClaim). \n Use PersistentVolumeClaim 28185 or one of the vendor-specific APIs for volumes that persist 28186 for longer than the lifecycle of an individual pod. \n 28187 Use CSI for light-weight local ephemeral volumes if the 28188 CSI driver is meant to be used that way - see the documentation 28189 of the driver for more information. \n A pod can use both 28190 types of ephemeral volumes and persistent volumes at the 28191 same time." 28192 properties: 28193 volumeClaimTemplate: 28194 description: "Will be used to create a stand-alone PVC 28195 to provision the volume. The pod in which this EphemeralVolumeSource 28196 is embedded will be the owner of the PVC, i.e. the 28197 PVC will be deleted together with the pod. The name 28198 of the PVC will be `<pod name>-<volume name>` where 28199 `<volume name>` is the name from the `PodSpec.Volumes` 28200 array entry. Pod validation will reject the pod if 28201 the concatenated name is not valid for a PVC (for 28202 example, too long). \n An existing PVC with that name 28203 that is not owned by the pod will *not* be used for 28204 the pod to avoid using an unrelated volume by mistake. 28205 Starting the pod is then blocked until the unrelated 28206 PVC is removed. If such a pre-created PVC is meant 28207 to be used by the pod, the PVC has to updated with 28208 an owner reference to the pod once the pod exists. 28209 Normally this should not be necessary, but it may 28210 be useful when manually reconstructing a broken cluster. 28211 \n This field is read-only and no changes will be 28212 made by Kubernetes to the PVC after it has been created. 28213 \n Required, must not be nil." 28214 properties: 28215 metadata: 28216 description: May contain labels and annotations 28217 that will be copied into the PVC when creating 28218 it. No other fields are allowed and will be rejected 28219 during validation. 28220 type: object 28221 spec: 28222 description: The specification for the PersistentVolumeClaim. 28223 The entire content is copied unchanged into the 28224 PVC that gets created from this template. The 28225 same fields as in a PersistentVolumeClaim are 28226 also valid here. 28227 properties: 28228 accessModes: 28229 description: 'accessModes contains the desired 28230 access modes the volume should have. More 28231 info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1' 28232 items: 28233 type: string 28234 type: array 28235 dataSource: 28236 description: 'dataSource field can be used to 28237 specify either: * An existing VolumeSnapshot 28238 object (snapshot.storage.k8s.io/VolumeSnapshot) 28239 * An existing PVC (PersistentVolumeClaim) 28240 If the provisioner or an external controller 28241 can support the specified data source, it 28242 will create a new volume based on the contents 28243 of the specified data source. If the AnyVolumeDataSource 28244 feature gate is enabled, this field will always 28245 have the same contents as the DataSourceRef 28246 field.' 28247 properties: 28248 apiGroup: 28249 description: APIGroup is the group for the 28250 resource being referenced. If APIGroup 28251 is not specified, the specified Kind must 28252 be in the core API group. For any other 28253 third-party types, APIGroup is required. 28254 type: string 28255 kind: 28256 description: Kind is the type of resource 28257 being referenced 28258 type: string 28259 name: 28260 description: Name is the name of resource 28261 being referenced 28262 type: string 28263 required: 28264 - kind 28265 - name 28266 type: object 28267 dataSourceRef: 28268 description: 'dataSourceRef specifies the object 28269 from which to populate the volume with data, 28270 if a non-empty volume is desired. This may 28271 be any local object from a non-empty API group 28272 (non core object) or a PersistentVolumeClaim 28273 object. When this field is specified, volume 28274 binding will only succeed if the type of the 28275 specified object matches some installed volume 28276 populator or dynamic provisioner. This field 28277 will replace the functionality of the DataSource 28278 field and as such if both fields are non-empty, 28279 they must have the same value. For backwards 28280 compatibility, both fields (DataSource and 28281 DataSourceRef) will be set to the same value 28282 automatically if one of them is empty and 28283 the other is non-empty. There are two important 28284 differences between DataSource and DataSourceRef: 28285 * While DataSource only allows two specific 28286 types of objects, DataSourceRef allows any 28287 non-core object, as well as PersistentVolumeClaim 28288 objects. * While DataSource ignores disallowed 28289 values (dropping them), DataSourceRef preserves 28290 all values, and generates an error if a disallowed 28291 value is specified. (Beta) Using this field 28292 requires the AnyVolumeDataSource feature gate 28293 to be enabled.' 28294 properties: 28295 apiGroup: 28296 description: APIGroup is the group for the 28297 resource being referenced. If APIGroup 28298 is not specified, the specified Kind must 28299 be in the core API group. For any other 28300 third-party types, APIGroup is required. 28301 type: string 28302 kind: 28303 description: Kind is the type of resource 28304 being referenced 28305 type: string 28306 name: 28307 description: Name is the name of resource 28308 being referenced 28309 type: string 28310 required: 28311 - kind 28312 - name 28313 type: object 28314 resources: 28315 description: 'resources represents the minimum 28316 resources the volume should have. If RecoverVolumeExpansionFailure 28317 feature is enabled users are allowed to specify 28318 resource requirements that are lower than 28319 previous value but must still be higher than 28320 capacity recorded in the status field of the 28321 claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources' 28322 properties: 28323 limits: 28324 additionalProperties: 28325 anyOf: 28326 - type: integer 28327 - type: string 28328 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 28329 x-kubernetes-int-or-string: true 28330 description: 'Limits describes the maximum 28331 amount of compute resources allowed. More 28332 info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' 28333 type: object 28334 requests: 28335 additionalProperties: 28336 anyOf: 28337 - type: integer 28338 - type: string 28339 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 28340 x-kubernetes-int-or-string: true 28341 description: 'Requests describes the minimum 28342 amount of compute resources required. 28343 If Requests is omitted for a container, 28344 it defaults to Limits if that is explicitly 28345 specified, otherwise to an implementation-defined 28346 value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' 28347 type: object 28348 type: object 28349 selector: 28350 description: selector is a label query over 28351 volumes to consider for binding. 28352 properties: 28353 matchExpressions: 28354 description: matchExpressions is a list 28355 of label selector requirements. The requirements 28356 are ANDed. 28357 items: 28358 description: A label selector requirement 28359 is a selector that contains values, 28360 a key, and an operator that relates 28361 the key and values. 28362 properties: 28363 key: 28364 description: key is the label key 28365 that the selector applies to. 28366 type: string 28367 operator: 28368 description: operator represents a 28369 key's relationship to a set of values. 28370 Valid operators are In, NotIn, Exists 28371 and DoesNotExist. 28372 type: string 28373 values: 28374 description: values is an array of 28375 string values. If the operator is 28376 In or NotIn, the values array must 28377 be non-empty. If the operator is 28378 Exists or DoesNotExist, the values 28379 array must be empty. This array 28380 is replaced during a strategic merge 28381 patch. 28382 items: 28383 type: string 28384 type: array 28385 required: 28386 - key 28387 - operator 28388 type: object 28389 type: array 28390 matchLabels: 28391 additionalProperties: 28392 type: string 28393 description: matchLabels is a map of {key,value} 28394 pairs. A single {key,value} in the matchLabels 28395 map is equivalent to an element of matchExpressions, 28396 whose key field is "key", the operator 28397 is "In", and the values array contains 28398 only "value". The requirements are ANDed. 28399 type: object 28400 type: object 28401 storageClassName: 28402 description: 'storageClassName is the name of 28403 the StorageClass required by the claim. More 28404 info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1' 28405 type: string 28406 volumeMode: 28407 description: volumeMode defines what type of 28408 volume is required by the claim. Value of 28409 Filesystem is implied when not included in 28410 claim spec. 28411 type: string 28412 volumeName: 28413 description: volumeName is the binding reference 28414 to the PersistentVolume backing this claim. 28415 type: string 28416 type: object 28417 required: 28418 - spec 28419 type: object 28420 type: object 28421 fc: 28422 description: fc represents a Fibre Channel resource that 28423 is attached to a kubelet's host machine and then exposed 28424 to the pod. 28425 properties: 28426 fsType: 28427 description: 'fsType is the filesystem type to mount. 28428 Must be a filesystem type supported by the host operating 28429 system. Ex. "ext4", "xfs", "ntfs". Implicitly inferred 28430 to be "ext4" if unspecified. TODO: how do we prevent 28431 errors in the filesystem from compromising the machine' 28432 type: string 28433 lun: 28434 description: 'lun is Optional: FC target lun number' 28435 format: int32 28436 type: integer 28437 readOnly: 28438 description: 'readOnly is Optional: Defaults to false 28439 (read/write). ReadOnly here will force the ReadOnly 28440 setting in VolumeMounts.' 28441 type: boolean 28442 targetWWNs: 28443 description: 'targetWWNs is Optional: FC target worldwide 28444 names (WWNs)' 28445 items: 28446 type: string 28447 type: array 28448 wwids: 28449 description: 'wwids Optional: FC volume world wide identifiers 28450 (wwids) Either wwids or combination of targetWWNs 28451 and lun must be set, but not both simultaneously.' 28452 items: 28453 type: string 28454 type: array 28455 type: object 28456 flexVolume: 28457 description: flexVolume represents a generic volume resource 28458 that is provisioned/attached using an exec based plugin. 28459 properties: 28460 driver: 28461 description: driver is the name of the driver to use 28462 for this volume. 28463 type: string 28464 fsType: 28465 description: fsType is the filesystem type to mount. 28466 Must be a filesystem type supported by the host operating 28467 system. Ex. "ext4", "xfs", "ntfs". The default filesystem 28468 depends on FlexVolume script. 28469 type: string 28470 options: 28471 additionalProperties: 28472 type: string 28473 description: 'options is Optional: this field holds 28474 extra command options if any.' 28475 type: object 28476 readOnly: 28477 description: 'readOnly is Optional: defaults to false 28478 (read/write). ReadOnly here will force the ReadOnly 28479 setting in VolumeMounts.' 28480 type: boolean 28481 secretRef: 28482 description: 'secretRef is Optional: secretRef is reference 28483 to the secret object containing sensitive information 28484 to pass to the plugin scripts. This may be empty if 28485 no secret object is specified. If the secret object 28486 contains more than one secret, all secrets are passed 28487 to the plugin scripts.' 28488 properties: 28489 name: 28490 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 28491 TODO: Add other useful fields. apiVersion, kind, 28492 uid?' 28493 type: string 28494 type: object 28495 required: 28496 - driver 28497 type: object 28498 flocker: 28499 description: flocker represents a Flocker volume attached 28500 to a kubelet's host machine. This depends on the Flocker 28501 control service being running 28502 properties: 28503 datasetName: 28504 description: datasetName is Name of the dataset stored 28505 as metadata -> name on the dataset for Flocker should 28506 be considered as deprecated 28507 type: string 28508 datasetUUID: 28509 description: datasetUUID is the UUID of the dataset. 28510 This is unique identifier of a Flocker dataset 28511 type: string 28512 type: object 28513 gcePersistentDisk: 28514 description: 'gcePersistentDisk represents a GCE Disk resource 28515 that is attached to a kubelet''s host machine and then 28516 exposed to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk' 28517 properties: 28518 fsType: 28519 description: 'fsType is filesystem type of the volume 28520 that you want to mount. Tip: Ensure that the filesystem 28521 type is supported by the host operating system. Examples: 28522 "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" 28523 if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk 28524 TODO: how do we prevent errors in the filesystem from 28525 compromising the machine' 28526 type: string 28527 partition: 28528 description: 'partition is the partition in the volume 28529 that you want to mount. If omitted, the default is 28530 to mount by volume name. Examples: For volume /dev/sda1, 28531 you specify the partition as "1". Similarly, the volume 28532 partition for /dev/sda is "0" (or you can leave the 28533 property empty). More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk' 28534 format: int32 28535 type: integer 28536 pdName: 28537 description: 'pdName is unique name of the PD resource 28538 in GCE. Used to identify the disk in GCE. More info: 28539 https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk' 28540 type: string 28541 readOnly: 28542 description: 'readOnly here will force the ReadOnly 28543 setting in VolumeMounts. Defaults to false. More info: 28544 https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk' 28545 type: boolean 28546 required: 28547 - pdName 28548 type: object 28549 gitRepo: 28550 description: 'gitRepo represents a git repository at a particular 28551 revision. DEPRECATED: GitRepo is deprecated. To provision 28552 a container with a git repo, mount an EmptyDir into an 28553 InitContainer that clones the repo using git, then mount 28554 the EmptyDir into the Pod''s container.' 28555 properties: 28556 directory: 28557 description: directory is the target directory name. 28558 Must not contain or start with '..'. If '.' is supplied, 28559 the volume directory will be the git repository. Otherwise, 28560 if specified, the volume will contain the git repository 28561 in the subdirectory with the given name. 28562 type: string 28563 repository: 28564 description: repository is the URL 28565 type: string 28566 revision: 28567 description: revision is the commit hash for the specified 28568 revision. 28569 type: string 28570 required: 28571 - repository 28572 type: object 28573 glusterfs: 28574 description: 'glusterfs represents a Glusterfs mount on 28575 the host that shares a pod''s lifetime. More info: https://examples.k8s.io/volumes/glusterfs/README.md' 28576 properties: 28577 endpoints: 28578 description: 'endpoints is the endpoint name that details 28579 Glusterfs topology. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod' 28580 type: string 28581 path: 28582 description: 'path is the Glusterfs volume path. More 28583 info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod' 28584 type: string 28585 readOnly: 28586 description: 'readOnly here will force the Glusterfs 28587 volume to be mounted with read-only permissions. Defaults 28588 to false. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod' 28589 type: boolean 28590 required: 28591 - endpoints 28592 - path 28593 type: object 28594 hostPath: 28595 description: 'hostPath represents a pre-existing file or 28596 directory on the host machine that is directly exposed 28597 to the container. This is generally used for system agents 28598 or other privileged things that are allowed to see the 28599 host machine. Most containers will NOT need this. More 28600 info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath 28601 --- TODO(jonesdl) We need to restrict who can use host 28602 directory mounts and who can/can not mount host directories 28603 as read/write.' 28604 properties: 28605 path: 28606 description: 'path of the directory on the host. If 28607 the path is a symlink, it will follow the link to 28608 the real path. More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath' 28609 type: string 28610 type: 28611 description: 'type for HostPath Volume Defaults to "" 28612 More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath' 28613 type: string 28614 required: 28615 - path 28616 type: object 28617 iscsi: 28618 description: 'iscsi represents an ISCSI Disk resource that 28619 is attached to a kubelet''s host machine and then exposed 28620 to the pod. More info: https://examples.k8s.io/volumes/iscsi/README.md' 28621 properties: 28622 chapAuthDiscovery: 28623 description: chapAuthDiscovery defines whether support 28624 iSCSI Discovery CHAP authentication 28625 type: boolean 28626 chapAuthSession: 28627 description: chapAuthSession defines whether support 28628 iSCSI Session CHAP authentication 28629 type: boolean 28630 fsType: 28631 description: 'fsType is the filesystem type of the volume 28632 that you want to mount. Tip: Ensure that the filesystem 28633 type is supported by the host operating system. Examples: 28634 "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" 28635 if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#iscsi 28636 TODO: how do we prevent errors in the filesystem from 28637 compromising the machine' 28638 type: string 28639 initiatorName: 28640 description: initiatorName is the custom iSCSI Initiator 28641 Name. If initiatorName is specified with iscsiInterface 28642 simultaneously, new iSCSI interface <target portal>:<volume 28643 name> will be created for the connection. 28644 type: string 28645 iqn: 28646 description: iqn is the target iSCSI Qualified Name. 28647 type: string 28648 iscsiInterface: 28649 description: iscsiInterface is the interface Name that 28650 uses an iSCSI transport. Defaults to 'default' (tcp). 28651 type: string 28652 lun: 28653 description: lun represents iSCSI Target Lun number. 28654 format: int32 28655 type: integer 28656 portals: 28657 description: portals is the iSCSI Target Portal List. 28658 The portal is either an IP or ip_addr:port if the 28659 port is other than default (typically TCP ports 860 28660 and 3260). 28661 items: 28662 type: string 28663 type: array 28664 readOnly: 28665 description: readOnly here will force the ReadOnly setting 28666 in VolumeMounts. Defaults to false. 28667 type: boolean 28668 secretRef: 28669 description: secretRef is the CHAP Secret for iSCSI 28670 target and initiator authentication 28671 properties: 28672 name: 28673 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 28674 TODO: Add other useful fields. apiVersion, kind, 28675 uid?' 28676 type: string 28677 type: object 28678 targetPortal: 28679 description: targetPortal is iSCSI Target Portal. The 28680 Portal is either an IP or ip_addr:port if the port 28681 is other than default (typically TCP ports 860 and 28682 3260). 28683 type: string 28684 required: 28685 - iqn 28686 - lun 28687 - targetPortal 28688 type: object 28689 name: 28690 description: 'name of the volume. Must be a DNS_LABEL and 28691 unique within the pod. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' 28692 type: string 28693 nfs: 28694 description: 'nfs represents an NFS mount on the host that 28695 shares a pod''s lifetime More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs' 28696 properties: 28697 path: 28698 description: 'path that is exported by the NFS server. 28699 More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs' 28700 type: string 28701 readOnly: 28702 description: 'readOnly here will force the NFS export 28703 to be mounted with read-only permissions. Defaults 28704 to false. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs' 28705 type: boolean 28706 server: 28707 description: 'server is the hostname or IP address of 28708 the NFS server. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs' 28709 type: string 28710 required: 28711 - path 28712 - server 28713 type: object 28714 persistentVolumeClaim: 28715 description: 'persistentVolumeClaimVolumeSource represents 28716 a reference to a PersistentVolumeClaim in the same namespace. 28717 More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims' 28718 properties: 28719 claimName: 28720 description: 'claimName is the name of a PersistentVolumeClaim 28721 in the same namespace as the pod using this volume. 28722 More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims' 28723 type: string 28724 readOnly: 28725 description: readOnly Will force the ReadOnly setting 28726 in VolumeMounts. Default false. 28727 type: boolean 28728 required: 28729 - claimName 28730 type: object 28731 photonPersistentDisk: 28732 description: photonPersistentDisk represents a PhotonController 28733 persistent disk attached and mounted on kubelets host 28734 machine 28735 properties: 28736 fsType: 28737 description: fsType is the filesystem type to mount. 28738 Must be a filesystem type supported by the host operating 28739 system. Ex. "ext4", "xfs", "ntfs". Implicitly inferred 28740 to be "ext4" if unspecified. 28741 type: string 28742 pdID: 28743 description: pdID is the ID that identifies Photon Controller 28744 persistent disk 28745 type: string 28746 required: 28747 - pdID 28748 type: object 28749 portworxVolume: 28750 description: portworxVolume represents a portworx volume 28751 attached and mounted on kubelets host machine 28752 properties: 28753 fsType: 28754 description: fSType represents the filesystem type to 28755 mount Must be a filesystem type supported by the host 28756 operating system. Ex. "ext4", "xfs". Implicitly inferred 28757 to be "ext4" if unspecified. 28758 type: string 28759 readOnly: 28760 description: readOnly defaults to false (read/write). 28761 ReadOnly here will force the ReadOnly setting in VolumeMounts. 28762 type: boolean 28763 volumeID: 28764 description: volumeID uniquely identifies a Portworx 28765 volume 28766 type: string 28767 required: 28768 - volumeID 28769 type: object 28770 projected: 28771 description: projected items for all in one resources secrets, 28772 configmaps, and downward API 28773 properties: 28774 defaultMode: 28775 description: defaultMode are the mode bits used to set 28776 permissions on created files by default. Must be an 28777 octal value between 0000 and 0777 or a decimal value 28778 between 0 and 511. YAML accepts both octal and decimal 28779 values, JSON requires decimal values for mode bits. 28780 Directories within the path are not affected by this 28781 setting. This might be in conflict with other options 28782 that affect the file mode, like fsGroup, and the result 28783 can be other mode bits set. 28784 format: int32 28785 type: integer 28786 sources: 28787 description: sources is the list of volume projections 28788 items: 28789 description: Projection that may be projected along 28790 with other supported volume types 28791 properties: 28792 configMap: 28793 description: configMap information about the configMap 28794 data to project 28795 properties: 28796 items: 28797 description: items if unspecified, each key-value 28798 pair in the Data field of the referenced 28799 ConfigMap will be projected into the volume 28800 as a file whose name is the key and content 28801 is the value. If specified, the listed keys 28802 will be projected into the specified paths, 28803 and unlisted keys will not be present. If 28804 a key is specified which is not present 28805 in the ConfigMap, the volume setup will 28806 error unless it is marked optional. Paths 28807 must be relative and may not contain the 28808 '..' path or start with '..'. 28809 items: 28810 description: Maps a string key to a path 28811 within a volume. 28812 properties: 28813 key: 28814 description: key is the key to project. 28815 type: string 28816 mode: 28817 description: 'mode is Optional: mode 28818 bits used to set permissions on this 28819 file. Must be an octal value between 28820 0000 and 0777 or a decimal value between 28821 0 and 511. YAML accepts both octal 28822 and decimal values, JSON requires 28823 decimal values for mode bits. If not 28824 specified, the volume defaultMode 28825 will be used. This might be in conflict 28826 with other options that affect the 28827 file mode, like fsGroup, and the result 28828 can be other mode bits set.' 28829 format: int32 28830 type: integer 28831 path: 28832 description: path is the relative path 28833 of the file to map the key to. May 28834 not be an absolute path. May not contain 28835 the path element '..'. May not start 28836 with the string '..'. 28837 type: string 28838 required: 28839 - key 28840 - path 28841 type: object 28842 type: array 28843 name: 28844 description: 'Name of the referent. More info: 28845 https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 28846 TODO: Add other useful fields. apiVersion, 28847 kind, uid?' 28848 type: string 28849 optional: 28850 description: optional specify whether the 28851 ConfigMap or its keys must be defined 28852 type: boolean 28853 type: object 28854 downwardAPI: 28855 description: downwardAPI information about the 28856 downwardAPI data to project 28857 properties: 28858 items: 28859 description: Items is a list of DownwardAPIVolume 28860 file 28861 items: 28862 description: DownwardAPIVolumeFile represents 28863 information to create the file containing 28864 the pod field 28865 properties: 28866 fieldRef: 28867 description: 'Required: Selects a field 28868 of the pod: only annotations, labels, 28869 name and namespace are supported.' 28870 properties: 28871 apiVersion: 28872 description: Version of the schema 28873 the FieldPath is written in terms 28874 of, defaults to "v1". 28875 type: string 28876 fieldPath: 28877 description: Path of the field to 28878 select in the specified API version. 28879 type: string 28880 required: 28881 - fieldPath 28882 type: object 28883 mode: 28884 description: 'Optional: mode bits used 28885 to set permissions on this file, must 28886 be an octal value between 0000 and 28887 0777 or a decimal value between 0 28888 and 511. YAML accepts both octal and 28889 decimal values, JSON requires decimal 28890 values for mode bits. If not specified, 28891 the volume defaultMode will be used. 28892 This might be in conflict with other 28893 options that affect the file mode, 28894 like fsGroup, and the result can be 28895 other mode bits set.' 28896 format: int32 28897 type: integer 28898 path: 28899 description: 'Required: Path is the 28900 relative path name of the file to 28901 be created. Must not be absolute or 28902 contain the ''..'' path. Must be utf-8 28903 encoded. The first item of the relative 28904 path must not start with ''..''' 28905 type: string 28906 resourceFieldRef: 28907 description: 'Selects a resource of 28908 the container: only resources limits 28909 and requests (limits.cpu, limits.memory, 28910 requests.cpu and requests.memory) 28911 are currently supported.' 28912 properties: 28913 containerName: 28914 description: 'Container name: required 28915 for volumes, optional for env 28916 vars' 28917 type: string 28918 divisor: 28919 anyOf: 28920 - type: integer 28921 - type: string 28922 description: Specifies the output 28923 format of the exposed resources, 28924 defaults to "1" 28925 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 28926 x-kubernetes-int-or-string: true 28927 resource: 28928 description: 'Required: resource 28929 to select' 28930 type: string 28931 required: 28932 - resource 28933 type: object 28934 required: 28935 - path 28936 type: object 28937 type: array 28938 type: object 28939 secret: 28940 description: secret information about the secret 28941 data to project 28942 properties: 28943 items: 28944 description: items if unspecified, each key-value 28945 pair in the Data field of the referenced 28946 Secret will be projected into the volume 28947 as a file whose name is the key and content 28948 is the value. If specified, the listed keys 28949 will be projected into the specified paths, 28950 and unlisted keys will not be present. If 28951 a key is specified which is not present 28952 in the Secret, the volume setup will error 28953 unless it is marked optional. Paths must 28954 be relative and may not contain the '..' 28955 path or start with '..'. 28956 items: 28957 description: Maps a string key to a path 28958 within a volume. 28959 properties: 28960 key: 28961 description: key is the key to project. 28962 type: string 28963 mode: 28964 description: 'mode is Optional: mode 28965 bits used to set permissions on this 28966 file. Must be an octal value between 28967 0000 and 0777 or a decimal value between 28968 0 and 511. YAML accepts both octal 28969 and decimal values, JSON requires 28970 decimal values for mode bits. If not 28971 specified, the volume defaultMode 28972 will be used. This might be in conflict 28973 with other options that affect the 28974 file mode, like fsGroup, and the result 28975 can be other mode bits set.' 28976 format: int32 28977 type: integer 28978 path: 28979 description: path is the relative path 28980 of the file to map the key to. May 28981 not be an absolute path. May not contain 28982 the path element '..'. May not start 28983 with the string '..'. 28984 type: string 28985 required: 28986 - key 28987 - path 28988 type: object 28989 type: array 28990 name: 28991 description: 'Name of the referent. More info: 28992 https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 28993 TODO: Add other useful fields. apiVersion, 28994 kind, uid?' 28995 type: string 28996 optional: 28997 description: optional field specify whether 28998 the Secret or its key must be defined 28999 type: boolean 29000 type: object 29001 serviceAccountToken: 29002 description: serviceAccountToken is information 29003 about the serviceAccountToken data to project 29004 properties: 29005 audience: 29006 description: audience is the intended audience 29007 of the token. A recipient of a token must 29008 identify itself with an identifier specified 29009 in the audience of the token, and otherwise 29010 should reject the token. The audience defaults 29011 to the identifier of the apiserver. 29012 type: string 29013 expirationSeconds: 29014 description: expirationSeconds is the requested 29015 duration of validity of the service account 29016 token. As the token approaches expiration, 29017 the kubelet volume plugin will proactively 29018 rotate the service account token. The kubelet 29019 will start trying to rotate the token if 29020 the token is older than 80 percent of its 29021 time to live or if the token is older than 29022 24 hours.Defaults to 1 hour and must be 29023 at least 10 minutes. 29024 format: int64 29025 type: integer 29026 path: 29027 description: path is the path relative to 29028 the mount point of the file to project the 29029 token into. 29030 type: string 29031 required: 29032 - path 29033 type: object 29034 type: object 29035 type: array 29036 type: object 29037 quobyte: 29038 description: quobyte represents a Quobyte mount on the host 29039 that shares a pod's lifetime 29040 properties: 29041 group: 29042 description: group to map volume access to Default is 29043 no group 29044 type: string 29045 readOnly: 29046 description: readOnly here will force the Quobyte volume 29047 to be mounted with read-only permissions. Defaults 29048 to false. 29049 type: boolean 29050 registry: 29051 description: registry represents a single or multiple 29052 Quobyte Registry services specified as a string as 29053 host:port pair (multiple entries are separated with 29054 commas) which acts as the central registry for volumes 29055 type: string 29056 tenant: 29057 description: tenant owning the given Quobyte volume 29058 in the Backend Used with dynamically provisioned Quobyte 29059 volumes, value is set by the plugin 29060 type: string 29061 user: 29062 description: user to map volume access to Defaults to 29063 serivceaccount user 29064 type: string 29065 volume: 29066 description: volume is a string that references an already 29067 created Quobyte volume by name. 29068 type: string 29069 required: 29070 - registry 29071 - volume 29072 type: object 29073 rbd: 29074 description: 'rbd represents a Rados Block Device mount 29075 on the host that shares a pod''s lifetime. More info: 29076 https://examples.k8s.io/volumes/rbd/README.md' 29077 properties: 29078 fsType: 29079 description: 'fsType is the filesystem type of the volume 29080 that you want to mount. Tip: Ensure that the filesystem 29081 type is supported by the host operating system. Examples: 29082 "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" 29083 if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#rbd 29084 TODO: how do we prevent errors in the filesystem from 29085 compromising the machine' 29086 type: string 29087 image: 29088 description: 'image is the rados image name. More info: 29089 https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it' 29090 type: string 29091 keyring: 29092 description: 'keyring is the path to key ring for RBDUser. 29093 Default is /etc/ceph/keyring. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it' 29094 type: string 29095 monitors: 29096 description: 'monitors is a collection of Ceph monitors. 29097 More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it' 29098 items: 29099 type: string 29100 type: array 29101 pool: 29102 description: 'pool is the rados pool name. Default is 29103 rbd. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it' 29104 type: string 29105 readOnly: 29106 description: 'readOnly here will force the ReadOnly 29107 setting in VolumeMounts. Defaults to false. More info: 29108 https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it' 29109 type: boolean 29110 secretRef: 29111 description: 'secretRef is name of the authentication 29112 secret for RBDUser. If provided overrides keyring. 29113 Default is nil. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it' 29114 properties: 29115 name: 29116 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 29117 TODO: Add other useful fields. apiVersion, kind, 29118 uid?' 29119 type: string 29120 type: object 29121 user: 29122 description: 'user is the rados user name. Default is 29123 admin. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it' 29124 type: string 29125 required: 29126 - image 29127 - monitors 29128 type: object 29129 scaleIO: 29130 description: scaleIO represents a ScaleIO persistent volume 29131 attached and mounted on Kubernetes nodes. 29132 properties: 29133 fsType: 29134 description: fsType is the filesystem type to mount. 29135 Must be a filesystem type supported by the host operating 29136 system. Ex. "ext4", "xfs", "ntfs". Default is "xfs". 29137 type: string 29138 gateway: 29139 description: gateway is the host address of the ScaleIO 29140 API Gateway. 29141 type: string 29142 protectionDomain: 29143 description: protectionDomain is the name of the ScaleIO 29144 Protection Domain for the configured storage. 29145 type: string 29146 readOnly: 29147 description: readOnly Defaults to false (read/write). 29148 ReadOnly here will force the ReadOnly setting in VolumeMounts. 29149 type: boolean 29150 secretRef: 29151 description: secretRef references to the secret for 29152 ScaleIO user and other sensitive information. If this 29153 is not provided, Login operation will fail. 29154 properties: 29155 name: 29156 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 29157 TODO: Add other useful fields. apiVersion, kind, 29158 uid?' 29159 type: string 29160 type: object 29161 sslEnabled: 29162 description: sslEnabled Flag enable/disable SSL communication 29163 with Gateway, default false 29164 type: boolean 29165 storageMode: 29166 description: storageMode indicates whether the storage 29167 for a volume should be ThickProvisioned or ThinProvisioned. 29168 Default is ThinProvisioned. 29169 type: string 29170 storagePool: 29171 description: storagePool is the ScaleIO Storage Pool 29172 associated with the protection domain. 29173 type: string 29174 system: 29175 description: system is the name of the storage system 29176 as configured in ScaleIO. 29177 type: string 29178 volumeName: 29179 description: volumeName is the name of a volume already 29180 created in the ScaleIO system that is associated with 29181 this volume source. 29182 type: string 29183 required: 29184 - gateway 29185 - secretRef 29186 - system 29187 type: object 29188 secret: 29189 description: 'secret represents a secret that should populate 29190 this volume. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret' 29191 properties: 29192 defaultMode: 29193 description: 'defaultMode is Optional: mode bits used 29194 to set permissions on created files by default. Must 29195 be an octal value between 0000 and 0777 or a decimal 29196 value between 0 and 511. YAML accepts both octal and 29197 decimal values, JSON requires decimal values for mode 29198 bits. Defaults to 0644. Directories within the path 29199 are not affected by this setting. This might be in 29200 conflict with other options that affect the file mode, 29201 like fsGroup, and the result can be other mode bits 29202 set.' 29203 format: int32 29204 type: integer 29205 items: 29206 description: items If unspecified, each key-value pair 29207 in the Data field of the referenced Secret will be 29208 projected into the volume as a file whose name is 29209 the key and content is the value. If specified, the 29210 listed keys will be projected into the specified paths, 29211 and unlisted keys will not be present. If a key is 29212 specified which is not present in the Secret, the 29213 volume setup will error unless it is marked optional. 29214 Paths must be relative and may not contain the '..' 29215 path or start with '..'. 29216 items: 29217 description: Maps a string key to a path within a 29218 volume. 29219 properties: 29220 key: 29221 description: key is the key to project. 29222 type: string 29223 mode: 29224 description: 'mode is Optional: mode bits used 29225 to set permissions on this file. Must be an 29226 octal value between 0000 and 0777 or a decimal 29227 value between 0 and 511. YAML accepts both octal 29228 and decimal values, JSON requires decimal values 29229 for mode bits. If not specified, the volume 29230 defaultMode will be used. This might be in conflict 29231 with other options that affect the file mode, 29232 like fsGroup, and the result can be other mode 29233 bits set.' 29234 format: int32 29235 type: integer 29236 path: 29237 description: path is the relative path of the 29238 file to map the key to. May not be an absolute 29239 path. May not contain the path element '..'. 29240 May not start with the string '..'. 29241 type: string 29242 required: 29243 - key 29244 - path 29245 type: object 29246 type: array 29247 optional: 29248 description: optional field specify whether the Secret 29249 or its keys must be defined 29250 type: boolean 29251 secretName: 29252 description: 'secretName is the name of the secret in 29253 the pod''s namespace to use. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret' 29254 type: string 29255 type: object 29256 storageos: 29257 description: storageOS represents a StorageOS volume attached 29258 and mounted on Kubernetes nodes. 29259 properties: 29260 fsType: 29261 description: fsType is the filesystem type to mount. 29262 Must be a filesystem type supported by the host operating 29263 system. Ex. "ext4", "xfs", "ntfs". Implicitly inferred 29264 to be "ext4" if unspecified. 29265 type: string 29266 readOnly: 29267 description: readOnly defaults to false (read/write). 29268 ReadOnly here will force the ReadOnly setting in VolumeMounts. 29269 type: boolean 29270 secretRef: 29271 description: secretRef specifies the secret to use for 29272 obtaining the StorageOS API credentials. If not specified, 29273 default values will be attempted. 29274 properties: 29275 name: 29276 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 29277 TODO: Add other useful fields. apiVersion, kind, 29278 uid?' 29279 type: string 29280 type: object 29281 volumeName: 29282 description: volumeName is the human-readable name of 29283 the StorageOS volume. Volume names are only unique 29284 within a namespace. 29285 type: string 29286 volumeNamespace: 29287 description: volumeNamespace specifies the scope of 29288 the volume within StorageOS. If no namespace is specified 29289 then the Pod's namespace will be used. This allows 29290 the Kubernetes name scoping to be mirrored within 29291 StorageOS for tighter integration. Set VolumeName 29292 to any name to override the default behaviour. Set 29293 to "default" if you are not using namespaces within 29294 StorageOS. Namespaces that do not pre-exist within 29295 StorageOS will be created. 29296 type: string 29297 type: object 29298 vsphereVolume: 29299 description: vsphereVolume represents a vSphere volume attached 29300 and mounted on kubelets host machine 29301 properties: 29302 fsType: 29303 description: fsType is filesystem type to mount. Must 29304 be a filesystem type supported by the host operating 29305 system. Ex. "ext4", "xfs", "ntfs". Implicitly inferred 29306 to be "ext4" if unspecified. 29307 type: string 29308 storagePolicyID: 29309 description: storagePolicyID is the storage Policy Based 29310 Management (SPBM) profile ID associated with the StoragePolicyName. 29311 type: string 29312 storagePolicyName: 29313 description: storagePolicyName is the storage Policy 29314 Based Management (SPBM) profile name. 29315 type: string 29316 volumePath: 29317 description: volumePath is the path that identifies 29318 vSphere volume vmdk 29319 type: string 29320 required: 29321 - volumePath 29322 type: object 29323 required: 29324 - name 29325 type: object 29326 type: array 29327 required: 29328 - containers 29329 type: object 29330 prowjob_defaults: 29331 description: ProwJobDefault holds configuration options provided as 29332 defaults in the Prow config 29333 properties: 29334 resultstore_config: 29335 description: ResultStoreConfig specifies parameters for uploading 29336 results to the ResultStore service. 29337 properties: 29338 project_id: 29339 description: ProjectID specifies the ResultStore InvocationAttributes.ProjectID, 29340 used for various quota and GUI access control purposes. 29341 In practice, it is generally the same as the Google Cloud 29342 Project ID or number of the job's GCS storage bucket. Required 29343 to upload results to ResultStore. 29344 type: string 29345 type: object 29346 tenant_id: 29347 type: string 29348 type: object 29349 refs: 29350 description: Refs is the code under test, determined at runtime by 29351 Prow itself 29352 properties: 29353 base_link: 29354 description: BaseLink is a link to the commit identified by BaseSHA. 29355 type: string 29356 base_ref: 29357 type: string 29358 base_sha: 29359 type: string 29360 blobless_fetch: 29361 description: BloblessFetch tells prow to avoid fetching objects 29362 when cloning using the --filter=blob:none flag. If unspecified, 29363 defaults to DecorationConfig.BloblessFetch. 29364 type: boolean 29365 clone_depth: 29366 description: CloneDepth is the depth of the clone that will be 29367 used. A depth of zero will do a full clone. 29368 type: integer 29369 clone_uri: 29370 description: CloneURI is the URI that is used to clone the repository. 29371 If unset, will default to `https://github.com/org/repo.git`. 29372 type: string 29373 org: 29374 description: Org is something like kubernetes or k8s.io 29375 type: string 29376 path_alias: 29377 description: PathAlias is the location under <root-dir>/src where 29378 this repository is cloned. If this is not set, <root-dir>/src/github.com/org/repo 29379 will be used as the default. 29380 type: string 29381 pulls: 29382 items: 29383 description: Pull describes a pull request at a particular point 29384 in time. 29385 properties: 29386 author: 29387 type: string 29388 author_link: 29389 description: AuthorLink links to the author of the pull 29390 request. 29391 type: string 29392 commit_link: 29393 description: CommitLink links to the commit identified by 29394 the SHA. 29395 type: string 29396 head_ref: 29397 description: 'HeadRef is the git ref (branch name) of the 29398 proposed change. This can be more human-readable than 29399 just a PR #, and some tools want this metadata to help 29400 associate the work with a pull request (e.g. some code 29401 scanning services, or chromatic.com).' 29402 type: string 29403 link: 29404 description: Link links to the pull request itself. 29405 type: string 29406 number: 29407 type: integer 29408 ref: 29409 description: 'Ref is git ref can be checked out for a change 29410 for example, github: pull/123/head gerrit: refs/changes/00/123/1' 29411 type: string 29412 sha: 29413 type: string 29414 title: 29415 type: string 29416 required: 29417 - author 29418 - number 29419 - sha 29420 type: object 29421 type: array 29422 repo: 29423 description: Repo is something like test-infra 29424 type: string 29425 repo_link: 29426 description: RepoLink links to the source for Repo. 29427 type: string 29428 skip_fetch_head: 29429 description: SkipFetchHead tells prow to avoid a git fetch <remote> 29430 call. Multiheaded repos may need to not make this call. The 29431 git fetch <remote> <BaseRef> call occurs regardless. 29432 type: boolean 29433 skip_submodules: 29434 description: SkipSubmodules determines if submodules should be 29435 cloned when the job is run. Defaults to false. 29436 type: boolean 29437 workdir: 29438 description: WorkDir defines if the location of the cloned repository 29439 will be used as the default working directory. 29440 type: boolean 29441 required: 29442 - org 29443 - repo 29444 type: object 29445 report: 29446 description: Report determines if the result of this job should be 29447 reported (e.g. status on GitHub, message in Slack, etc.) 29448 type: boolean 29449 reporter_config: 29450 description: ReporterConfig holds reporter-specific configuration 29451 properties: 29452 slack: 29453 properties: 29454 channel: 29455 type: string 29456 host: 29457 type: string 29458 job_states_to_report: 29459 items: 29460 description: ProwJobState specifies whether the job is running 29461 type: string 29462 type: array 29463 report: 29464 description: 'Report is derived from JobStatesToReport, it''s 29465 used for differentiating nil from empty slice, as yaml roundtrip 29466 by design can''t tell the difference when omitempty is supplied. 29467 See https://github.com/kubernetes/test-infra/pull/24168 29468 for details Priority-wise, it goes by following order: - 29469 `report: true/false`` in job config - `JobStatesToReport: 29470 <anything including empty slice>` in job config - `report: 29471 true/false`` in global config - `JobStatesToReport:` in 29472 global config' 29473 type: boolean 29474 report_template: 29475 type: string 29476 type: object 29477 type: object 29478 rerun_auth_config: 29479 description: RerunAuthConfig holds information about which users can 29480 rerun the job 29481 properties: 29482 allow_anyone: 29483 description: If AllowAnyone is set to true, any user can rerun 29484 the job 29485 type: boolean 29486 github_orgs: 29487 description: GitHubOrgs contains names of GitHub organizations 29488 whose members can rerun the job 29489 items: 29490 type: string 29491 type: array 29492 github_team_ids: 29493 description: 'GitHubTeams contains IDs of GitHub teams of users 29494 who can rerun the job If you know the name of a team and the 29495 org it belongs to, you can look up its ID using this command, 29496 where the team slug is the hyphenated name: curl -H "Authorization: 29497 token <token>" "https://api.github.com/orgs/<org-name>/teams/<team 29498 slug>" or, to list all teams in a given org, use curl -H "Authorization: 29499 token <token>" "https://api.github.com/orgs/<org-name>/teams"' 29500 items: 29501 type: integer 29502 type: array 29503 github_team_slugs: 29504 description: GitHubTeamSlugs contains slugs and orgs of teams 29505 of users who can rerun the job 29506 items: 29507 properties: 29508 org: 29509 type: string 29510 slug: 29511 type: string 29512 required: 29513 - org 29514 - slug 29515 type: object 29516 type: array 29517 github_users: 29518 description: GitHubUsers contains names of individual users who 29519 can rerun the job 29520 items: 29521 type: string 29522 type: array 29523 type: object 29524 rerun_command: 29525 description: RerunCommand is the command a user would write to trigger 29526 this job on their pull request 29527 type: string 29528 tekton_pipeline_run_spec: 29529 description: TektonPipelineRunSpec provides the basis for running 29530 the test as a pipeline-crd resource https://github.com/tektoncd/pipeline 29531 properties: 29532 v1beta1: 29533 description: PipelineRunSpec defines the desired state of PipelineRun 29534 properties: 29535 params: 29536 description: Params is a list of parameter names and values. 29537 items: 29538 description: Param declares an ParamValues to use for the 29539 parameter called name. 29540 properties: 29541 name: 29542 type: string 29543 value: 29544 description: ParamValue is a type that can hold a single 29545 string or string array. Used in JSON unmarshalling 29546 so that a single JSON field can accept either an individual 29547 string or an array of strings. 29548 properties: 29549 arrayVal: 29550 items: 29551 type: string 29552 type: array 29553 x-kubernetes-list-type: atomic 29554 objectVal: 29555 additionalProperties: 29556 type: string 29557 type: object 29558 stringVal: 29559 type: string 29560 type: 29561 description: ParamType indicates the type of an 29562 input parameter; Used to distinguish between a 29563 single string and an array of strings. 29564 type: string 29565 required: 29566 - arrayVal 29567 - objectVal 29568 - stringVal 29569 - type 29570 type: object 29571 required: 29572 - name 29573 - value 29574 type: object 29575 type: array 29576 x-kubernetes-list-type: atomic 29577 pipelineRef: 29578 description: PipelineRef can be used to refer to a specific 29579 instance of a Pipeline. 29580 properties: 29581 apiVersion: 29582 description: API version of the referent 29583 type: string 29584 bundle: 29585 description: 'Bundle url reference to a Tekton Bundle. 29586 Deprecated: Please use ResolverRef with the bundles 29587 resolver instead.' 29588 type: string 29589 name: 29590 description: 'Name of the referent; More info: http://kubernetes.io/docs/user-guide/identifiers#names' 29591 type: string 29592 params: 29593 description: Params contains the parameters used to identify 29594 the referenced Tekton resource. Example entries might 29595 include "repo" or "path" but the set of params ultimately 29596 depends on the chosen resolver. 29597 items: 29598 description: Param declares an ParamValues to use for 29599 the parameter called name. 29600 properties: 29601 name: 29602 type: string 29603 value: 29604 description: ParamValue is a type that can hold 29605 a single string or string array. Used in JSON 29606 unmarshalling so that a single JSON field can 29607 accept either an individual string or an array 29608 of strings. 29609 properties: 29610 arrayVal: 29611 items: 29612 type: string 29613 type: array 29614 x-kubernetes-list-type: atomic 29615 objectVal: 29616 additionalProperties: 29617 type: string 29618 type: object 29619 stringVal: 29620 type: string 29621 type: 29622 description: ParamType indicates the type of 29623 an input parameter; Used to distinguish between 29624 a single string and an array of strings. 29625 type: string 29626 required: 29627 - arrayVal 29628 - objectVal 29629 - stringVal 29630 - type 29631 type: object 29632 required: 29633 - name 29634 - value 29635 type: object 29636 type: array 29637 x-kubernetes-list-type: atomic 29638 resolver: 29639 description: Resolver is the name of the resolver that 29640 should perform resolution of the referenced Tekton resource, 29641 such as "git". 29642 type: string 29643 type: object 29644 pipelineSpec: 29645 description: PipelineSpec defines the desired state of Pipeline. 29646 properties: 29647 description: 29648 description: Description is a user-facing description 29649 of the pipeline that may be used to populate a UI. 29650 type: string 29651 finally: 29652 description: Finally declares the list of Tasks that execute 29653 just before leaving the Pipeline i.e. either after all 29654 Tasks are finished executing successfully or after a 29655 failure which would result in ending the Pipeline 29656 items: 29657 description: PipelineTask defines a task in a Pipeline, 29658 passing inputs from both Params and from the output 29659 of previous tasks. 29660 properties: 29661 matrix: 29662 description: Matrix declares parameters used to 29663 fan out this task. 29664 properties: 29665 params: 29666 description: Params is a list of parameters 29667 used to fan out the pipelineTask Params takes 29668 only `Parameters` of type `"array"` Each array 29669 element is supplied to the `PipelineTask` 29670 by substituting `params` of type `"string"` 29671 in the underlying `Task`. The names of the 29672 `params` in the `Matrix` must match the names 29673 of the `params` in the underlying `Task` that 29674 they will be substituting. 29675 items: 29676 description: Param declares an ParamValues 29677 to use for the parameter called name. 29678 properties: 29679 name: 29680 type: string 29681 value: 29682 description: ParamValue is a type that 29683 can hold a single string or string array. 29684 Used in JSON unmarshalling so that a 29685 single JSON field can accept either 29686 an individual string or an array of 29687 strings. 29688 properties: 29689 arrayVal: 29690 items: 29691 type: string 29692 type: array 29693 x-kubernetes-list-type: atomic 29694 objectVal: 29695 additionalProperties: 29696 type: string 29697 type: object 29698 stringVal: 29699 type: string 29700 type: 29701 description: ParamType indicates the 29702 type of an input parameter; Used 29703 to distinguish between a single 29704 string and an array of strings. 29705 type: string 29706 required: 29707 - arrayVal 29708 - objectVal 29709 - stringVal 29710 - type 29711 type: object 29712 required: 29713 - name 29714 - value 29715 type: object 29716 type: array 29717 x-kubernetes-list-type: atomic 29718 type: object 29719 name: 29720 description: Name is the name of this task within 29721 the context of a Pipeline. Name is used as a coordinate 29722 with the `from` and `runAfter` fields to establish 29723 the execution order of tasks relative to one another. 29724 type: string 29725 params: 29726 description: Parameters declares parameters passed 29727 to this task. 29728 items: 29729 description: Param declares an ParamValues to 29730 use for the parameter called name. 29731 properties: 29732 name: 29733 type: string 29734 value: 29735 description: ParamValue is a type that can 29736 hold a single string or string array. Used 29737 in JSON unmarshalling so that a single JSON 29738 field can accept either an individual string 29739 or an array of strings. 29740 properties: 29741 arrayVal: 29742 items: 29743 type: string 29744 type: array 29745 x-kubernetes-list-type: atomic 29746 objectVal: 29747 additionalProperties: 29748 type: string 29749 type: object 29750 stringVal: 29751 type: string 29752 type: 29753 description: ParamType indicates the type 29754 of an input parameter; Used to distinguish 29755 between a single string and an array 29756 of strings. 29757 type: string 29758 required: 29759 - arrayVal 29760 - objectVal 29761 - stringVal 29762 - type 29763 type: object 29764 required: 29765 - name 29766 - value 29767 type: object 29768 type: array 29769 x-kubernetes-list-type: atomic 29770 resources: 29771 description: Resources declares the resources given 29772 to this task as inputs and outputs. 29773 properties: 29774 inputs: 29775 description: Inputs holds the mapping from the 29776 PipelineResources declared in DeclaredPipelineResources 29777 to the input PipelineResources required by 29778 the Task. 29779 items: 29780 description: PipelineTaskInputResource maps 29781 the name of a declared PipelineResource 29782 input dependency in a Task to the resource 29783 in the Pipeline's DeclaredPipelineResources 29784 that should be used. This input may come 29785 from a previous task. 29786 properties: 29787 from: 29788 description: From is the list of PipelineTask 29789 names that the resource has to come 29790 from. (Implies an ordering in the execution 29791 graph.) 29792 items: 29793 type: string 29794 type: array 29795 x-kubernetes-list-type: atomic 29796 name: 29797 description: Name is the name of the PipelineResource 29798 as declared by the Task. 29799 type: string 29800 resource: 29801 description: Resource is the name of the 29802 DeclaredPipelineResource to use. 29803 type: string 29804 required: 29805 - name 29806 - resource 29807 type: object 29808 type: array 29809 x-kubernetes-list-type: atomic 29810 outputs: 29811 description: Outputs holds the mapping from 29812 the PipelineResources declared in DeclaredPipelineResources 29813 to the input PipelineResources required by 29814 the Task. 29815 items: 29816 description: PipelineTaskOutputResource maps 29817 the name of a declared PipelineResource 29818 output dependency in a Task to the resource 29819 in the Pipeline's DeclaredPipelineResources 29820 that should be used. 29821 properties: 29822 name: 29823 description: Name is the name of the PipelineResource 29824 as declared by the Task. 29825 type: string 29826 resource: 29827 description: Resource is the name of the 29828 DeclaredPipelineResource to use. 29829 type: string 29830 required: 29831 - name 29832 - resource 29833 type: object 29834 type: array 29835 x-kubernetes-list-type: atomic 29836 type: object 29837 retries: 29838 description: 'Retries represents how many times 29839 this task should be retried in case of task failure: 29840 ConditionSucceeded set to False' 29841 type: integer 29842 runAfter: 29843 description: RunAfter is the list of PipelineTask 29844 names that should be executed before this Task 29845 executes. (Used to force a specific ordering in 29846 graph execution.) 29847 items: 29848 type: string 29849 type: array 29850 x-kubernetes-list-type: atomic 29851 taskRef: 29852 description: TaskRef is a reference to a task definition. 29853 properties: 29854 apiVersion: 29855 description: API version of the referent 29856 type: string 29857 bundle: 29858 description: 'Bundle url reference to a Tekton 29859 Bundle. Deprecated: Please use ResolverRef 29860 with the bundles resolver instead.' 29861 type: string 29862 kind: 29863 description: TaskKind indicates the kind of 29864 the task, namespaced or cluster scoped. 29865 type: string 29866 name: 29867 description: 'Name of the referent; More info: 29868 http://kubernetes.io/docs/user-guide/identifiers#names' 29869 type: string 29870 params: 29871 description: Params contains the parameters 29872 used to identify the referenced Tekton resource. 29873 Example entries might include "repo" or "path" 29874 but the set of params ultimately depends on 29875 the chosen resolver. 29876 items: 29877 description: Param declares an ParamValues 29878 to use for the parameter called name. 29879 properties: 29880 name: 29881 type: string 29882 value: 29883 description: ParamValue is a type that 29884 can hold a single string or string array. 29885 Used in JSON unmarshalling so that a 29886 single JSON field can accept either 29887 an individual string or an array of 29888 strings. 29889 properties: 29890 arrayVal: 29891 items: 29892 type: string 29893 type: array 29894 x-kubernetes-list-type: atomic 29895 objectVal: 29896 additionalProperties: 29897 type: string 29898 type: object 29899 stringVal: 29900 type: string 29901 type: 29902 description: ParamType indicates the 29903 type of an input parameter; Used 29904 to distinguish between a single 29905 string and an array of strings. 29906 type: string 29907 required: 29908 - arrayVal 29909 - objectVal 29910 - stringVal 29911 - type 29912 type: object 29913 required: 29914 - name 29915 - value 29916 type: object 29917 type: array 29918 x-kubernetes-list-type: atomic 29919 resolver: 29920 description: Resolver is the name of the resolver 29921 that should perform resolution of the referenced 29922 Tekton resource, such as "git". 29923 type: string 29924 type: object 29925 taskSpec: 29926 description: TaskSpec is a specification of a task 29927 properties: 29928 apiVersion: 29929 type: string 29930 description: 29931 description: Description is a user-facing description 29932 of the task that may be used to populate a 29933 UI. 29934 type: string 29935 kind: 29936 type: string 29937 metadata: 29938 description: PipelineTaskMetadata contains the 29939 labels or annotations for an EmbeddedTask 29940 properties: 29941 annotations: 29942 additionalProperties: 29943 type: string 29944 type: object 29945 labels: 29946 additionalProperties: 29947 type: string 29948 type: object 29949 type: object 29950 params: 29951 description: Params is a list of input parameters 29952 required to run the task. Params must be supplied 29953 as inputs in TaskRuns unless they declare 29954 a default value. 29955 items: 29956 description: ParamSpec defines arbitrary parameters 29957 needed beyond typed inputs (such as resources). 29958 Parameter values are provided by users as 29959 inputs on a TaskRun or PipelineRun. 29960 properties: 29961 default: 29962 description: Default is the value a parameter 29963 takes if no input value is supplied. 29964 If default is set, a Task may be executed 29965 without a supplied value for the parameter. 29966 properties: 29967 arrayVal: 29968 items: 29969 type: string 29970 type: array 29971 x-kubernetes-list-type: atomic 29972 objectVal: 29973 additionalProperties: 29974 type: string 29975 type: object 29976 stringVal: 29977 type: string 29978 type: 29979 description: ParamType indicates the 29980 type of an input parameter; Used 29981 to distinguish between a single 29982 string and an array of strings. 29983 type: string 29984 required: 29985 - arrayVal 29986 - objectVal 29987 - stringVal 29988 - type 29989 type: object 29990 description: 29991 description: Description is a user-facing 29992 description of the parameter that may 29993 be used to populate a UI. 29994 type: string 29995 name: 29996 description: Name declares the name by 29997 which a parameter is referenced. 29998 type: string 29999 properties: 30000 additionalProperties: 30001 description: PropertySpec defines the 30002 struct for object keys 30003 properties: 30004 type: 30005 description: ParamType indicates 30006 the type of an input parameter; 30007 Used to distinguish between a 30008 single string and an array of 30009 strings. 30010 type: string 30011 type: object 30012 description: Properties is the JSON Schema 30013 properties to support key-value pairs 30014 parameter. 30015 type: object 30016 type: 30017 description: Type is the user-specified 30018 type of the parameter. The possible 30019 types are currently "string", "array" 30020 and "object", and "string" is the default. 30021 type: string 30022 required: 30023 - name 30024 type: object 30025 type: array 30026 x-kubernetes-list-type: atomic 30027 resources: 30028 description: Resources is a list input and output 30029 resource to run the task Resources are represented 30030 in TaskRuns as bindings to instances of PipelineResources. 30031 properties: 30032 inputs: 30033 description: Inputs holds the mapping from 30034 the PipelineResources declared in DeclaredPipelineResources 30035 to the input PipelineResources required 30036 by the Task. 30037 items: 30038 description: TaskResource defines an input 30039 or output Resource declared as a requirement 30040 by a Task. The Name field will be used 30041 to refer to these Resources within the 30042 Task definition, and when provided as 30043 an Input, the Name will be the path 30044 to the volume mounted containing this 30045 Resource as an input (e.g. an input 30046 Resource named `workspace` will be mounted 30047 at `/workspace`). 30048 properties: 30049 description: 30050 description: Description is a user-facing 30051 description of the declared resource 30052 that may be used to populate a UI. 30053 type: string 30054 name: 30055 description: Name declares the name 30056 by which a resource is referenced 30057 in the definition. Resources may 30058 be referenced by name in the definition 30059 of a Task's steps. 30060 type: string 30061 optional: 30062 description: 'Optional declares the 30063 resource as optional. By default 30064 optional is set to false which makes 30065 a resource required. optional: true 30066 - the resource is considered optional 30067 optional: false - the resource is 30068 considered required (equivalent 30069 of not specifying it)' 30070 type: boolean 30071 targetPath: 30072 description: TargetPath is the path 30073 in workspace directory where the 30074 resource will be copied. 30075 type: string 30076 type: 30077 description: Type is the type of this 30078 resource; 30079 type: string 30080 required: 30081 - name 30082 - type 30083 type: object 30084 type: array 30085 x-kubernetes-list-type: atomic 30086 outputs: 30087 description: Outputs holds the mapping from 30088 the PipelineResources declared in DeclaredPipelineResources 30089 to the input PipelineResources required 30090 by the Task. 30091 items: 30092 description: TaskResource defines an input 30093 or output Resource declared as a requirement 30094 by a Task. The Name field will be used 30095 to refer to these Resources within the 30096 Task definition, and when provided as 30097 an Input, the Name will be the path 30098 to the volume mounted containing this 30099 Resource as an input (e.g. an input 30100 Resource named `workspace` will be mounted 30101 at `/workspace`). 30102 properties: 30103 description: 30104 description: Description is a user-facing 30105 description of the declared resource 30106 that may be used to populate a UI. 30107 type: string 30108 name: 30109 description: Name declares the name 30110 by which a resource is referenced 30111 in the definition. Resources may 30112 be referenced by name in the definition 30113 of a Task's steps. 30114 type: string 30115 optional: 30116 description: 'Optional declares the 30117 resource as optional. By default 30118 optional is set to false which makes 30119 a resource required. optional: true 30120 - the resource is considered optional 30121 optional: false - the resource is 30122 considered required (equivalent 30123 of not specifying it)' 30124 type: boolean 30125 targetPath: 30126 description: TargetPath is the path 30127 in workspace directory where the 30128 resource will be copied. 30129 type: string 30130 type: 30131 description: Type is the type of this 30132 resource; 30133 type: string 30134 required: 30135 - name 30136 - type 30137 type: object 30138 type: array 30139 x-kubernetes-list-type: atomic 30140 type: object 30141 results: 30142 description: Results are values that this Task 30143 can output 30144 items: 30145 description: TaskResult used to describe the 30146 results of a task 30147 properties: 30148 description: 30149 description: Description is a human-readable 30150 description of the result 30151 type: string 30152 name: 30153 description: Name the given name 30154 type: string 30155 properties: 30156 additionalProperties: 30157 description: PropertySpec defines the 30158 struct for object keys 30159 properties: 30160 type: 30161 description: ParamType indicates 30162 the type of an input parameter; 30163 Used to distinguish between a 30164 single string and an array of 30165 strings. 30166 type: string 30167 type: object 30168 description: Properties is the JSON Schema 30169 properties to support key-value pairs 30170 results. 30171 type: object 30172 type: 30173 description: Type is the user-specified 30174 type of the result. The possible type 30175 is currently "string" and will support 30176 "array" in following work. 30177 type: string 30178 required: 30179 - name 30180 type: object 30181 type: array 30182 x-kubernetes-list-type: atomic 30183 sidecars: 30184 description: Sidecars are run alongside the 30185 Task's step containers. They begin before 30186 the steps start and end after the steps complete. 30187 items: 30188 description: Sidecar has nearly the same data 30189 structure as Step but does not have the 30190 ability to timeout. 30191 properties: 30192 args: 30193 description: 'Arguments to the entrypoint. 30194 The image''s CMD is used if this is 30195 not provided. Variable references $(VAR_NAME) 30196 are expanded using the container''s 30197 environment. If a variable cannot be 30198 resolved, the reference in the input 30199 string will be unchanged. Double $$ 30200 are reduced to a single $, which allows 30201 for escaping the $(VAR_NAME) syntax: 30202 i.e. "$$(VAR_NAME)" will produce the 30203 string literal "$(VAR_NAME)". Escaped 30204 references will never be expanded, regardless 30205 of whether the variable exists or not. 30206 Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell' 30207 items: 30208 type: string 30209 type: array 30210 x-kubernetes-list-type: atomic 30211 command: 30212 description: 'Entrypoint array. Not executed 30213 within a shell. The image''s ENTRYPOINT 30214 is used if this is not provided. Variable 30215 references $(VAR_NAME) are expanded 30216 using the Sidecar''s environment. If 30217 a variable cannot be resolved, the reference 30218 in the input string will be unchanged. 30219 Double $$ are reduced to a single $, 30220 which allows for escaping the $(VAR_NAME) 30221 syntax: i.e. "$$(VAR_NAME)" will produce 30222 the string literal "$(VAR_NAME)". Escaped 30223 references will never be expanded, regardless 30224 of whether the variable exists or not. 30225 Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell' 30226 items: 30227 type: string 30228 type: array 30229 x-kubernetes-list-type: atomic 30230 env: 30231 description: List of environment variables 30232 to set in the Sidecar. Cannot be updated. 30233 items: 30234 description: EnvVar represents an environment 30235 variable present in a Container. 30236 properties: 30237 name: 30238 description: Name of the environment 30239 variable. Must be a C_IDENTIFIER. 30240 type: string 30241 value: 30242 description: 'Variable references 30243 $(VAR_NAME) are expanded using 30244 the previously defined environment 30245 variables in the container and 30246 any service environment variables. 30247 If a variable cannot be resolved, 30248 the reference in the input string 30249 will be unchanged. Double $$ are 30250 reduced to a single $, which allows 30251 for escaping the $(VAR_NAME) syntax: 30252 i.e. "$$(VAR_NAME)" will produce 30253 the string literal "$(VAR_NAME)". 30254 Escaped references will never 30255 be expanded, regardless of whether 30256 the variable exists or not. Defaults 30257 to "".' 30258 type: string 30259 valueFrom: 30260 description: Source for the environment 30261 variable's value. Cannot be used 30262 if value is not empty. 30263 properties: 30264 configMapKeyRef: 30265 description: Selects a key of 30266 a ConfigMap. 30267 properties: 30268 key: 30269 description: The key to 30270 select. 30271 type: string 30272 name: 30273 description: 'Name of the 30274 referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 30275 TODO: Add other useful 30276 fields. apiVersion, kind, 30277 uid?' 30278 type: string 30279 optional: 30280 description: Specify whether 30281 the ConfigMap or its key 30282 must be defined 30283 type: boolean 30284 required: 30285 - key 30286 type: object 30287 fieldRef: 30288 description: 'Selects a field 30289 of the pod: supports metadata.name, 30290 metadata.namespace, `metadata.labels[''<KEY>'']`, 30291 `metadata.annotations[''<KEY>'']`, 30292 spec.nodeName, spec.serviceAccountName, 30293 status.hostIP, status.podIP, 30294 status.podIPs.' 30295 properties: 30296 apiVersion: 30297 description: Version of 30298 the schema the FieldPath 30299 is written in terms of, 30300 defaults to "v1". 30301 type: string 30302 fieldPath: 30303 description: Path of the 30304 field to select in the 30305 specified API version. 30306 type: string 30307 required: 30308 - fieldPath 30309 type: object 30310 resourceFieldRef: 30311 description: 'Selects a resource 30312 of the container: only resources 30313 limits and requests (limits.cpu, 30314 limits.memory, limits.ephemeral-storage, 30315 requests.cpu, requests.memory 30316 and requests.ephemeral-storage) 30317 are currently supported.' 30318 properties: 30319 containerName: 30320 description: 'Container 30321 name: required for volumes, 30322 optional for env vars' 30323 type: string 30324 divisor: 30325 anyOf: 30326 - type: integer 30327 - type: string 30328 description: Specifies the 30329 output format of the exposed 30330 resources, defaults to 30331 "1" 30332 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 30333 x-kubernetes-int-or-string: true 30334 resource: 30335 description: 'Required: 30336 resource to select' 30337 type: string 30338 required: 30339 - resource 30340 type: object 30341 secretKeyRef: 30342 description: Selects a key of 30343 a secret in the pod's namespace 30344 properties: 30345 key: 30346 description: The key of 30347 the secret to select from. Must 30348 be a valid secret key. 30349 type: string 30350 name: 30351 description: 'Name of the 30352 referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 30353 TODO: Add other useful 30354 fields. apiVersion, kind, 30355 uid?' 30356 type: string 30357 optional: 30358 description: Specify whether 30359 the Secret or its key 30360 must be defined 30361 type: boolean 30362 required: 30363 - key 30364 type: object 30365 type: object 30366 required: 30367 - name 30368 type: object 30369 type: array 30370 x-kubernetes-list-type: atomic 30371 envFrom: 30372 description: List of sources to populate 30373 environment variables in the Sidecar. 30374 The keys defined within a source must 30375 be a C_IDENTIFIER. All invalid keys 30376 will be reported as an event when the 30377 Sidecar is starting. When a key exists 30378 in multiple sources, the value associated 30379 with the last source will take precedence. 30380 Values defined by an Env with a duplicate 30381 key will take precedence. Cannot be 30382 updated. 30383 items: 30384 description: EnvFromSource represents 30385 the source of a set of ConfigMaps 30386 properties: 30387 configMapRef: 30388 description: The ConfigMap to select 30389 from 30390 properties: 30391 name: 30392 description: 'Name of the referent. 30393 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 30394 TODO: Add other useful fields. 30395 apiVersion, kind, uid?' 30396 type: string 30397 optional: 30398 description: Specify whether 30399 the ConfigMap must be defined 30400 type: boolean 30401 type: object 30402 prefix: 30403 description: An optional identifier 30404 to prepend to each key in the 30405 ConfigMap. Must be a C_IDENTIFIER. 30406 type: string 30407 secretRef: 30408 description: The Secret to select 30409 from 30410 properties: 30411 name: 30412 description: 'Name of the referent. 30413 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 30414 TODO: Add other useful fields. 30415 apiVersion, kind, uid?' 30416 type: string 30417 optional: 30418 description: Specify whether 30419 the Secret must be defined 30420 type: boolean 30421 type: object 30422 type: object 30423 type: array 30424 x-kubernetes-list-type: atomic 30425 image: 30426 description: 'Image name to be used by 30427 the Sidecar. More info: https://kubernetes.io/docs/concepts/containers/images' 30428 type: string 30429 imagePullPolicy: 30430 description: 'Image pull policy. One of 30431 Always, Never, IfNotPresent. Defaults 30432 to Always if :latest tag is specified, 30433 or IfNotPresent otherwise. Cannot be 30434 updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images' 30435 type: string 30436 lifecycle: 30437 description: Actions that the management 30438 system should take in response to Sidecar 30439 lifecycle events. Cannot be updated. 30440 properties: 30441 postStart: 30442 description: 'PostStart is called 30443 immediately after a container is 30444 created. If the handler fails, the 30445 container is terminated and restarted 30446 according to its restart policy. 30447 Other management of the container 30448 blocks until the hook completes. 30449 More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks' 30450 properties: 30451 exec: 30452 description: Exec specifies the 30453 action to take. 30454 properties: 30455 command: 30456 description: Command is the 30457 command line to execute 30458 inside the container, the 30459 working directory for the 30460 command is root ('/') in 30461 the container's filesystem. 30462 The command is simply exec'd, 30463 it is not run inside a shell, 30464 so traditional shell instructions 30465 ('|', etc) won't work. To 30466 use a shell, you need to 30467 explicitly call out to that 30468 shell. Exit status of 0 30469 is treated as live/healthy 30470 and non-zero is unhealthy. 30471 items: 30472 type: string 30473 type: array 30474 type: object 30475 httpGet: 30476 description: HTTPGet specifies 30477 the http request to perform. 30478 properties: 30479 host: 30480 description: Host name to 30481 connect to, defaults to 30482 the pod IP. You probably 30483 want to set "Host" in httpHeaders 30484 instead. 30485 type: string 30486 httpHeaders: 30487 description: Custom headers 30488 to set in the request. HTTP 30489 allows repeated headers. 30490 items: 30491 description: HTTPHeader 30492 describes a custom header 30493 to be used in HTTP probes 30494 properties: 30495 name: 30496 description: The header 30497 field name 30498 type: string 30499 value: 30500 description: The header 30501 field value 30502 type: string 30503 required: 30504 - name 30505 - value 30506 type: object 30507 type: array 30508 path: 30509 description: Path to access 30510 on the HTTP server. 30511 type: string 30512 port: 30513 anyOf: 30514 - type: integer 30515 - type: string 30516 description: Name or number 30517 of the port to access on 30518 the container. Number must 30519 be in the range 1 to 65535. 30520 Name must be an IANA_SVC_NAME. 30521 x-kubernetes-int-or-string: true 30522 scheme: 30523 description: Scheme to use 30524 for connecting to the host. 30525 Defaults to HTTP. 30526 type: string 30527 required: 30528 - port 30529 type: object 30530 tcpSocket: 30531 description: Deprecated. TCPSocket 30532 is NOT supported as a LifecycleHandler 30533 and kept for the backward compatibility. 30534 There are no validation of this 30535 field and lifecycle hooks will 30536 fail in runtime when tcp handler 30537 is specified. 30538 properties: 30539 host: 30540 description: 'Optional: Host 30541 name to connect to, defaults 30542 to the pod IP.' 30543 type: string 30544 port: 30545 anyOf: 30546 - type: integer 30547 - type: string 30548 description: Number or name 30549 of the port to access on 30550 the container. Number must 30551 be in the range 1 to 65535. 30552 Name must be an IANA_SVC_NAME. 30553 x-kubernetes-int-or-string: true 30554 required: 30555 - port 30556 type: object 30557 type: object 30558 preStop: 30559 description: 'PreStop is called immediately 30560 before a container is terminated 30561 due to an API request or management 30562 event such as liveness/startup probe 30563 failure, preemption, resource contention, 30564 etc. The handler is not called if 30565 the container crashes or exits. 30566 The Pod''s termination grace period 30567 countdown begins before the PreStop 30568 hook is executed. Regardless of 30569 the outcome of the handler, the 30570 container will eventually terminate 30571 within the Pod''s termination grace 30572 period (unless delayed by finalizers). 30573 Other management of the container 30574 blocks until the hook completes 30575 or until the termination grace period 30576 is reached. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks' 30577 properties: 30578 exec: 30579 description: Exec specifies the 30580 action to take. 30581 properties: 30582 command: 30583 description: Command is the 30584 command line to execute 30585 inside the container, the 30586 working directory for the 30587 command is root ('/') in 30588 the container's filesystem. 30589 The command is simply exec'd, 30590 it is not run inside a shell, 30591 so traditional shell instructions 30592 ('|', etc) won't work. To 30593 use a shell, you need to 30594 explicitly call out to that 30595 shell. Exit status of 0 30596 is treated as live/healthy 30597 and non-zero is unhealthy. 30598 items: 30599 type: string 30600 type: array 30601 type: object 30602 httpGet: 30603 description: HTTPGet specifies 30604 the http request to perform. 30605 properties: 30606 host: 30607 description: Host name to 30608 connect to, defaults to 30609 the pod IP. You probably 30610 want to set "Host" in httpHeaders 30611 instead. 30612 type: string 30613 httpHeaders: 30614 description: Custom headers 30615 to set in the request. HTTP 30616 allows repeated headers. 30617 items: 30618 description: HTTPHeader 30619 describes a custom header 30620 to be used in HTTP probes 30621 properties: 30622 name: 30623 description: The header 30624 field name 30625 type: string 30626 value: 30627 description: The header 30628 field value 30629 type: string 30630 required: 30631 - name 30632 - value 30633 type: object 30634 type: array 30635 path: 30636 description: Path to access 30637 on the HTTP server. 30638 type: string 30639 port: 30640 anyOf: 30641 - type: integer 30642 - type: string 30643 description: Name or number 30644 of the port to access on 30645 the container. Number must 30646 be in the range 1 to 65535. 30647 Name must be an IANA_SVC_NAME. 30648 x-kubernetes-int-or-string: true 30649 scheme: 30650 description: Scheme to use 30651 for connecting to the host. 30652 Defaults to HTTP. 30653 type: string 30654 required: 30655 - port 30656 type: object 30657 tcpSocket: 30658 description: Deprecated. TCPSocket 30659 is NOT supported as a LifecycleHandler 30660 and kept for the backward compatibility. 30661 There are no validation of this 30662 field and lifecycle hooks will 30663 fail in runtime when tcp handler 30664 is specified. 30665 properties: 30666 host: 30667 description: 'Optional: Host 30668 name to connect to, defaults 30669 to the pod IP.' 30670 type: string 30671 port: 30672 anyOf: 30673 - type: integer 30674 - type: string 30675 description: Number or name 30676 of the port to access on 30677 the container. Number must 30678 be in the range 1 to 65535. 30679 Name must be an IANA_SVC_NAME. 30680 x-kubernetes-int-or-string: true 30681 required: 30682 - port 30683 type: object 30684 type: object 30685 type: object 30686 livenessProbe: 30687 description: 'Periodic probe of Sidecar 30688 liveness. Container will be restarted 30689 if the probe fails. Cannot be updated. 30690 More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 30691 properties: 30692 exec: 30693 description: Exec specifies the action 30694 to take. 30695 properties: 30696 command: 30697 description: Command is the command 30698 line to execute inside the container, 30699 the working directory for the 30700 command is root ('/') in the 30701 container's filesystem. The 30702 command is simply exec'd, it 30703 is not run inside a shell, so 30704 traditional shell instructions 30705 ('|', etc) won't work. To use 30706 a shell, you need to explicitly 30707 call out to that shell. Exit 30708 status of 0 is treated as live/healthy 30709 and non-zero is unhealthy. 30710 items: 30711 type: string 30712 type: array 30713 type: object 30714 failureThreshold: 30715 description: Minimum consecutive failures 30716 for the probe to be considered failed 30717 after having succeeded. Defaults 30718 to 3. Minimum value is 1. 30719 format: int32 30720 type: integer 30721 grpc: 30722 description: GRPC specifies an action 30723 involving a GRPC port. This is a 30724 beta field and requires enabling 30725 GRPCContainerProbe feature gate. 30726 properties: 30727 port: 30728 description: Port number of the 30729 gRPC service. Number must be 30730 in the range 1 to 65535. 30731 format: int32 30732 type: integer 30733 service: 30734 description: "Service is the name 30735 of the service to place in the 30736 gRPC HealthCheckRequest (see 30737 https://github.com/grpc/grpc/blob/master/doc/health-checking.md). 30738 \n If this is not specified, 30739 the default behavior is defined 30740 by gRPC." 30741 type: string 30742 required: 30743 - port 30744 type: object 30745 httpGet: 30746 description: HTTPGet specifies the 30747 http request to perform. 30748 properties: 30749 host: 30750 description: Host name to connect 30751 to, defaults to the pod IP. 30752 You probably want to set "Host" 30753 in httpHeaders instead. 30754 type: string 30755 httpHeaders: 30756 description: Custom headers to 30757 set in the request. HTTP allows 30758 repeated headers. 30759 items: 30760 description: HTTPHeader describes 30761 a custom header to be used 30762 in HTTP probes 30763 properties: 30764 name: 30765 description: The header 30766 field name 30767 type: string 30768 value: 30769 description: The header 30770 field value 30771 type: string 30772 required: 30773 - name 30774 - value 30775 type: object 30776 type: array 30777 path: 30778 description: Path to access on 30779 the HTTP server. 30780 type: string 30781 port: 30782 anyOf: 30783 - type: integer 30784 - type: string 30785 description: Name or number of 30786 the port to access on the container. 30787 Number must be in the range 30788 1 to 65535. Name must be an 30789 IANA_SVC_NAME. 30790 x-kubernetes-int-or-string: true 30791 scheme: 30792 description: Scheme to use for 30793 connecting to the host. Defaults 30794 to HTTP. 30795 type: string 30796 required: 30797 - port 30798 type: object 30799 initialDelaySeconds: 30800 description: 'Number of seconds after 30801 the container has started before 30802 liveness probes are initiated. More 30803 info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 30804 format: int32 30805 type: integer 30806 periodSeconds: 30807 description: How often (in seconds) 30808 to perform the probe. Default to 30809 10 seconds. Minimum value is 1. 30810 format: int32 30811 type: integer 30812 successThreshold: 30813 description: Minimum consecutive successes 30814 for the probe to be considered successful 30815 after having failed. Defaults to 30816 1. Must be 1 for liveness and startup. 30817 Minimum value is 1. 30818 format: int32 30819 type: integer 30820 tcpSocket: 30821 description: TCPSocket specifies an 30822 action involving a TCP port. 30823 properties: 30824 host: 30825 description: 'Optional: Host name 30826 to connect to, defaults to the 30827 pod IP.' 30828 type: string 30829 port: 30830 anyOf: 30831 - type: integer 30832 - type: string 30833 description: Number or name of 30834 the port to access on the container. 30835 Number must be in the range 30836 1 to 65535. Name must be an 30837 IANA_SVC_NAME. 30838 x-kubernetes-int-or-string: true 30839 required: 30840 - port 30841 type: object 30842 terminationGracePeriodSeconds: 30843 description: Optional duration in 30844 seconds the pod needs to terminate 30845 gracefully upon probe failure. The 30846 grace period is the duration in 30847 seconds after the processes running 30848 in the pod are sent a termination 30849 signal and the time when the processes 30850 are forcibly halted with a kill 30851 signal. Set this value longer than 30852 the expected cleanup time for your 30853 process. If this value is nil, the 30854 pod's terminationGracePeriodSeconds 30855 will be used. Otherwise, this value 30856 overrides the value provided by 30857 the pod spec. Value must be non-negative 30858 integer. The value zero indicates 30859 stop immediately via the kill signal 30860 (no opportunity to shut down). This 30861 is a beta field and requires enabling 30862 ProbeTerminationGracePeriod feature 30863 gate. Minimum value is 1. spec.terminationGracePeriodSeconds 30864 is used if unset. 30865 format: int64 30866 type: integer 30867 timeoutSeconds: 30868 description: 'Number of seconds after 30869 which the probe times out. Defaults 30870 to 1 second. Minimum value is 1. 30871 More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 30872 format: int32 30873 type: integer 30874 type: object 30875 name: 30876 description: Name of the Sidecar specified 30877 as a DNS_LABEL. Each Sidecar in a Task 30878 must have a unique name (DNS_LABEL). 30879 Cannot be updated. 30880 type: string 30881 ports: 30882 description: List of ports to expose from 30883 the Sidecar. Exposing a port here gives 30884 the system additional information about 30885 the network connections a container 30886 uses, but is primarily informational. 30887 Not specifying a port here DOES NOT 30888 prevent that port from being exposed. 30889 Any port which is listening on the default 30890 "0.0.0.0" address inside a container 30891 will be accessible from the network. 30892 Cannot be updated. 30893 items: 30894 description: ContainerPort represents 30895 a network port in a single container. 30896 properties: 30897 containerPort: 30898 description: Number of port to expose 30899 on the pod's IP address. This 30900 must be a valid port number, 0 30901 < x < 65536. 30902 format: int32 30903 type: integer 30904 hostIP: 30905 description: What host IP to bind 30906 the external port to. 30907 type: string 30908 hostPort: 30909 description: Number of port to expose 30910 on the host. If specified, this 30911 must be a valid port number, 0 30912 < x < 65536. If HostNetwork is 30913 specified, this must match ContainerPort. 30914 Most containers do not need this. 30915 format: int32 30916 type: integer 30917 name: 30918 description: If specified, this 30919 must be an IANA_SVC_NAME and unique 30920 within the pod. Each named port 30921 in a pod must have a unique name. 30922 Name for the port that can be 30923 referred to by services. 30924 type: string 30925 protocol: 30926 default: TCP 30927 description: Protocol for port. 30928 Must be UDP, TCP, or SCTP. Defaults 30929 to "TCP". 30930 type: string 30931 required: 30932 - containerPort 30933 type: object 30934 type: array 30935 x-kubernetes-list-map-keys: 30936 - containerPort 30937 - protocol 30938 x-kubernetes-list-type: map 30939 readinessProbe: 30940 description: 'Periodic probe of Sidecar 30941 service readiness. Container will be 30942 removed from service endpoints if the 30943 probe fails. Cannot be updated. More 30944 info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 30945 properties: 30946 exec: 30947 description: Exec specifies the action 30948 to take. 30949 properties: 30950 command: 30951 description: Command is the command 30952 line to execute inside the container, 30953 the working directory for the 30954 command is root ('/') in the 30955 container's filesystem. The 30956 command is simply exec'd, it 30957 is not run inside a shell, so 30958 traditional shell instructions 30959 ('|', etc) won't work. To use 30960 a shell, you need to explicitly 30961 call out to that shell. Exit 30962 status of 0 is treated as live/healthy 30963 and non-zero is unhealthy. 30964 items: 30965 type: string 30966 type: array 30967 type: object 30968 failureThreshold: 30969 description: Minimum consecutive failures 30970 for the probe to be considered failed 30971 after having succeeded. Defaults 30972 to 3. Minimum value is 1. 30973 format: int32 30974 type: integer 30975 grpc: 30976 description: GRPC specifies an action 30977 involving a GRPC port. This is a 30978 beta field and requires enabling 30979 GRPCContainerProbe feature gate. 30980 properties: 30981 port: 30982 description: Port number of the 30983 gRPC service. Number must be 30984 in the range 1 to 65535. 30985 format: int32 30986 type: integer 30987 service: 30988 description: "Service is the name 30989 of the service to place in the 30990 gRPC HealthCheckRequest (see 30991 https://github.com/grpc/grpc/blob/master/doc/health-checking.md). 30992 \n If this is not specified, 30993 the default behavior is defined 30994 by gRPC." 30995 type: string 30996 required: 30997 - port 30998 type: object 30999 httpGet: 31000 description: HTTPGet specifies the 31001 http request to perform. 31002 properties: 31003 host: 31004 description: Host name to connect 31005 to, defaults to the pod IP. 31006 You probably want to set "Host" 31007 in httpHeaders instead. 31008 type: string 31009 httpHeaders: 31010 description: Custom headers to 31011 set in the request. HTTP allows 31012 repeated headers. 31013 items: 31014 description: HTTPHeader describes 31015 a custom header to be used 31016 in HTTP probes 31017 properties: 31018 name: 31019 description: The header 31020 field name 31021 type: string 31022 value: 31023 description: The header 31024 field value 31025 type: string 31026 required: 31027 - name 31028 - value 31029 type: object 31030 type: array 31031 path: 31032 description: Path to access on 31033 the HTTP server. 31034 type: string 31035 port: 31036 anyOf: 31037 - type: integer 31038 - type: string 31039 description: Name or number of 31040 the port to access on the container. 31041 Number must be in the range 31042 1 to 65535. Name must be an 31043 IANA_SVC_NAME. 31044 x-kubernetes-int-or-string: true 31045 scheme: 31046 description: Scheme to use for 31047 connecting to the host. Defaults 31048 to HTTP. 31049 type: string 31050 required: 31051 - port 31052 type: object 31053 initialDelaySeconds: 31054 description: 'Number of seconds after 31055 the container has started before 31056 liveness probes are initiated. More 31057 info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 31058 format: int32 31059 type: integer 31060 periodSeconds: 31061 description: How often (in seconds) 31062 to perform the probe. Default to 31063 10 seconds. Minimum value is 1. 31064 format: int32 31065 type: integer 31066 successThreshold: 31067 description: Minimum consecutive successes 31068 for the probe to be considered successful 31069 after having failed. Defaults to 31070 1. Must be 1 for liveness and startup. 31071 Minimum value is 1. 31072 format: int32 31073 type: integer 31074 tcpSocket: 31075 description: TCPSocket specifies an 31076 action involving a TCP port. 31077 properties: 31078 host: 31079 description: 'Optional: Host name 31080 to connect to, defaults to the 31081 pod IP.' 31082 type: string 31083 port: 31084 anyOf: 31085 - type: integer 31086 - type: string 31087 description: Number or name of 31088 the port to access on the container. 31089 Number must be in the range 31090 1 to 65535. Name must be an 31091 IANA_SVC_NAME. 31092 x-kubernetes-int-or-string: true 31093 required: 31094 - port 31095 type: object 31096 terminationGracePeriodSeconds: 31097 description: Optional duration in 31098 seconds the pod needs to terminate 31099 gracefully upon probe failure. The 31100 grace period is the duration in 31101 seconds after the processes running 31102 in the pod are sent a termination 31103 signal and the time when the processes 31104 are forcibly halted with a kill 31105 signal. Set this value longer than 31106 the expected cleanup time for your 31107 process. If this value is nil, the 31108 pod's terminationGracePeriodSeconds 31109 will be used. Otherwise, this value 31110 overrides the value provided by 31111 the pod spec. Value must be non-negative 31112 integer. The value zero indicates 31113 stop immediately via the kill signal 31114 (no opportunity to shut down). This 31115 is a beta field and requires enabling 31116 ProbeTerminationGracePeriod feature 31117 gate. Minimum value is 1. spec.terminationGracePeriodSeconds 31118 is used if unset. 31119 format: int64 31120 type: integer 31121 timeoutSeconds: 31122 description: 'Number of seconds after 31123 which the probe times out. Defaults 31124 to 1 second. Minimum value is 1. 31125 More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 31126 format: int32 31127 type: integer 31128 type: object 31129 resources: 31130 description: 'Compute Resources required 31131 by this Sidecar. Cannot be updated. 31132 More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' 31133 properties: 31134 limits: 31135 additionalProperties: 31136 anyOf: 31137 - type: integer 31138 - type: string 31139 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 31140 x-kubernetes-int-or-string: true 31141 description: 'Limits describes the 31142 maximum amount of compute resources 31143 allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' 31144 type: object 31145 requests: 31146 additionalProperties: 31147 anyOf: 31148 - type: integer 31149 - type: string 31150 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 31151 x-kubernetes-int-or-string: true 31152 description: 'Requests describes the 31153 minimum amount of compute resources 31154 required. If Requests is omitted 31155 for a container, it defaults to 31156 Limits if that is explicitly specified, 31157 otherwise to an implementation-defined 31158 value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' 31159 type: object 31160 type: object 31161 script: 31162 description: "Script is the contents of 31163 an executable file to execute. \n If 31164 Script is not empty, the Step cannot 31165 have an Command or Args." 31166 type: string 31167 securityContext: 31168 description: 'SecurityContext defines 31169 the security options the Sidecar should 31170 be run with. If set, the fields of SecurityContext 31171 override the equivalent fields of PodSecurityContext. 31172 More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/' 31173 properties: 31174 allowPrivilegeEscalation: 31175 description: 'AllowPrivilegeEscalation 31176 controls whether a process can gain 31177 more privileges than its parent 31178 process. This bool directly controls 31179 if the no_new_privs flag will be 31180 set on the container process. AllowPrivilegeEscalation 31181 is true always when the container 31182 is: 1) run as Privileged 2) has 31183 CAP_SYS_ADMIN Note that this field 31184 cannot be set when spec.os.name 31185 is windows.' 31186 type: boolean 31187 capabilities: 31188 description: The capabilities to add/drop 31189 when running containers. Defaults 31190 to the default set of capabilities 31191 granted by the container runtime. 31192 Note that this field cannot be set 31193 when spec.os.name is windows. 31194 properties: 31195 add: 31196 description: Added capabilities 31197 items: 31198 description: Capability represent 31199 POSIX capabilities type 31200 type: string 31201 type: array 31202 drop: 31203 description: Removed capabilities 31204 items: 31205 description: Capability represent 31206 POSIX capabilities type 31207 type: string 31208 type: array 31209 type: object 31210 privileged: 31211 description: Run container in privileged 31212 mode. Processes in privileged containers 31213 are essentially equivalent to root 31214 on the host. Defaults to false. 31215 Note that this field cannot be set 31216 when spec.os.name is windows. 31217 type: boolean 31218 procMount: 31219 description: procMount denotes the 31220 type of proc mount to use for the 31221 containers. The default is DefaultProcMount 31222 which uses the container runtime 31223 defaults for readonly paths and 31224 masked paths. This requires the 31225 ProcMountType feature flag to be 31226 enabled. Note that this field cannot 31227 be set when spec.os.name is windows. 31228 type: string 31229 readOnlyRootFilesystem: 31230 description: Whether this container 31231 has a read-only root filesystem. 31232 Default is false. Note that this 31233 field cannot be set when spec.os.name 31234 is windows. 31235 type: boolean 31236 runAsGroup: 31237 description: The GID to run the entrypoint 31238 of the container process. Uses runtime 31239 default if unset. May also be set 31240 in PodSecurityContext. If set in 31241 both SecurityContext and PodSecurityContext, 31242 the value specified in SecurityContext 31243 takes precedence. Note that this 31244 field cannot be set when spec.os.name 31245 is windows. 31246 format: int64 31247 type: integer 31248 runAsNonRoot: 31249 description: Indicates that the container 31250 must run as a non-root user. If 31251 true, the Kubelet will validate 31252 the image at runtime to ensure that 31253 it does not run as UID 0 (root) 31254 and fail to start the container 31255 if it does. If unset or false, no 31256 such validation will be performed. 31257 May also be set in PodSecurityContext. If 31258 set in both SecurityContext and 31259 PodSecurityContext, the value specified 31260 in SecurityContext takes precedence. 31261 type: boolean 31262 runAsUser: 31263 description: The UID to run the entrypoint 31264 of the container process. Defaults 31265 to user specified in image metadata 31266 if unspecified. May also be set 31267 in PodSecurityContext. If set in 31268 both SecurityContext and PodSecurityContext, 31269 the value specified in SecurityContext 31270 takes precedence. Note that this 31271 field cannot be set when spec.os.name 31272 is windows. 31273 format: int64 31274 type: integer 31275 seLinuxOptions: 31276 description: The SELinux context to 31277 be applied to the container. If 31278 unspecified, the container runtime 31279 will allocate a random SELinux context 31280 for each container. May also be 31281 set in PodSecurityContext. If set 31282 in both SecurityContext and PodSecurityContext, 31283 the value specified in SecurityContext 31284 takes precedence. Note that this 31285 field cannot be set when spec.os.name 31286 is windows. 31287 properties: 31288 level: 31289 description: Level is SELinux 31290 level label that applies to 31291 the container. 31292 type: string 31293 role: 31294 description: Role is a SELinux 31295 role label that applies to the 31296 container. 31297 type: string 31298 type: 31299 description: Type is a SELinux 31300 type label that applies to the 31301 container. 31302 type: string 31303 user: 31304 description: User is a SELinux 31305 user label that applies to the 31306 container. 31307 type: string 31308 type: object 31309 seccompProfile: 31310 description: The seccomp options to 31311 use by this container. If seccomp 31312 options are provided at both the 31313 pod & container level, the container 31314 options override the pod options. 31315 Note that this field cannot be set 31316 when spec.os.name is windows. 31317 properties: 31318 localhostProfile: 31319 description: localhostProfile 31320 indicates a profile defined 31321 in a file on the node should 31322 be used. The profile must be 31323 preconfigured on the node to 31324 work. Must be a descending path, 31325 relative to the kubelet's configured 31326 seccomp profile location. Must 31327 only be set if type is "Localhost". 31328 type: string 31329 type: 31330 description: "type indicates which 31331 kind of seccomp profile will 31332 be applied. Valid options are: 31333 \n Localhost - a profile defined 31334 in a file on the node should 31335 be used. RuntimeDefault - the 31336 container runtime default profile 31337 should be used. Unconfined - 31338 no profile should be applied." 31339 type: string 31340 required: 31341 - type 31342 type: object 31343 windowsOptions: 31344 description: The Windows specific 31345 settings applied to all containers. 31346 If unspecified, the options from 31347 the PodSecurityContext will be used. 31348 If set in both SecurityContext and 31349 PodSecurityContext, the value specified 31350 in SecurityContext takes precedence. 31351 Note that this field cannot be set 31352 when spec.os.name is linux. 31353 properties: 31354 gmsaCredentialSpec: 31355 description: GMSACredentialSpec 31356 is where the GMSA admission 31357 webhook (https://github.com/kubernetes-sigs/windows-gmsa) 31358 inlines the contents of the 31359 GMSA credential spec named by 31360 the GMSACredentialSpecName field. 31361 type: string 31362 gmsaCredentialSpecName: 31363 description: GMSACredentialSpecName 31364 is the name of the GMSA credential 31365 spec to use. 31366 type: string 31367 hostProcess: 31368 description: HostProcess determines 31369 if a container should be run 31370 as a 'Host Process' container. 31371 This field is alpha-level and 31372 will only be honored by components 31373 that enable the WindowsHostProcessContainers 31374 feature flag. Setting this field 31375 without the feature flag will 31376 result in errors when validating 31377 the Pod. All of a Pod's containers 31378 must have the same effective 31379 HostProcess value (it is not 31380 allowed to have a mix of HostProcess 31381 containers and non-HostProcess 31382 containers). In addition, if 31383 HostProcess is true then HostNetwork 31384 must also be set to true. 31385 type: boolean 31386 runAsUserName: 31387 description: The UserName in Windows 31388 to run the entrypoint of the 31389 container process. Defaults 31390 to the user specified in image 31391 metadata if unspecified. May 31392 also be set in PodSecurityContext. 31393 If set in both SecurityContext 31394 and PodSecurityContext, the 31395 value specified in SecurityContext 31396 takes precedence. 31397 type: string 31398 type: object 31399 type: object 31400 startupProbe: 31401 description: 'StartupProbe indicates that 31402 the Pod the Sidecar is running in has 31403 successfully initialized. If specified, 31404 no other probes are executed until this 31405 completes successfully. If this probe 31406 fails, the Pod will be restarted, just 31407 as if the livenessProbe failed. This 31408 can be used to provide different probe 31409 parameters at the beginning of a Pod''s 31410 lifecycle, when it might take a long 31411 time to load data or warm a cache, than 31412 during steady-state operation. This 31413 cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 31414 properties: 31415 exec: 31416 description: Exec specifies the action 31417 to take. 31418 properties: 31419 command: 31420 description: Command is the command 31421 line to execute inside the container, 31422 the working directory for the 31423 command is root ('/') in the 31424 container's filesystem. The 31425 command is simply exec'd, it 31426 is not run inside a shell, so 31427 traditional shell instructions 31428 ('|', etc) won't work. To use 31429 a shell, you need to explicitly 31430 call out to that shell. Exit 31431 status of 0 is treated as live/healthy 31432 and non-zero is unhealthy. 31433 items: 31434 type: string 31435 type: array 31436 type: object 31437 failureThreshold: 31438 description: Minimum consecutive failures 31439 for the probe to be considered failed 31440 after having succeeded. Defaults 31441 to 3. Minimum value is 1. 31442 format: int32 31443 type: integer 31444 grpc: 31445 description: GRPC specifies an action 31446 involving a GRPC port. This is a 31447 beta field and requires enabling 31448 GRPCContainerProbe feature gate. 31449 properties: 31450 port: 31451 description: Port number of the 31452 gRPC service. Number must be 31453 in the range 1 to 65535. 31454 format: int32 31455 type: integer 31456 service: 31457 description: "Service is the name 31458 of the service to place in the 31459 gRPC HealthCheckRequest (see 31460 https://github.com/grpc/grpc/blob/master/doc/health-checking.md). 31461 \n If this is not specified, 31462 the default behavior is defined 31463 by gRPC." 31464 type: string 31465 required: 31466 - port 31467 type: object 31468 httpGet: 31469 description: HTTPGet specifies the 31470 http request to perform. 31471 properties: 31472 host: 31473 description: Host name to connect 31474 to, defaults to the pod IP. 31475 You probably want to set "Host" 31476 in httpHeaders instead. 31477 type: string 31478 httpHeaders: 31479 description: Custom headers to 31480 set in the request. HTTP allows 31481 repeated headers. 31482 items: 31483 description: HTTPHeader describes 31484 a custom header to be used 31485 in HTTP probes 31486 properties: 31487 name: 31488 description: The header 31489 field name 31490 type: string 31491 value: 31492 description: The header 31493 field value 31494 type: string 31495 required: 31496 - name 31497 - value 31498 type: object 31499 type: array 31500 path: 31501 description: Path to access on 31502 the HTTP server. 31503 type: string 31504 port: 31505 anyOf: 31506 - type: integer 31507 - type: string 31508 description: Name or number of 31509 the port to access on the container. 31510 Number must be in the range 31511 1 to 65535. Name must be an 31512 IANA_SVC_NAME. 31513 x-kubernetes-int-or-string: true 31514 scheme: 31515 description: Scheme to use for 31516 connecting to the host. Defaults 31517 to HTTP. 31518 type: string 31519 required: 31520 - port 31521 type: object 31522 initialDelaySeconds: 31523 description: 'Number of seconds after 31524 the container has started before 31525 liveness probes are initiated. More 31526 info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 31527 format: int32 31528 type: integer 31529 periodSeconds: 31530 description: How often (in seconds) 31531 to perform the probe. Default to 31532 10 seconds. Minimum value is 1. 31533 format: int32 31534 type: integer 31535 successThreshold: 31536 description: Minimum consecutive successes 31537 for the probe to be considered successful 31538 after having failed. Defaults to 31539 1. Must be 1 for liveness and startup. 31540 Minimum value is 1. 31541 format: int32 31542 type: integer 31543 tcpSocket: 31544 description: TCPSocket specifies an 31545 action involving a TCP port. 31546 properties: 31547 host: 31548 description: 'Optional: Host name 31549 to connect to, defaults to the 31550 pod IP.' 31551 type: string 31552 port: 31553 anyOf: 31554 - type: integer 31555 - type: string 31556 description: Number or name of 31557 the port to access on the container. 31558 Number must be in the range 31559 1 to 65535. Name must be an 31560 IANA_SVC_NAME. 31561 x-kubernetes-int-or-string: true 31562 required: 31563 - port 31564 type: object 31565 terminationGracePeriodSeconds: 31566 description: Optional duration in 31567 seconds the pod needs to terminate 31568 gracefully upon probe failure. The 31569 grace period is the duration in 31570 seconds after the processes running 31571 in the pod are sent a termination 31572 signal and the time when the processes 31573 are forcibly halted with a kill 31574 signal. Set this value longer than 31575 the expected cleanup time for your 31576 process. If this value is nil, the 31577 pod's terminationGracePeriodSeconds 31578 will be used. Otherwise, this value 31579 overrides the value provided by 31580 the pod spec. Value must be non-negative 31581 integer. The value zero indicates 31582 stop immediately via the kill signal 31583 (no opportunity to shut down). This 31584 is a beta field and requires enabling 31585 ProbeTerminationGracePeriod feature 31586 gate. Minimum value is 1. spec.terminationGracePeriodSeconds 31587 is used if unset. 31588 format: int64 31589 type: integer 31590 timeoutSeconds: 31591 description: 'Number of seconds after 31592 which the probe times out. Defaults 31593 to 1 second. Minimum value is 1. 31594 More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 31595 format: int32 31596 type: integer 31597 type: object 31598 stdin: 31599 description: Whether this Sidecar should 31600 allocate a buffer for stdin in the container 31601 runtime. If this is not set, reads from 31602 stdin in the Sidecar will always result 31603 in EOF. Default is false. 31604 type: boolean 31605 stdinOnce: 31606 description: Whether the container runtime 31607 should close the stdin channel after 31608 it has been opened by a single attach. 31609 When stdin is true the stdin stream 31610 will remain open across multiple attach 31611 sessions. If stdinOnce is set to true, 31612 stdin is opened on Sidecar start, is 31613 empty until the first client attaches 31614 to stdin, and then remains open and 31615 accepts data until the client disconnects, 31616 at which time stdin is closed and remains 31617 closed until the Sidecar is restarted. 31618 If this flag is false, a container processes 31619 that reads from stdin will never receive 31620 an EOF. Default is false 31621 type: boolean 31622 terminationMessagePath: 31623 description: 'Optional: Path at which 31624 the file to which the Sidecar''s termination 31625 message will be written is mounted into 31626 the Sidecar''s filesystem. Message written 31627 is intended to be brief final status, 31628 such as an assertion failure message. 31629 Will be truncated by the node if greater 31630 than 4096 bytes. The total message length 31631 across all containers will be limited 31632 to 12kb. Defaults to /dev/termination-log. 31633 Cannot be updated.' 31634 type: string 31635 terminationMessagePolicy: 31636 description: Indicate how the termination 31637 message should be populated. File will 31638 use the contents of terminationMessagePath 31639 to populate the Sidecar status message 31640 on both success and failure. FallbackToLogsOnError 31641 will use the last chunk of Sidecar log 31642 output if the termination message file 31643 is empty and the Sidecar exited with 31644 an error. The log output is limited 31645 to 2048 bytes or 80 lines, whichever 31646 is smaller. Defaults to File. Cannot 31647 be updated. 31648 type: string 31649 tty: 31650 description: Whether this Sidecar should 31651 allocate a TTY for itself, also requires 31652 'stdin' to be true. Default is false. 31653 type: boolean 31654 volumeDevices: 31655 description: volumeDevices is the list 31656 of block devices to be used by the Sidecar. 31657 items: 31658 description: volumeDevice describes 31659 a mapping of a raw block device within 31660 a container. 31661 properties: 31662 devicePath: 31663 description: devicePath is the path 31664 inside of the container that the 31665 device will be mapped to. 31666 type: string 31667 name: 31668 description: name must match the 31669 name of a persistentVolumeClaim 31670 in the pod 31671 type: string 31672 required: 31673 - devicePath 31674 - name 31675 type: object 31676 type: array 31677 x-kubernetes-list-type: atomic 31678 volumeMounts: 31679 description: Volumes to mount into the 31680 Sidecar's filesystem. Cannot be updated. 31681 items: 31682 description: VolumeMount describes a 31683 mounting of a Volume within a container. 31684 properties: 31685 mountPath: 31686 description: Path within the container 31687 at which the volume should be 31688 mounted. Must not contain ':'. 31689 type: string 31690 mountPropagation: 31691 description: mountPropagation determines 31692 how mounts are propagated from 31693 the host to container and the 31694 other way around. When not set, 31695 MountPropagationNone is used. 31696 This field is beta in 1.10. 31697 type: string 31698 name: 31699 description: This must match the 31700 Name of a Volume. 31701 type: string 31702 readOnly: 31703 description: Mounted read-only if 31704 true, read-write otherwise (false 31705 or unspecified). Defaults to false. 31706 type: boolean 31707 subPath: 31708 description: Path within the volume 31709 from which the container's volume 31710 should be mounted. Defaults to 31711 "" (volume's root). 31712 type: string 31713 subPathExpr: 31714 description: Expanded path within 31715 the volume from which the container's 31716 volume should be mounted. Behaves 31717 similarly to SubPath but environment 31718 variable references $(VAR_NAME) 31719 are expanded using the container's 31720 environment. Defaults to "" (volume's 31721 root). SubPathExpr and SubPath 31722 are mutually exclusive. 31723 type: string 31724 required: 31725 - mountPath 31726 - name 31727 type: object 31728 type: array 31729 x-kubernetes-list-type: atomic 31730 workingDir: 31731 description: Sidecar's working directory. 31732 If not specified, the container runtime's 31733 default will be used, which might be 31734 configured in the container image. Cannot 31735 be updated. 31736 type: string 31737 workspaces: 31738 description: "This is an alpha field. 31739 You must set the \"enable-api-fields\" 31740 feature flag to \"alpha\" for this field 31741 to be supported. \n Workspaces is a 31742 list of workspaces from the Task that 31743 this Sidecar wants exclusive access 31744 to. Adding a workspace to this list 31745 means that any other Step or Sidecar 31746 that does not also request this Workspace 31747 will not have access to it." 31748 items: 31749 description: WorkspaceUsage is used 31750 by a Step or Sidecar to declare that 31751 it wants isolated access to a Workspace 31752 defined in a Task. 31753 properties: 31754 mountPath: 31755 description: MountPath is the path 31756 that the workspace should be mounted 31757 to inside the Step or Sidecar, 31758 overriding any MountPath specified 31759 in the Task's WorkspaceDeclaration. 31760 type: string 31761 name: 31762 description: Name is the name of 31763 the workspace this Step or Sidecar 31764 wants access to. 31765 type: string 31766 required: 31767 - mountPath 31768 - name 31769 type: object 31770 type: array 31771 x-kubernetes-list-type: atomic 31772 required: 31773 - name 31774 type: object 31775 type: array 31776 x-kubernetes-list-type: atomic 31777 spec: 31778 description: Spec is a specification of a custom 31779 task 31780 type: object 31781 stepTemplate: 31782 description: StepTemplate can be used as the 31783 basis for all step containers within the Task, 31784 so that the steps inherit settings on the 31785 base container. 31786 properties: 31787 args: 31788 description: 'Arguments to the entrypoint. 31789 The image''s CMD is used if this is not 31790 provided. Variable references $(VAR_NAME) 31791 are expanded using the Step''s environment. 31792 If a variable cannot be resolved, the 31793 reference in the input string will be 31794 unchanged. Double $$ are reduced to a 31795 single $, which allows for escaping the 31796 $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" 31797 will produce the string literal "$(VAR_NAME)". 31798 Escaped references will never be expanded, 31799 regardless of whether the variable exists 31800 or not. Cannot be updated. More info: 31801 https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell' 31802 items: 31803 type: string 31804 type: array 31805 x-kubernetes-list-type: atomic 31806 command: 31807 description: 'Entrypoint array. Not executed 31808 within a shell. The docker image''s ENTRYPOINT 31809 is used if this is not provided. Variable 31810 references $(VAR_NAME) are expanded using 31811 the Step''s environment. If a variable 31812 cannot be resolved, the reference in the 31813 input string will be unchanged. Double 31814 $$ are reduced to a single $, which allows 31815 for escaping the $(VAR_NAME) syntax: i.e. 31816 "$$(VAR_NAME)" will produce the string 31817 literal "$(VAR_NAME)". Escaped references 31818 will never be expanded, regardless of 31819 whether the variable exists or not. Cannot 31820 be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell' 31821 items: 31822 type: string 31823 type: array 31824 x-kubernetes-list-type: atomic 31825 env: 31826 description: List of environment variables 31827 to set in the container. Cannot be updated. 31828 items: 31829 description: EnvVar represents an environment 31830 variable present in a Container. 31831 properties: 31832 name: 31833 description: Name of the environment 31834 variable. Must be a C_IDENTIFIER. 31835 type: string 31836 value: 31837 description: 'Variable references 31838 $(VAR_NAME) are expanded using the 31839 previously defined environment variables 31840 in the container and any service 31841 environment variables. If a variable 31842 cannot be resolved, the reference 31843 in the input string will be unchanged. 31844 Double $$ are reduced to a single 31845 $, which allows for escaping the 31846 $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" 31847 will produce the string literal 31848 "$(VAR_NAME)". Escaped references 31849 will never be expanded, regardless 31850 of whether the variable exists or 31851 not. Defaults to "".' 31852 type: string 31853 valueFrom: 31854 description: Source for the environment 31855 variable's value. Cannot be used 31856 if value is not empty. 31857 properties: 31858 configMapKeyRef: 31859 description: Selects a key of 31860 a ConfigMap. 31861 properties: 31862 key: 31863 description: The key to select. 31864 type: string 31865 name: 31866 description: 'Name of the 31867 referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 31868 TODO: Add other useful fields. 31869 apiVersion, kind, uid?' 31870 type: string 31871 optional: 31872 description: Specify whether 31873 the ConfigMap or its key 31874 must be defined 31875 type: boolean 31876 required: 31877 - key 31878 type: object 31879 fieldRef: 31880 description: 'Selects a field 31881 of the pod: supports metadata.name, 31882 metadata.namespace, `metadata.labels[''<KEY>'']`, 31883 `metadata.annotations[''<KEY>'']`, 31884 spec.nodeName, spec.serviceAccountName, 31885 status.hostIP, status.podIP, 31886 status.podIPs.' 31887 properties: 31888 apiVersion: 31889 description: Version of the 31890 schema the FieldPath is 31891 written in terms of, defaults 31892 to "v1". 31893 type: string 31894 fieldPath: 31895 description: Path of the field 31896 to select in the specified 31897 API version. 31898 type: string 31899 required: 31900 - fieldPath 31901 type: object 31902 resourceFieldRef: 31903 description: 'Selects a resource 31904 of the container: only resources 31905 limits and requests (limits.cpu, 31906 limits.memory, limits.ephemeral-storage, 31907 requests.cpu, requests.memory 31908 and requests.ephemeral-storage) 31909 are currently supported.' 31910 properties: 31911 containerName: 31912 description: 'Container name: 31913 required for volumes, optional 31914 for env vars' 31915 type: string 31916 divisor: 31917 anyOf: 31918 - type: integer 31919 - type: string 31920 description: Specifies the 31921 output format of the exposed 31922 resources, defaults to "1" 31923 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 31924 x-kubernetes-int-or-string: true 31925 resource: 31926 description: 'Required: resource 31927 to select' 31928 type: string 31929 required: 31930 - resource 31931 type: object 31932 secretKeyRef: 31933 description: Selects a key of 31934 a secret in the pod's namespace 31935 properties: 31936 key: 31937 description: The key of the 31938 secret to select from. Must 31939 be a valid secret key. 31940 type: string 31941 name: 31942 description: 'Name of the 31943 referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 31944 TODO: Add other useful fields. 31945 apiVersion, kind, uid?' 31946 type: string 31947 optional: 31948 description: Specify whether 31949 the Secret or its key must 31950 be defined 31951 type: boolean 31952 required: 31953 - key 31954 type: object 31955 type: object 31956 required: 31957 - name 31958 type: object 31959 type: array 31960 x-kubernetes-list-type: atomic 31961 envFrom: 31962 description: List of sources to populate 31963 environment variables in the Step. The 31964 keys defined within a source must be a 31965 C_IDENTIFIER. All invalid keys will be 31966 reported as an event when the container 31967 is starting. When a key exists in multiple 31968 sources, the value associated with the 31969 last source will take precedence. Values 31970 defined by an Env with a duplicate key 31971 will take precedence. Cannot be updated. 31972 items: 31973 description: EnvFromSource represents 31974 the source of a set of ConfigMaps 31975 properties: 31976 configMapRef: 31977 description: The ConfigMap to select 31978 from 31979 properties: 31980 name: 31981 description: 'Name of the referent. 31982 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 31983 TODO: Add other useful fields. 31984 apiVersion, kind, uid?' 31985 type: string 31986 optional: 31987 description: Specify whether the 31988 ConfigMap must be defined 31989 type: boolean 31990 type: object 31991 prefix: 31992 description: An optional identifier 31993 to prepend to each key in the ConfigMap. 31994 Must be a C_IDENTIFIER. 31995 type: string 31996 secretRef: 31997 description: The Secret to select 31998 from 31999 properties: 32000 name: 32001 description: 'Name of the referent. 32002 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 32003 TODO: Add other useful fields. 32004 apiVersion, kind, uid?' 32005 type: string 32006 optional: 32007 description: Specify whether the 32008 Secret must be defined 32009 type: boolean 32010 type: object 32011 type: object 32012 type: array 32013 x-kubernetes-list-type: atomic 32014 image: 32015 description: 'Default image name to use 32016 for each Step. More info: https://kubernetes.io/docs/concepts/containers/images 32017 This field is optional to allow higher 32018 level config management to default or 32019 override container images in workload 32020 controllers like Deployments and StatefulSets.' 32021 type: string 32022 imagePullPolicy: 32023 description: 'Image pull policy. One of 32024 Always, Never, IfNotPresent. Defaults 32025 to Always if :latest tag is specified, 32026 or IfNotPresent otherwise. Cannot be updated. 32027 More info: https://kubernetes.io/docs/concepts/containers/images#updating-images' 32028 type: string 32029 lifecycle: 32030 description: Deprecated. This field will 32031 be removed in a future release. Actions 32032 that the management system should take 32033 in response to container lifecycle events. 32034 Cannot be updated. 32035 properties: 32036 postStart: 32037 description: 'PostStart is called immediately 32038 after a container is created. If the 32039 handler fails, the container is terminated 32040 and restarted according to its restart 32041 policy. Other management of the container 32042 blocks until the hook completes. More 32043 info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks' 32044 properties: 32045 exec: 32046 description: Exec specifies the 32047 action to take. 32048 properties: 32049 command: 32050 description: Command is the 32051 command line to execute inside 32052 the container, the working 32053 directory for the command is 32054 root ('/') in the container's 32055 filesystem. The command is 32056 simply exec'd, it is not run 32057 inside a shell, so traditional 32058 shell instructions ('|', etc) 32059 won't work. To use a shell, 32060 you need to explicitly call 32061 out to that shell. Exit status 32062 of 0 is treated as live/healthy 32063 and non-zero is unhealthy. 32064 items: 32065 type: string 32066 type: array 32067 type: object 32068 httpGet: 32069 description: HTTPGet specifies the 32070 http request to perform. 32071 properties: 32072 host: 32073 description: Host name to connect 32074 to, defaults to the pod IP. 32075 You probably want to set "Host" 32076 in httpHeaders instead. 32077 type: string 32078 httpHeaders: 32079 description: Custom headers 32080 to set in the request. HTTP 32081 allows repeated headers. 32082 items: 32083 description: HTTPHeader describes 32084 a custom header to be used 32085 in HTTP probes 32086 properties: 32087 name: 32088 description: The header 32089 field name 32090 type: string 32091 value: 32092 description: The header 32093 field value 32094 type: string 32095 required: 32096 - name 32097 - value 32098 type: object 32099 type: array 32100 path: 32101 description: Path to access 32102 on the HTTP server. 32103 type: string 32104 port: 32105 anyOf: 32106 - type: integer 32107 - type: string 32108 description: Name or number 32109 of the port to access on the 32110 container. Number must be 32111 in the range 1 to 65535. Name 32112 must be an IANA_SVC_NAME. 32113 x-kubernetes-int-or-string: true 32114 scheme: 32115 description: Scheme to use for 32116 connecting to the host. Defaults 32117 to HTTP. 32118 type: string 32119 required: 32120 - port 32121 type: object 32122 tcpSocket: 32123 description: Deprecated. TCPSocket 32124 is NOT supported as a LifecycleHandler 32125 and kept for the backward compatibility. 32126 There are no validation of this 32127 field and lifecycle hooks will 32128 fail in runtime when tcp handler 32129 is specified. 32130 properties: 32131 host: 32132 description: 'Optional: Host 32133 name to connect to, defaults 32134 to the pod IP.' 32135 type: string 32136 port: 32137 anyOf: 32138 - type: integer 32139 - type: string 32140 description: Number or name 32141 of the port to access on the 32142 container. Number must be 32143 in the range 1 to 65535. Name 32144 must be an IANA_SVC_NAME. 32145 x-kubernetes-int-or-string: true 32146 required: 32147 - port 32148 type: object 32149 type: object 32150 preStop: 32151 description: 'PreStop is called immediately 32152 before a container is terminated due 32153 to an API request or management event 32154 such as liveness/startup probe failure, 32155 preemption, resource contention, etc. 32156 The handler is not called if the container 32157 crashes or exits. The Pod''s termination 32158 grace period countdown begins before 32159 the PreStop hook is executed. Regardless 32160 of the outcome of the handler, the 32161 container will eventually terminate 32162 within the Pod''s termination grace 32163 period (unless delayed by finalizers). 32164 Other management of the container 32165 blocks until the hook completes or 32166 until the termination grace period 32167 is reached. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks' 32168 properties: 32169 exec: 32170 description: Exec specifies the 32171 action to take. 32172 properties: 32173 command: 32174 description: Command is the 32175 command line to execute inside 32176 the container, the working 32177 directory for the command is 32178 root ('/') in the container's 32179 filesystem. The command is 32180 simply exec'd, it is not run 32181 inside a shell, so traditional 32182 shell instructions ('|', etc) 32183 won't work. To use a shell, 32184 you need to explicitly call 32185 out to that shell. Exit status 32186 of 0 is treated as live/healthy 32187 and non-zero is unhealthy. 32188 items: 32189 type: string 32190 type: array 32191 type: object 32192 httpGet: 32193 description: HTTPGet specifies the 32194 http request to perform. 32195 properties: 32196 host: 32197 description: Host name to connect 32198 to, defaults to the pod IP. 32199 You probably want to set "Host" 32200 in httpHeaders instead. 32201 type: string 32202 httpHeaders: 32203 description: Custom headers 32204 to set in the request. HTTP 32205 allows repeated headers. 32206 items: 32207 description: HTTPHeader describes 32208 a custom header to be used 32209 in HTTP probes 32210 properties: 32211 name: 32212 description: The header 32213 field name 32214 type: string 32215 value: 32216 description: The header 32217 field value 32218 type: string 32219 required: 32220 - name 32221 - value 32222 type: object 32223 type: array 32224 path: 32225 description: Path to access 32226 on the HTTP server. 32227 type: string 32228 port: 32229 anyOf: 32230 - type: integer 32231 - type: string 32232 description: Name or number 32233 of the port to access on the 32234 container. Number must be 32235 in the range 1 to 65535. Name 32236 must be an IANA_SVC_NAME. 32237 x-kubernetes-int-or-string: true 32238 scheme: 32239 description: Scheme to use for 32240 connecting to the host. Defaults 32241 to HTTP. 32242 type: string 32243 required: 32244 - port 32245 type: object 32246 tcpSocket: 32247 description: Deprecated. TCPSocket 32248 is NOT supported as a LifecycleHandler 32249 and kept for the backward compatibility. 32250 There are no validation of this 32251 field and lifecycle hooks will 32252 fail in runtime when tcp handler 32253 is specified. 32254 properties: 32255 host: 32256 description: 'Optional: Host 32257 name to connect to, defaults 32258 to the pod IP.' 32259 type: string 32260 port: 32261 anyOf: 32262 - type: integer 32263 - type: string 32264 description: Number or name 32265 of the port to access on the 32266 container. Number must be 32267 in the range 1 to 65535. Name 32268 must be an IANA_SVC_NAME. 32269 x-kubernetes-int-or-string: true 32270 required: 32271 - port 32272 type: object 32273 type: object 32274 type: object 32275 livenessProbe: 32276 description: 'Deprecated. This field will 32277 be removed in a future release. Periodic 32278 probe of container liveness. Container 32279 will be restarted if the probe fails. 32280 Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 32281 properties: 32282 exec: 32283 description: Exec specifies the action 32284 to take. 32285 properties: 32286 command: 32287 description: Command is the command 32288 line to execute inside the container, 32289 the working directory for the 32290 command is root ('/') in the 32291 container's filesystem. The command 32292 is simply exec'd, it is not run 32293 inside a shell, so traditional 32294 shell instructions ('|', etc) 32295 won't work. To use a shell, you 32296 need to explicitly call out to 32297 that shell. Exit status of 0 is 32298 treated as live/healthy and non-zero 32299 is unhealthy. 32300 items: 32301 type: string 32302 type: array 32303 type: object 32304 failureThreshold: 32305 description: Minimum consecutive failures 32306 for the probe to be considered failed 32307 after having succeeded. Defaults to 32308 3. Minimum value is 1. 32309 format: int32 32310 type: integer 32311 grpc: 32312 description: GRPC specifies an action 32313 involving a GRPC port. This is a beta 32314 field and requires enabling GRPCContainerProbe 32315 feature gate. 32316 properties: 32317 port: 32318 description: Port number of the 32319 gRPC service. Number must be in 32320 the range 1 to 65535. 32321 format: int32 32322 type: integer 32323 service: 32324 description: "Service is the name 32325 of the service to place in the 32326 gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). 32327 \n If this is not specified, the 32328 default behavior is defined by 32329 gRPC." 32330 type: string 32331 required: 32332 - port 32333 type: object 32334 httpGet: 32335 description: HTTPGet specifies the http 32336 request to perform. 32337 properties: 32338 host: 32339 description: Host name to connect 32340 to, defaults to the pod IP. You 32341 probably want to set "Host" in 32342 httpHeaders instead. 32343 type: string 32344 httpHeaders: 32345 description: Custom headers to set 32346 in the request. HTTP allows repeated 32347 headers. 32348 items: 32349 description: HTTPHeader describes 32350 a custom header to be used in 32351 HTTP probes 32352 properties: 32353 name: 32354 description: The header field 32355 name 32356 type: string 32357 value: 32358 description: The header field 32359 value 32360 type: string 32361 required: 32362 - name 32363 - value 32364 type: object 32365 type: array 32366 path: 32367 description: Path to access on the 32368 HTTP server. 32369 type: string 32370 port: 32371 anyOf: 32372 - type: integer 32373 - type: string 32374 description: Name or number of the 32375 port to access on the container. 32376 Number must be in the range 1 32377 to 65535. Name must be an IANA_SVC_NAME. 32378 x-kubernetes-int-or-string: true 32379 scheme: 32380 description: Scheme to use for connecting 32381 to the host. Defaults to HTTP. 32382 type: string 32383 required: 32384 - port 32385 type: object 32386 initialDelaySeconds: 32387 description: 'Number of seconds after 32388 the container has started before liveness 32389 probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 32390 format: int32 32391 type: integer 32392 periodSeconds: 32393 description: How often (in seconds) 32394 to perform the probe. Default to 10 32395 seconds. Minimum value is 1. 32396 format: int32 32397 type: integer 32398 successThreshold: 32399 description: Minimum consecutive successes 32400 for the probe to be considered successful 32401 after having failed. Defaults to 1. 32402 Must be 1 for liveness and startup. 32403 Minimum value is 1. 32404 format: int32 32405 type: integer 32406 tcpSocket: 32407 description: TCPSocket specifies an 32408 action involving a TCP port. 32409 properties: 32410 host: 32411 description: 'Optional: Host name 32412 to connect to, defaults to the 32413 pod IP.' 32414 type: string 32415 port: 32416 anyOf: 32417 - type: integer 32418 - type: string 32419 description: Number or name of the 32420 port to access on the container. 32421 Number must be in the range 1 32422 to 65535. Name must be an IANA_SVC_NAME. 32423 x-kubernetes-int-or-string: true 32424 required: 32425 - port 32426 type: object 32427 terminationGracePeriodSeconds: 32428 description: Optional duration in seconds 32429 the pod needs to terminate gracefully 32430 upon probe failure. The grace period 32431 is the duration in seconds after the 32432 processes running in the pod are sent 32433 a termination signal and the time 32434 when the processes are forcibly halted 32435 with a kill signal. Set this value 32436 longer than the expected cleanup time 32437 for your process. If this value is 32438 nil, the pod's terminationGracePeriodSeconds 32439 will be used. Otherwise, this value 32440 overrides the value provided by the 32441 pod spec. Value must be non-negative 32442 integer. The value zero indicates 32443 stop immediately via the kill signal 32444 (no opportunity to shut down). This 32445 is a beta field and requires enabling 32446 ProbeTerminationGracePeriod feature 32447 gate. Minimum value is 1. spec.terminationGracePeriodSeconds 32448 is used if unset. 32449 format: int64 32450 type: integer 32451 timeoutSeconds: 32452 description: 'Number of seconds after 32453 which the probe times out. Defaults 32454 to 1 second. Minimum value is 1. More 32455 info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 32456 format: int32 32457 type: integer 32458 type: object 32459 name: 32460 description: Deprecated. This field will 32461 be removed in a future release. Default 32462 name for each Step specified as a DNS_LABEL. 32463 Each Step in a Task must have a unique 32464 name. Cannot be updated. 32465 type: string 32466 ports: 32467 description: Deprecated. This field will 32468 be removed in a future release. List of 32469 ports to expose from the Step's container. 32470 Exposing a port here gives the system 32471 additional information about the network 32472 connections a container uses, but is primarily 32473 informational. Not specifying a port here 32474 DOES NOT prevent that port from being 32475 exposed. Any port which is listening on 32476 the default "0.0.0.0" address inside a 32477 container will be accessible from the 32478 network. Cannot be updated. 32479 items: 32480 description: ContainerPort represents 32481 a network port in a single container. 32482 properties: 32483 containerPort: 32484 description: Number of port to expose 32485 on the pod's IP address. This must 32486 be a valid port number, 0 < x < 32487 65536. 32488 format: int32 32489 type: integer 32490 hostIP: 32491 description: What host IP to bind 32492 the external port to. 32493 type: string 32494 hostPort: 32495 description: Number of port to expose 32496 on the host. If specified, this 32497 must be a valid port number, 0 < 32498 x < 65536. If HostNetwork is specified, 32499 this must match ContainerPort. Most 32500 containers do not need this. 32501 format: int32 32502 type: integer 32503 name: 32504 description: If specified, this must 32505 be an IANA_SVC_NAME and unique within 32506 the pod. Each named port in a pod 32507 must have a unique name. Name for 32508 the port that can be referred to 32509 by services. 32510 type: string 32511 protocol: 32512 default: TCP 32513 description: Protocol for port. Must 32514 be UDP, TCP, or SCTP. Defaults to 32515 "TCP". 32516 type: string 32517 required: 32518 - containerPort 32519 type: object 32520 type: array 32521 x-kubernetes-list-map-keys: 32522 - containerPort 32523 - protocol 32524 x-kubernetes-list-type: map 32525 readinessProbe: 32526 description: 'Deprecated. This field will 32527 be removed in a future release. Periodic 32528 probe of container service readiness. 32529 Container will be removed from service 32530 endpoints if the probe fails. Cannot be 32531 updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 32532 properties: 32533 exec: 32534 description: Exec specifies the action 32535 to take. 32536 properties: 32537 command: 32538 description: Command is the command 32539 line to execute inside the container, 32540 the working directory for the 32541 command is root ('/') in the 32542 container's filesystem. The command 32543 is simply exec'd, it is not run 32544 inside a shell, so traditional 32545 shell instructions ('|', etc) 32546 won't work. To use a shell, you 32547 need to explicitly call out to 32548 that shell. Exit status of 0 is 32549 treated as live/healthy and non-zero 32550 is unhealthy. 32551 items: 32552 type: string 32553 type: array 32554 type: object 32555 failureThreshold: 32556 description: Minimum consecutive failures 32557 for the probe to be considered failed 32558 after having succeeded. Defaults to 32559 3. Minimum value is 1. 32560 format: int32 32561 type: integer 32562 grpc: 32563 description: GRPC specifies an action 32564 involving a GRPC port. This is a beta 32565 field and requires enabling GRPCContainerProbe 32566 feature gate. 32567 properties: 32568 port: 32569 description: Port number of the 32570 gRPC service. Number must be in 32571 the range 1 to 65535. 32572 format: int32 32573 type: integer 32574 service: 32575 description: "Service is the name 32576 of the service to place in the 32577 gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). 32578 \n If this is not specified, the 32579 default behavior is defined by 32580 gRPC." 32581 type: string 32582 required: 32583 - port 32584 type: object 32585 httpGet: 32586 description: HTTPGet specifies the http 32587 request to perform. 32588 properties: 32589 host: 32590 description: Host name to connect 32591 to, defaults to the pod IP. You 32592 probably want to set "Host" in 32593 httpHeaders instead. 32594 type: string 32595 httpHeaders: 32596 description: Custom headers to set 32597 in the request. HTTP allows repeated 32598 headers. 32599 items: 32600 description: HTTPHeader describes 32601 a custom header to be used in 32602 HTTP probes 32603 properties: 32604 name: 32605 description: The header field 32606 name 32607 type: string 32608 value: 32609 description: The header field 32610 value 32611 type: string 32612 required: 32613 - name 32614 - value 32615 type: object 32616 type: array 32617 path: 32618 description: Path to access on the 32619 HTTP server. 32620 type: string 32621 port: 32622 anyOf: 32623 - type: integer 32624 - type: string 32625 description: Name or number of the 32626 port to access on the container. 32627 Number must be in the range 1 32628 to 65535. Name must be an IANA_SVC_NAME. 32629 x-kubernetes-int-or-string: true 32630 scheme: 32631 description: Scheme to use for connecting 32632 to the host. Defaults to HTTP. 32633 type: string 32634 required: 32635 - port 32636 type: object 32637 initialDelaySeconds: 32638 description: 'Number of seconds after 32639 the container has started before liveness 32640 probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 32641 format: int32 32642 type: integer 32643 periodSeconds: 32644 description: How often (in seconds) 32645 to perform the probe. Default to 10 32646 seconds. Minimum value is 1. 32647 format: int32 32648 type: integer 32649 successThreshold: 32650 description: Minimum consecutive successes 32651 for the probe to be considered successful 32652 after having failed. Defaults to 1. 32653 Must be 1 for liveness and startup. 32654 Minimum value is 1. 32655 format: int32 32656 type: integer 32657 tcpSocket: 32658 description: TCPSocket specifies an 32659 action involving a TCP port. 32660 properties: 32661 host: 32662 description: 'Optional: Host name 32663 to connect to, defaults to the 32664 pod IP.' 32665 type: string 32666 port: 32667 anyOf: 32668 - type: integer 32669 - type: string 32670 description: Number or name of the 32671 port to access on the container. 32672 Number must be in the range 1 32673 to 65535. Name must be an IANA_SVC_NAME. 32674 x-kubernetes-int-or-string: true 32675 required: 32676 - port 32677 type: object 32678 terminationGracePeriodSeconds: 32679 description: Optional duration in seconds 32680 the pod needs to terminate gracefully 32681 upon probe failure. The grace period 32682 is the duration in seconds after the 32683 processes running in the pod are sent 32684 a termination signal and the time 32685 when the processes are forcibly halted 32686 with a kill signal. Set this value 32687 longer than the expected cleanup time 32688 for your process. If this value is 32689 nil, the pod's terminationGracePeriodSeconds 32690 will be used. Otherwise, this value 32691 overrides the value provided by the 32692 pod spec. Value must be non-negative 32693 integer. The value zero indicates 32694 stop immediately via the kill signal 32695 (no opportunity to shut down). This 32696 is a beta field and requires enabling 32697 ProbeTerminationGracePeriod feature 32698 gate. Minimum value is 1. spec.terminationGracePeriodSeconds 32699 is used if unset. 32700 format: int64 32701 type: integer 32702 timeoutSeconds: 32703 description: 'Number of seconds after 32704 which the probe times out. Defaults 32705 to 1 second. Minimum value is 1. More 32706 info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 32707 format: int32 32708 type: integer 32709 type: object 32710 resources: 32711 description: 'Compute Resources required 32712 by this Step. Cannot be updated. More 32713 info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' 32714 properties: 32715 limits: 32716 additionalProperties: 32717 anyOf: 32718 - type: integer 32719 - type: string 32720 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 32721 x-kubernetes-int-or-string: true 32722 description: 'Limits describes the maximum 32723 amount of compute resources allowed. 32724 More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' 32725 type: object 32726 requests: 32727 additionalProperties: 32728 anyOf: 32729 - type: integer 32730 - type: string 32731 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 32732 x-kubernetes-int-or-string: true 32733 description: 'Requests describes the 32734 minimum amount of compute resources 32735 required. If Requests is omitted for 32736 a container, it defaults to Limits 32737 if that is explicitly specified, otherwise 32738 to an implementation-defined value. 32739 More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' 32740 type: object 32741 type: object 32742 securityContext: 32743 description: 'SecurityContext defines the 32744 security options the Step should be run 32745 with. If set, the fields of SecurityContext 32746 override the equivalent fields of PodSecurityContext. 32747 More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/' 32748 properties: 32749 allowPrivilegeEscalation: 32750 description: 'AllowPrivilegeEscalation 32751 controls whether a process can gain 32752 more privileges than its parent process. 32753 This bool directly controls if the 32754 no_new_privs flag will be set on the 32755 container process. AllowPrivilegeEscalation 32756 is true always when the container 32757 is: 1) run as Privileged 2) has CAP_SYS_ADMIN 32758 Note that this field cannot be set 32759 when spec.os.name is windows.' 32760 type: boolean 32761 capabilities: 32762 description: The capabilities to add/drop 32763 when running containers. Defaults 32764 to the default set of capabilities 32765 granted by the container runtime. 32766 Note that this field cannot be set 32767 when spec.os.name is windows. 32768 properties: 32769 add: 32770 description: Added capabilities 32771 items: 32772 description: Capability represent 32773 POSIX capabilities type 32774 type: string 32775 type: array 32776 drop: 32777 description: Removed capabilities 32778 items: 32779 description: Capability represent 32780 POSIX capabilities type 32781 type: string 32782 type: array 32783 type: object 32784 privileged: 32785 description: Run container in privileged 32786 mode. Processes in privileged containers 32787 are essentially equivalent to root 32788 on the host. Defaults to false. Note 32789 that this field cannot be set when 32790 spec.os.name is windows. 32791 type: boolean 32792 procMount: 32793 description: procMount denotes the type 32794 of proc mount to use for the containers. 32795 The default is DefaultProcMount which 32796 uses the container runtime defaults 32797 for readonly paths and masked paths. 32798 This requires the ProcMountType feature 32799 flag to be enabled. Note that this 32800 field cannot be set when spec.os.name 32801 is windows. 32802 type: string 32803 readOnlyRootFilesystem: 32804 description: Whether this container 32805 has a read-only root filesystem. Default 32806 is false. Note that this field cannot 32807 be set when spec.os.name is windows. 32808 type: boolean 32809 runAsGroup: 32810 description: The GID to run the entrypoint 32811 of the container process. Uses runtime 32812 default if unset. May also be set 32813 in PodSecurityContext. If set in 32814 both SecurityContext and PodSecurityContext, 32815 the value specified in SecurityContext 32816 takes precedence. Note that this field 32817 cannot be set when spec.os.name is 32818 windows. 32819 format: int64 32820 type: integer 32821 runAsNonRoot: 32822 description: Indicates that the container 32823 must run as a non-root user. If true, 32824 the Kubelet will validate the image 32825 at runtime to ensure that it does 32826 not run as UID 0 (root) and fail to 32827 start the container if it does. If 32828 unset or false, no such validation 32829 will be performed. May also be set 32830 in PodSecurityContext. If set in 32831 both SecurityContext and PodSecurityContext, 32832 the value specified in SecurityContext 32833 takes precedence. 32834 type: boolean 32835 runAsUser: 32836 description: The UID to run the entrypoint 32837 of the container process. Defaults 32838 to user specified in image metadata 32839 if unspecified. May also be set in 32840 PodSecurityContext. If set in both 32841 SecurityContext and PodSecurityContext, 32842 the value specified in SecurityContext 32843 takes precedence. Note that this field 32844 cannot be set when spec.os.name is 32845 windows. 32846 format: int64 32847 type: integer 32848 seLinuxOptions: 32849 description: The SELinux context to 32850 be applied to the container. If unspecified, 32851 the container runtime will allocate 32852 a random SELinux context for each 32853 container. May also be set in PodSecurityContext. If 32854 set in both SecurityContext and PodSecurityContext, 32855 the value specified in SecurityContext 32856 takes precedence. Note that this field 32857 cannot be set when spec.os.name is 32858 windows. 32859 properties: 32860 level: 32861 description: Level is SELinux level 32862 label that applies to the container. 32863 type: string 32864 role: 32865 description: Role is a SELinux role 32866 label that applies to the container. 32867 type: string 32868 type: 32869 description: Type is a SELinux type 32870 label that applies to the container. 32871 type: string 32872 user: 32873 description: User is a SELinux user 32874 label that applies to the container. 32875 type: string 32876 type: object 32877 seccompProfile: 32878 description: The seccomp options to 32879 use by this container. If seccomp 32880 options are provided at both the pod 32881 & container level, the container options 32882 override the pod options. Note that 32883 this field cannot be set when spec.os.name 32884 is windows. 32885 properties: 32886 localhostProfile: 32887 description: localhostProfile indicates 32888 a profile defined in a file on 32889 the node should be used. The profile 32890 must be preconfigured on the node 32891 to work. Must be a descending 32892 path, relative to the kubelet's 32893 configured seccomp profile location. 32894 Must only be set if type is "Localhost". 32895 type: string 32896 type: 32897 description: "type indicates which 32898 kind of seccomp profile will be 32899 applied. Valid options are: \n 32900 Localhost - a profile defined 32901 in a file on the node should be 32902 used. RuntimeDefault - the container 32903 runtime default profile should 32904 be used. Unconfined - no profile 32905 should be applied." 32906 type: string 32907 required: 32908 - type 32909 type: object 32910 windowsOptions: 32911 description: The Windows specific settings 32912 applied to all containers. If unspecified, 32913 the options from the PodSecurityContext 32914 will be used. If set in both SecurityContext 32915 and PodSecurityContext, the value 32916 specified in SecurityContext takes 32917 precedence. Note that this field cannot 32918 be set when spec.os.name is linux. 32919 properties: 32920 gmsaCredentialSpec: 32921 description: GMSACredentialSpec 32922 is where the GMSA admission webhook 32923 (https://github.com/kubernetes-sigs/windows-gmsa) 32924 inlines the contents of the GMSA 32925 credential spec named by the GMSACredentialSpecName 32926 field. 32927 type: string 32928 gmsaCredentialSpecName: 32929 description: GMSACredentialSpecName 32930 is the name of the GMSA credential 32931 spec to use. 32932 type: string 32933 hostProcess: 32934 description: HostProcess determines 32935 if a container should be run as 32936 a 'Host Process' container. This 32937 field is alpha-level and will 32938 only be honored by components 32939 that enable the WindowsHostProcessContainers 32940 feature flag. Setting this field 32941 without the feature flag will 32942 result in errors when validating 32943 the Pod. All of a Pod's containers 32944 must have the same effective HostProcess 32945 value (it is not allowed to have 32946 a mix of HostProcess containers 32947 and non-HostProcess containers). In 32948 addition, if HostProcess is true 32949 then HostNetwork must also be 32950 set to true. 32951 type: boolean 32952 runAsUserName: 32953 description: The UserName in Windows 32954 to run the entrypoint of the container 32955 process. Defaults to the user 32956 specified in image metadata if 32957 unspecified. May also be set in 32958 PodSecurityContext. If set in 32959 both SecurityContext and PodSecurityContext, 32960 the value specified in SecurityContext 32961 takes precedence. 32962 type: string 32963 type: object 32964 type: object 32965 startupProbe: 32966 description: 'Deprecated. This field will 32967 be removed in a future release. DeprecatedStartupProbe 32968 indicates that the Pod has successfully 32969 initialized. If specified, no other probes 32970 are executed until this completes successfully. 32971 If this probe fails, the Pod will be restarted, 32972 just as if the livenessProbe failed. This 32973 can be used to provide different probe 32974 parameters at the beginning of a Pod''s 32975 lifecycle, when it might take a long time 32976 to load data or warm a cache, than during 32977 steady-state operation. This cannot be 32978 updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 32979 properties: 32980 exec: 32981 description: Exec specifies the action 32982 to take. 32983 properties: 32984 command: 32985 description: Command is the command 32986 line to execute inside the container, 32987 the working directory for the 32988 command is root ('/') in the 32989 container's filesystem. The command 32990 is simply exec'd, it is not run 32991 inside a shell, so traditional 32992 shell instructions ('|', etc) 32993 won't work. To use a shell, you 32994 need to explicitly call out to 32995 that shell. Exit status of 0 is 32996 treated as live/healthy and non-zero 32997 is unhealthy. 32998 items: 32999 type: string 33000 type: array 33001 type: object 33002 failureThreshold: 33003 description: Minimum consecutive failures 33004 for the probe to be considered failed 33005 after having succeeded. Defaults to 33006 3. Minimum value is 1. 33007 format: int32 33008 type: integer 33009 grpc: 33010 description: GRPC specifies an action 33011 involving a GRPC port. This is a beta 33012 field and requires enabling GRPCContainerProbe 33013 feature gate. 33014 properties: 33015 port: 33016 description: Port number of the 33017 gRPC service. Number must be in 33018 the range 1 to 65535. 33019 format: int32 33020 type: integer 33021 service: 33022 description: "Service is the name 33023 of the service to place in the 33024 gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). 33025 \n If this is not specified, the 33026 default behavior is defined by 33027 gRPC." 33028 type: string 33029 required: 33030 - port 33031 type: object 33032 httpGet: 33033 description: HTTPGet specifies the http 33034 request to perform. 33035 properties: 33036 host: 33037 description: Host name to connect 33038 to, defaults to the pod IP. You 33039 probably want to set "Host" in 33040 httpHeaders instead. 33041 type: string 33042 httpHeaders: 33043 description: Custom headers to set 33044 in the request. HTTP allows repeated 33045 headers. 33046 items: 33047 description: HTTPHeader describes 33048 a custom header to be used in 33049 HTTP probes 33050 properties: 33051 name: 33052 description: The header field 33053 name 33054 type: string 33055 value: 33056 description: The header field 33057 value 33058 type: string 33059 required: 33060 - name 33061 - value 33062 type: object 33063 type: array 33064 path: 33065 description: Path to access on the 33066 HTTP server. 33067 type: string 33068 port: 33069 anyOf: 33070 - type: integer 33071 - type: string 33072 description: Name or number of the 33073 port to access on the container. 33074 Number must be in the range 1 33075 to 65535. Name must be an IANA_SVC_NAME. 33076 x-kubernetes-int-or-string: true 33077 scheme: 33078 description: Scheme to use for connecting 33079 to the host. Defaults to HTTP. 33080 type: string 33081 required: 33082 - port 33083 type: object 33084 initialDelaySeconds: 33085 description: 'Number of seconds after 33086 the container has started before liveness 33087 probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 33088 format: int32 33089 type: integer 33090 periodSeconds: 33091 description: How often (in seconds) 33092 to perform the probe. Default to 10 33093 seconds. Minimum value is 1. 33094 format: int32 33095 type: integer 33096 successThreshold: 33097 description: Minimum consecutive successes 33098 for the probe to be considered successful 33099 after having failed. Defaults to 1. 33100 Must be 1 for liveness and startup. 33101 Minimum value is 1. 33102 format: int32 33103 type: integer 33104 tcpSocket: 33105 description: TCPSocket specifies an 33106 action involving a TCP port. 33107 properties: 33108 host: 33109 description: 'Optional: Host name 33110 to connect to, defaults to the 33111 pod IP.' 33112 type: string 33113 port: 33114 anyOf: 33115 - type: integer 33116 - type: string 33117 description: Number or name of the 33118 port to access on the container. 33119 Number must be in the range 1 33120 to 65535. Name must be an IANA_SVC_NAME. 33121 x-kubernetes-int-or-string: true 33122 required: 33123 - port 33124 type: object 33125 terminationGracePeriodSeconds: 33126 description: Optional duration in seconds 33127 the pod needs to terminate gracefully 33128 upon probe failure. The grace period 33129 is the duration in seconds after the 33130 processes running in the pod are sent 33131 a termination signal and the time 33132 when the processes are forcibly halted 33133 with a kill signal. Set this value 33134 longer than the expected cleanup time 33135 for your process. If this value is 33136 nil, the pod's terminationGracePeriodSeconds 33137 will be used. Otherwise, this value 33138 overrides the value provided by the 33139 pod spec. Value must be non-negative 33140 integer. The value zero indicates 33141 stop immediately via the kill signal 33142 (no opportunity to shut down). This 33143 is a beta field and requires enabling 33144 ProbeTerminationGracePeriod feature 33145 gate. Minimum value is 1. spec.terminationGracePeriodSeconds 33146 is used if unset. 33147 format: int64 33148 type: integer 33149 timeoutSeconds: 33150 description: 'Number of seconds after 33151 which the probe times out. Defaults 33152 to 1 second. Minimum value is 1. More 33153 info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 33154 format: int32 33155 type: integer 33156 type: object 33157 stdin: 33158 description: Deprecated. This field will 33159 be removed in a future release. Whether 33160 this Step should allocate a buffer for 33161 stdin in the container runtime. If this 33162 is not set, reads from stdin in the Step 33163 will always result in EOF. Default is 33164 false. 33165 type: boolean 33166 stdinOnce: 33167 description: Deprecated. This field will 33168 be removed in a future release. Whether 33169 the container runtime should close the 33170 stdin channel after it has been opened 33171 by a single attach. When stdin is true 33172 the stdin stream will remain open across 33173 multiple attach sessions. If stdinOnce 33174 is set to true, stdin is opened on container 33175 start, is empty until the first client 33176 attaches to stdin, and then remains open 33177 and accepts data until the client disconnects, 33178 at which time stdin is closed and remains 33179 closed until the container is restarted. 33180 If this flag is false, a container processes 33181 that reads from stdin will never receive 33182 an EOF. Default is false 33183 type: boolean 33184 terminationMessagePath: 33185 description: Deprecated. This field will 33186 be removed in a future release and cannot 33187 be meaningfully used. 33188 type: string 33189 terminationMessagePolicy: 33190 description: Deprecated. This field will 33191 be removed in a future release and cannot 33192 be meaningfully used. 33193 type: string 33194 tty: 33195 description: Deprecated. This field will 33196 be removed in a future release. Whether 33197 this Step should allocate a DeprecatedTTY 33198 for itself, also requires 'stdin' to be 33199 true. Default is false. 33200 type: boolean 33201 volumeDevices: 33202 description: volumeDevices is the list of 33203 block devices to be used by the Step. 33204 items: 33205 description: volumeDevice describes a 33206 mapping of a raw block device within 33207 a container. 33208 properties: 33209 devicePath: 33210 description: devicePath is the path 33211 inside of the container that the 33212 device will be mapped to. 33213 type: string 33214 name: 33215 description: name must match the name 33216 of a persistentVolumeClaim in the 33217 pod 33218 type: string 33219 required: 33220 - devicePath 33221 - name 33222 type: object 33223 type: array 33224 x-kubernetes-list-type: atomic 33225 volumeMounts: 33226 description: Volumes to mount into the Step's 33227 filesystem. Cannot be updated. 33228 items: 33229 description: VolumeMount describes a mounting 33230 of a Volume within a container. 33231 properties: 33232 mountPath: 33233 description: Path within the container 33234 at which the volume should be mounted. Must 33235 not contain ':'. 33236 type: string 33237 mountPropagation: 33238 description: mountPropagation determines 33239 how mounts are propagated from the 33240 host to container and the other 33241 way around. When not set, MountPropagationNone 33242 is used. This field is beta in 1.10. 33243 type: string 33244 name: 33245 description: This must match the Name 33246 of a Volume. 33247 type: string 33248 readOnly: 33249 description: Mounted read-only if 33250 true, read-write otherwise (false 33251 or unspecified). Defaults to false. 33252 type: boolean 33253 subPath: 33254 description: Path within the volume 33255 from which the container's volume 33256 should be mounted. Defaults to "" 33257 (volume's root). 33258 type: string 33259 subPathExpr: 33260 description: Expanded path within 33261 the volume from which the container's 33262 volume should be mounted. Behaves 33263 similarly to SubPath but environment 33264 variable references $(VAR_NAME) 33265 are expanded using the container's 33266 environment. Defaults to "" (volume's 33267 root). SubPathExpr and SubPath are 33268 mutually exclusive. 33269 type: string 33270 required: 33271 - mountPath 33272 - name 33273 type: object 33274 type: array 33275 x-kubernetes-list-type: atomic 33276 workingDir: 33277 description: Step's working directory. If 33278 not specified, the container runtime's 33279 default will be used, which might be configured 33280 in the container image. Cannot be updated. 33281 type: string 33282 required: 33283 - name 33284 type: object 33285 steps: 33286 description: Steps are the steps of the build; 33287 each step is run sequentially with the source 33288 mounted into /workspace. 33289 items: 33290 description: Step runs a subcomponent of a 33291 Task 33292 properties: 33293 args: 33294 description: 'Arguments to the entrypoint. 33295 The image''s CMD is used if this is 33296 not provided. Variable references $(VAR_NAME) 33297 are expanded using the container''s 33298 environment. If a variable cannot be 33299 resolved, the reference in the input 33300 string will be unchanged. Double $$ 33301 are reduced to a single $, which allows 33302 for escaping the $(VAR_NAME) syntax: 33303 i.e. "$$(VAR_NAME)" will produce the 33304 string literal "$(VAR_NAME)". Escaped 33305 references will never be expanded, regardless 33306 of whether the variable exists or not. 33307 Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell' 33308 items: 33309 type: string 33310 type: array 33311 x-kubernetes-list-type: atomic 33312 command: 33313 description: 'Entrypoint array. Not executed 33314 within a shell. The image''s ENTRYPOINT 33315 is used if this is not provided. Variable 33316 references $(VAR_NAME) are expanded 33317 using the container''s environment. 33318 If a variable cannot be resolved, the 33319 reference in the input string will be 33320 unchanged. Double $$ are reduced to 33321 a single $, which allows for escaping 33322 the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" 33323 will produce the string literal "$(VAR_NAME)". 33324 Escaped references will never be expanded, 33325 regardless of whether the variable exists 33326 or not. Cannot be updated. More info: 33327 https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell' 33328 items: 33329 type: string 33330 type: array 33331 x-kubernetes-list-type: atomic 33332 env: 33333 description: List of environment variables 33334 to set in the container. Cannot be updated. 33335 items: 33336 description: EnvVar represents an environment 33337 variable present in a Container. 33338 properties: 33339 name: 33340 description: Name of the environment 33341 variable. Must be a C_IDENTIFIER. 33342 type: string 33343 value: 33344 description: 'Variable references 33345 $(VAR_NAME) are expanded using 33346 the previously defined environment 33347 variables in the container and 33348 any service environment variables. 33349 If a variable cannot be resolved, 33350 the reference in the input string 33351 will be unchanged. Double $$ are 33352 reduced to a single $, which allows 33353 for escaping the $(VAR_NAME) syntax: 33354 i.e. "$$(VAR_NAME)" will produce 33355 the string literal "$(VAR_NAME)". 33356 Escaped references will never 33357 be expanded, regardless of whether 33358 the variable exists or not. Defaults 33359 to "".' 33360 type: string 33361 valueFrom: 33362 description: Source for the environment 33363 variable's value. Cannot be used 33364 if value is not empty. 33365 properties: 33366 configMapKeyRef: 33367 description: Selects a key of 33368 a ConfigMap. 33369 properties: 33370 key: 33371 description: The key to 33372 select. 33373 type: string 33374 name: 33375 description: 'Name of the 33376 referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 33377 TODO: Add other useful 33378 fields. apiVersion, kind, 33379 uid?' 33380 type: string 33381 optional: 33382 description: Specify whether 33383 the ConfigMap or its key 33384 must be defined 33385 type: boolean 33386 required: 33387 - key 33388 type: object 33389 fieldRef: 33390 description: 'Selects a field 33391 of the pod: supports metadata.name, 33392 metadata.namespace, `metadata.labels[''<KEY>'']`, 33393 `metadata.annotations[''<KEY>'']`, 33394 spec.nodeName, spec.serviceAccountName, 33395 status.hostIP, status.podIP, 33396 status.podIPs.' 33397 properties: 33398 apiVersion: 33399 description: Version of 33400 the schema the FieldPath 33401 is written in terms of, 33402 defaults to "v1". 33403 type: string 33404 fieldPath: 33405 description: Path of the 33406 field to select in the 33407 specified API version. 33408 type: string 33409 required: 33410 - fieldPath 33411 type: object 33412 resourceFieldRef: 33413 description: 'Selects a resource 33414 of the container: only resources 33415 limits and requests (limits.cpu, 33416 limits.memory, limits.ephemeral-storage, 33417 requests.cpu, requests.memory 33418 and requests.ephemeral-storage) 33419 are currently supported.' 33420 properties: 33421 containerName: 33422 description: 'Container 33423 name: required for volumes, 33424 optional for env vars' 33425 type: string 33426 divisor: 33427 anyOf: 33428 - type: integer 33429 - type: string 33430 description: Specifies the 33431 output format of the exposed 33432 resources, defaults to 33433 "1" 33434 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 33435 x-kubernetes-int-or-string: true 33436 resource: 33437 description: 'Required: 33438 resource to select' 33439 type: string 33440 required: 33441 - resource 33442 type: object 33443 secretKeyRef: 33444 description: Selects a key of 33445 a secret in the pod's namespace 33446 properties: 33447 key: 33448 description: The key of 33449 the secret to select from. Must 33450 be a valid secret key. 33451 type: string 33452 name: 33453 description: 'Name of the 33454 referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 33455 TODO: Add other useful 33456 fields. apiVersion, kind, 33457 uid?' 33458 type: string 33459 optional: 33460 description: Specify whether 33461 the Secret or its key 33462 must be defined 33463 type: boolean 33464 required: 33465 - key 33466 type: object 33467 type: object 33468 required: 33469 - name 33470 type: object 33471 type: array 33472 x-kubernetes-list-type: atomic 33473 envFrom: 33474 description: List of sources to populate 33475 environment variables in the container. 33476 The keys defined within a source must 33477 be a C_IDENTIFIER. All invalid keys 33478 will be reported as an event when the 33479 container is starting. When a key exists 33480 in multiple sources, the value associated 33481 with the last source will take precedence. 33482 Values defined by an Env with a duplicate 33483 key will take precedence. Cannot be 33484 updated. 33485 items: 33486 description: EnvFromSource represents 33487 the source of a set of ConfigMaps 33488 properties: 33489 configMapRef: 33490 description: The ConfigMap to select 33491 from 33492 properties: 33493 name: 33494 description: 'Name of the referent. 33495 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 33496 TODO: Add other useful fields. 33497 apiVersion, kind, uid?' 33498 type: string 33499 optional: 33500 description: Specify whether 33501 the ConfigMap must be defined 33502 type: boolean 33503 type: object 33504 prefix: 33505 description: An optional identifier 33506 to prepend to each key in the 33507 ConfigMap. Must be a C_IDENTIFIER. 33508 type: string 33509 secretRef: 33510 description: The Secret to select 33511 from 33512 properties: 33513 name: 33514 description: 'Name of the referent. 33515 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 33516 TODO: Add other useful fields. 33517 apiVersion, kind, uid?' 33518 type: string 33519 optional: 33520 description: Specify whether 33521 the Secret must be defined 33522 type: boolean 33523 type: object 33524 type: object 33525 type: array 33526 x-kubernetes-list-type: atomic 33527 image: 33528 description: 'Image reference name to 33529 run for this Step. More info: https://kubernetes.io/docs/concepts/containers/images' 33530 type: string 33531 imagePullPolicy: 33532 description: 'Image pull policy. One of 33533 Always, Never, IfNotPresent. Defaults 33534 to Always if :latest tag is specified, 33535 or IfNotPresent otherwise. Cannot be 33536 updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images' 33537 type: string 33538 lifecycle: 33539 description: Deprecated. This field will 33540 be removed in a future release. Actions 33541 that the management system should take 33542 in response to container lifecycle events. 33543 Cannot be updated. 33544 properties: 33545 postStart: 33546 description: 'PostStart is called 33547 immediately after a container is 33548 created. If the handler fails, the 33549 container is terminated and restarted 33550 according to its restart policy. 33551 Other management of the container 33552 blocks until the hook completes. 33553 More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks' 33554 properties: 33555 exec: 33556 description: Exec specifies the 33557 action to take. 33558 properties: 33559 command: 33560 description: Command is the 33561 command line to execute 33562 inside the container, the 33563 working directory for the 33564 command is root ('/') in 33565 the container's filesystem. 33566 The command is simply exec'd, 33567 it is not run inside a shell, 33568 so traditional shell instructions 33569 ('|', etc) won't work. To 33570 use a shell, you need to 33571 explicitly call out to that 33572 shell. Exit status of 0 33573 is treated as live/healthy 33574 and non-zero is unhealthy. 33575 items: 33576 type: string 33577 type: array 33578 type: object 33579 httpGet: 33580 description: HTTPGet specifies 33581 the http request to perform. 33582 properties: 33583 host: 33584 description: Host name to 33585 connect to, defaults to 33586 the pod IP. You probably 33587 want to set "Host" in httpHeaders 33588 instead. 33589 type: string 33590 httpHeaders: 33591 description: Custom headers 33592 to set in the request. HTTP 33593 allows repeated headers. 33594 items: 33595 description: HTTPHeader 33596 describes a custom header 33597 to be used in HTTP probes 33598 properties: 33599 name: 33600 description: The header 33601 field name 33602 type: string 33603 value: 33604 description: The header 33605 field value 33606 type: string 33607 required: 33608 - name 33609 - value 33610 type: object 33611 type: array 33612 path: 33613 description: Path to access 33614 on the HTTP server. 33615 type: string 33616 port: 33617 anyOf: 33618 - type: integer 33619 - type: string 33620 description: Name or number 33621 of the port to access on 33622 the container. Number must 33623 be in the range 1 to 65535. 33624 Name must be an IANA_SVC_NAME. 33625 x-kubernetes-int-or-string: true 33626 scheme: 33627 description: Scheme to use 33628 for connecting to the host. 33629 Defaults to HTTP. 33630 type: string 33631 required: 33632 - port 33633 type: object 33634 tcpSocket: 33635 description: Deprecated. TCPSocket 33636 is NOT supported as a LifecycleHandler 33637 and kept for the backward compatibility. 33638 There are no validation of this 33639 field and lifecycle hooks will 33640 fail in runtime when tcp handler 33641 is specified. 33642 properties: 33643 host: 33644 description: 'Optional: Host 33645 name to connect to, defaults 33646 to the pod IP.' 33647 type: string 33648 port: 33649 anyOf: 33650 - type: integer 33651 - type: string 33652 description: Number or name 33653 of the port to access on 33654 the container. Number must 33655 be in the range 1 to 65535. 33656 Name must be an IANA_SVC_NAME. 33657 x-kubernetes-int-or-string: true 33658 required: 33659 - port 33660 type: object 33661 type: object 33662 preStop: 33663 description: 'PreStop is called immediately 33664 before a container is terminated 33665 due to an API request or management 33666 event such as liveness/startup probe 33667 failure, preemption, resource contention, 33668 etc. The handler is not called if 33669 the container crashes or exits. 33670 The Pod''s termination grace period 33671 countdown begins before the PreStop 33672 hook is executed. Regardless of 33673 the outcome of the handler, the 33674 container will eventually terminate 33675 within the Pod''s termination grace 33676 period (unless delayed by finalizers). 33677 Other management of the container 33678 blocks until the hook completes 33679 or until the termination grace period 33680 is reached. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks' 33681 properties: 33682 exec: 33683 description: Exec specifies the 33684 action to take. 33685 properties: 33686 command: 33687 description: Command is the 33688 command line to execute 33689 inside the container, the 33690 working directory for the 33691 command is root ('/') in 33692 the container's filesystem. 33693 The command is simply exec'd, 33694 it is not run inside a shell, 33695 so traditional shell instructions 33696 ('|', etc) won't work. To 33697 use a shell, you need to 33698 explicitly call out to that 33699 shell. Exit status of 0 33700 is treated as live/healthy 33701 and non-zero is unhealthy. 33702 items: 33703 type: string 33704 type: array 33705 type: object 33706 httpGet: 33707 description: HTTPGet specifies 33708 the http request to perform. 33709 properties: 33710 host: 33711 description: Host name to 33712 connect to, defaults to 33713 the pod IP. You probably 33714 want to set "Host" in httpHeaders 33715 instead. 33716 type: string 33717 httpHeaders: 33718 description: Custom headers 33719 to set in the request. HTTP 33720 allows repeated headers. 33721 items: 33722 description: HTTPHeader 33723 describes a custom header 33724 to be used in HTTP probes 33725 properties: 33726 name: 33727 description: The header 33728 field name 33729 type: string 33730 value: 33731 description: The header 33732 field value 33733 type: string 33734 required: 33735 - name 33736 - value 33737 type: object 33738 type: array 33739 path: 33740 description: Path to access 33741 on the HTTP server. 33742 type: string 33743 port: 33744 anyOf: 33745 - type: integer 33746 - type: string 33747 description: Name or number 33748 of the port to access on 33749 the container. Number must 33750 be in the range 1 to 65535. 33751 Name must be an IANA_SVC_NAME. 33752 x-kubernetes-int-or-string: true 33753 scheme: 33754 description: Scheme to use 33755 for connecting to the host. 33756 Defaults to HTTP. 33757 type: string 33758 required: 33759 - port 33760 type: object 33761 tcpSocket: 33762 description: Deprecated. TCPSocket 33763 is NOT supported as a LifecycleHandler 33764 and kept for the backward compatibility. 33765 There are no validation of this 33766 field and lifecycle hooks will 33767 fail in runtime when tcp handler 33768 is specified. 33769 properties: 33770 host: 33771 description: 'Optional: Host 33772 name to connect to, defaults 33773 to the pod IP.' 33774 type: string 33775 port: 33776 anyOf: 33777 - type: integer 33778 - type: string 33779 description: Number or name 33780 of the port to access on 33781 the container. Number must 33782 be in the range 1 to 65535. 33783 Name must be an IANA_SVC_NAME. 33784 x-kubernetes-int-or-string: true 33785 required: 33786 - port 33787 type: object 33788 type: object 33789 type: object 33790 livenessProbe: 33791 description: 'Deprecated. This field will 33792 be removed in a future release. Periodic 33793 probe of container liveness. Step will 33794 be restarted if the probe fails. Cannot 33795 be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 33796 properties: 33797 exec: 33798 description: Exec specifies the action 33799 to take. 33800 properties: 33801 command: 33802 description: Command is the command 33803 line to execute inside the container, 33804 the working directory for the 33805 command is root ('/') in the 33806 container's filesystem. The 33807 command is simply exec'd, it 33808 is not run inside a shell, so 33809 traditional shell instructions 33810 ('|', etc) won't work. To use 33811 a shell, you need to explicitly 33812 call out to that shell. Exit 33813 status of 0 is treated as live/healthy 33814 and non-zero is unhealthy. 33815 items: 33816 type: string 33817 type: array 33818 type: object 33819 failureThreshold: 33820 description: Minimum consecutive failures 33821 for the probe to be considered failed 33822 after having succeeded. Defaults 33823 to 3. Minimum value is 1. 33824 format: int32 33825 type: integer 33826 grpc: 33827 description: GRPC specifies an action 33828 involving a GRPC port. This is a 33829 beta field and requires enabling 33830 GRPCContainerProbe feature gate. 33831 properties: 33832 port: 33833 description: Port number of the 33834 gRPC service. Number must be 33835 in the range 1 to 65535. 33836 format: int32 33837 type: integer 33838 service: 33839 description: "Service is the name 33840 of the service to place in the 33841 gRPC HealthCheckRequest (see 33842 https://github.com/grpc/grpc/blob/master/doc/health-checking.md). 33843 \n If this is not specified, 33844 the default behavior is defined 33845 by gRPC." 33846 type: string 33847 required: 33848 - port 33849 type: object 33850 httpGet: 33851 description: HTTPGet specifies the 33852 http request to perform. 33853 properties: 33854 host: 33855 description: Host name to connect 33856 to, defaults to the pod IP. 33857 You probably want to set "Host" 33858 in httpHeaders instead. 33859 type: string 33860 httpHeaders: 33861 description: Custom headers to 33862 set in the request. HTTP allows 33863 repeated headers. 33864 items: 33865 description: HTTPHeader describes 33866 a custom header to be used 33867 in HTTP probes 33868 properties: 33869 name: 33870 description: The header 33871 field name 33872 type: string 33873 value: 33874 description: The header 33875 field value 33876 type: string 33877 required: 33878 - name 33879 - value 33880 type: object 33881 type: array 33882 path: 33883 description: Path to access on 33884 the HTTP server. 33885 type: string 33886 port: 33887 anyOf: 33888 - type: integer 33889 - type: string 33890 description: Name or number of 33891 the port to access on the container. 33892 Number must be in the range 33893 1 to 65535. Name must be an 33894 IANA_SVC_NAME. 33895 x-kubernetes-int-or-string: true 33896 scheme: 33897 description: Scheme to use for 33898 connecting to the host. Defaults 33899 to HTTP. 33900 type: string 33901 required: 33902 - port 33903 type: object 33904 initialDelaySeconds: 33905 description: 'Number of seconds after 33906 the container has started before 33907 liveness probes are initiated. More 33908 info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 33909 format: int32 33910 type: integer 33911 periodSeconds: 33912 description: How often (in seconds) 33913 to perform the probe. Default to 33914 10 seconds. Minimum value is 1. 33915 format: int32 33916 type: integer 33917 successThreshold: 33918 description: Minimum consecutive successes 33919 for the probe to be considered successful 33920 after having failed. Defaults to 33921 1. Must be 1 for liveness and startup. 33922 Minimum value is 1. 33923 format: int32 33924 type: integer 33925 tcpSocket: 33926 description: TCPSocket specifies an 33927 action involving a TCP port. 33928 properties: 33929 host: 33930 description: 'Optional: Host name 33931 to connect to, defaults to the 33932 pod IP.' 33933 type: string 33934 port: 33935 anyOf: 33936 - type: integer 33937 - type: string 33938 description: Number or name of 33939 the port to access on the container. 33940 Number must be in the range 33941 1 to 65535. Name must be an 33942 IANA_SVC_NAME. 33943 x-kubernetes-int-or-string: true 33944 required: 33945 - port 33946 type: object 33947 terminationGracePeriodSeconds: 33948 description: Optional duration in 33949 seconds the pod needs to terminate 33950 gracefully upon probe failure. The 33951 grace period is the duration in 33952 seconds after the processes running 33953 in the pod are sent a termination 33954 signal and the time when the processes 33955 are forcibly halted with a kill 33956 signal. Set this value longer than 33957 the expected cleanup time for your 33958 process. If this value is nil, the 33959 pod's terminationGracePeriodSeconds 33960 will be used. Otherwise, this value 33961 overrides the value provided by 33962 the pod spec. Value must be non-negative 33963 integer. The value zero indicates 33964 stop immediately via the kill signal 33965 (no opportunity to shut down). This 33966 is a beta field and requires enabling 33967 ProbeTerminationGracePeriod feature 33968 gate. Minimum value is 1. spec.terminationGracePeriodSeconds 33969 is used if unset. 33970 format: int64 33971 type: integer 33972 timeoutSeconds: 33973 description: 'Number of seconds after 33974 which the probe times out. Defaults 33975 to 1 second. Minimum value is 1. 33976 More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 33977 format: int32 33978 type: integer 33979 type: object 33980 name: 33981 description: Name of the Step specified 33982 as a DNS_LABEL. Each Step in a Task 33983 must have a unique name. 33984 type: string 33985 onError: 33986 description: OnError defines the exiting 33987 behavior of a container on error can 33988 be set to [ continue | stopAndFail ] 33989 type: string 33990 ports: 33991 description: Deprecated. This field will 33992 be removed in a future release. List 33993 of ports to expose from the Step's container. 33994 Exposing a port here gives the system 33995 additional information about the network 33996 connections a container uses, but is 33997 primarily informational. Not specifying 33998 a port here DOES NOT prevent that port 33999 from being exposed. Any port which is 34000 listening on the default "0.0.0.0" address 34001 inside a container will be accessible 34002 from the network. Cannot be updated. 34003 items: 34004 description: ContainerPort represents 34005 a network port in a single container. 34006 properties: 34007 containerPort: 34008 description: Number of port to expose 34009 on the pod's IP address. This 34010 must be a valid port number, 0 34011 < x < 65536. 34012 format: int32 34013 type: integer 34014 hostIP: 34015 description: What host IP to bind 34016 the external port to. 34017 type: string 34018 hostPort: 34019 description: Number of port to expose 34020 on the host. If specified, this 34021 must be a valid port number, 0 34022 < x < 65536. If HostNetwork is 34023 specified, this must match ContainerPort. 34024 Most containers do not need this. 34025 format: int32 34026 type: integer 34027 name: 34028 description: If specified, this 34029 must be an IANA_SVC_NAME and unique 34030 within the pod. Each named port 34031 in a pod must have a unique name. 34032 Name for the port that can be 34033 referred to by services. 34034 type: string 34035 protocol: 34036 default: TCP 34037 description: Protocol for port. 34038 Must be UDP, TCP, or SCTP. Defaults 34039 to "TCP". 34040 type: string 34041 required: 34042 - containerPort 34043 type: object 34044 type: array 34045 x-kubernetes-list-map-keys: 34046 - containerPort 34047 - protocol 34048 x-kubernetes-list-type: map 34049 readinessProbe: 34050 description: 'Deprecated. This field will 34051 be removed in a future release. Periodic 34052 probe of container service readiness. 34053 Step will be removed from service endpoints 34054 if the probe fails. Cannot be updated. 34055 More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 34056 properties: 34057 exec: 34058 description: Exec specifies the action 34059 to take. 34060 properties: 34061 command: 34062 description: Command is the command 34063 line to execute inside the container, 34064 the working directory for the 34065 command is root ('/') in the 34066 container's filesystem. The 34067 command is simply exec'd, it 34068 is not run inside a shell, so 34069 traditional shell instructions 34070 ('|', etc) won't work. To use 34071 a shell, you need to explicitly 34072 call out to that shell. Exit 34073 status of 0 is treated as live/healthy 34074 and non-zero is unhealthy. 34075 items: 34076 type: string 34077 type: array 34078 type: object 34079 failureThreshold: 34080 description: Minimum consecutive failures 34081 for the probe to be considered failed 34082 after having succeeded. Defaults 34083 to 3. Minimum value is 1. 34084 format: int32 34085 type: integer 34086 grpc: 34087 description: GRPC specifies an action 34088 involving a GRPC port. This is a 34089 beta field and requires enabling 34090 GRPCContainerProbe feature gate. 34091 properties: 34092 port: 34093 description: Port number of the 34094 gRPC service. Number must be 34095 in the range 1 to 65535. 34096 format: int32 34097 type: integer 34098 service: 34099 description: "Service is the name 34100 of the service to place in the 34101 gRPC HealthCheckRequest (see 34102 https://github.com/grpc/grpc/blob/master/doc/health-checking.md). 34103 \n If this is not specified, 34104 the default behavior is defined 34105 by gRPC." 34106 type: string 34107 required: 34108 - port 34109 type: object 34110 httpGet: 34111 description: HTTPGet specifies the 34112 http request to perform. 34113 properties: 34114 host: 34115 description: Host name to connect 34116 to, defaults to the pod IP. 34117 You probably want to set "Host" 34118 in httpHeaders instead. 34119 type: string 34120 httpHeaders: 34121 description: Custom headers to 34122 set in the request. HTTP allows 34123 repeated headers. 34124 items: 34125 description: HTTPHeader describes 34126 a custom header to be used 34127 in HTTP probes 34128 properties: 34129 name: 34130 description: The header 34131 field name 34132 type: string 34133 value: 34134 description: The header 34135 field value 34136 type: string 34137 required: 34138 - name 34139 - value 34140 type: object 34141 type: array 34142 path: 34143 description: Path to access on 34144 the HTTP server. 34145 type: string 34146 port: 34147 anyOf: 34148 - type: integer 34149 - type: string 34150 description: Name or number of 34151 the port to access on the container. 34152 Number must be in the range 34153 1 to 65535. Name must be an 34154 IANA_SVC_NAME. 34155 x-kubernetes-int-or-string: true 34156 scheme: 34157 description: Scheme to use for 34158 connecting to the host. Defaults 34159 to HTTP. 34160 type: string 34161 required: 34162 - port 34163 type: object 34164 initialDelaySeconds: 34165 description: 'Number of seconds after 34166 the container has started before 34167 liveness probes are initiated. More 34168 info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 34169 format: int32 34170 type: integer 34171 periodSeconds: 34172 description: How often (in seconds) 34173 to perform the probe. Default to 34174 10 seconds. Minimum value is 1. 34175 format: int32 34176 type: integer 34177 successThreshold: 34178 description: Minimum consecutive successes 34179 for the probe to be considered successful 34180 after having failed. Defaults to 34181 1. Must be 1 for liveness and startup. 34182 Minimum value is 1. 34183 format: int32 34184 type: integer 34185 tcpSocket: 34186 description: TCPSocket specifies an 34187 action involving a TCP port. 34188 properties: 34189 host: 34190 description: 'Optional: Host name 34191 to connect to, defaults to the 34192 pod IP.' 34193 type: string 34194 port: 34195 anyOf: 34196 - type: integer 34197 - type: string 34198 description: Number or name of 34199 the port to access on the container. 34200 Number must be in the range 34201 1 to 65535. Name must be an 34202 IANA_SVC_NAME. 34203 x-kubernetes-int-or-string: true 34204 required: 34205 - port 34206 type: object 34207 terminationGracePeriodSeconds: 34208 description: Optional duration in 34209 seconds the pod needs to terminate 34210 gracefully upon probe failure. The 34211 grace period is the duration in 34212 seconds after the processes running 34213 in the pod are sent a termination 34214 signal and the time when the processes 34215 are forcibly halted with a kill 34216 signal. Set this value longer than 34217 the expected cleanup time for your 34218 process. If this value is nil, the 34219 pod's terminationGracePeriodSeconds 34220 will be used. Otherwise, this value 34221 overrides the value provided by 34222 the pod spec. Value must be non-negative 34223 integer. The value zero indicates 34224 stop immediately via the kill signal 34225 (no opportunity to shut down). This 34226 is a beta field and requires enabling 34227 ProbeTerminationGracePeriod feature 34228 gate. Minimum value is 1. spec.terminationGracePeriodSeconds 34229 is used if unset. 34230 format: int64 34231 type: integer 34232 timeoutSeconds: 34233 description: 'Number of seconds after 34234 which the probe times out. Defaults 34235 to 1 second. Minimum value is 1. 34236 More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 34237 format: int32 34238 type: integer 34239 type: object 34240 resources: 34241 description: 'Compute Resources required 34242 by this Step. Cannot be updated. More 34243 info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' 34244 properties: 34245 limits: 34246 additionalProperties: 34247 anyOf: 34248 - type: integer 34249 - type: string 34250 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 34251 x-kubernetes-int-or-string: true 34252 description: 'Limits describes the 34253 maximum amount of compute resources 34254 allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' 34255 type: object 34256 requests: 34257 additionalProperties: 34258 anyOf: 34259 - type: integer 34260 - type: string 34261 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 34262 x-kubernetes-int-or-string: true 34263 description: 'Requests describes the 34264 minimum amount of compute resources 34265 required. If Requests is omitted 34266 for a container, it defaults to 34267 Limits if that is explicitly specified, 34268 otherwise to an implementation-defined 34269 value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' 34270 type: object 34271 type: object 34272 script: 34273 description: "Script is the contents of 34274 an executable file to execute. \n If 34275 Script is not empty, the Step cannot 34276 have an Command and the Args will be 34277 passed to the Script." 34278 type: string 34279 securityContext: 34280 description: 'SecurityContext defines 34281 the security options the Step should 34282 be run with. If set, the fields of SecurityContext 34283 override the equivalent fields of PodSecurityContext. 34284 More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/' 34285 properties: 34286 allowPrivilegeEscalation: 34287 description: 'AllowPrivilegeEscalation 34288 controls whether a process can gain 34289 more privileges than its parent 34290 process. This bool directly controls 34291 if the no_new_privs flag will be 34292 set on the container process. AllowPrivilegeEscalation 34293 is true always when the container 34294 is: 1) run as Privileged 2) has 34295 CAP_SYS_ADMIN Note that this field 34296 cannot be set when spec.os.name 34297 is windows.' 34298 type: boolean 34299 capabilities: 34300 description: The capabilities to add/drop 34301 when running containers. Defaults 34302 to the default set of capabilities 34303 granted by the container runtime. 34304 Note that this field cannot be set 34305 when spec.os.name is windows. 34306 properties: 34307 add: 34308 description: Added capabilities 34309 items: 34310 description: Capability represent 34311 POSIX capabilities type 34312 type: string 34313 type: array 34314 drop: 34315 description: Removed capabilities 34316 items: 34317 description: Capability represent 34318 POSIX capabilities type 34319 type: string 34320 type: array 34321 type: object 34322 privileged: 34323 description: Run container in privileged 34324 mode. Processes in privileged containers 34325 are essentially equivalent to root 34326 on the host. Defaults to false. 34327 Note that this field cannot be set 34328 when spec.os.name is windows. 34329 type: boolean 34330 procMount: 34331 description: procMount denotes the 34332 type of proc mount to use for the 34333 containers. The default is DefaultProcMount 34334 which uses the container runtime 34335 defaults for readonly paths and 34336 masked paths. This requires the 34337 ProcMountType feature flag to be 34338 enabled. Note that this field cannot 34339 be set when spec.os.name is windows. 34340 type: string 34341 readOnlyRootFilesystem: 34342 description: Whether this container 34343 has a read-only root filesystem. 34344 Default is false. Note that this 34345 field cannot be set when spec.os.name 34346 is windows. 34347 type: boolean 34348 runAsGroup: 34349 description: The GID to run the entrypoint 34350 of the container process. Uses runtime 34351 default if unset. May also be set 34352 in PodSecurityContext. If set in 34353 both SecurityContext and PodSecurityContext, 34354 the value specified in SecurityContext 34355 takes precedence. Note that this 34356 field cannot be set when spec.os.name 34357 is windows. 34358 format: int64 34359 type: integer 34360 runAsNonRoot: 34361 description: Indicates that the container 34362 must run as a non-root user. If 34363 true, the Kubelet will validate 34364 the image at runtime to ensure that 34365 it does not run as UID 0 (root) 34366 and fail to start the container 34367 if it does. If unset or false, no 34368 such validation will be performed. 34369 May also be set in PodSecurityContext. If 34370 set in both SecurityContext and 34371 PodSecurityContext, the value specified 34372 in SecurityContext takes precedence. 34373 type: boolean 34374 runAsUser: 34375 description: The UID to run the entrypoint 34376 of the container process. Defaults 34377 to user specified in image metadata 34378 if unspecified. May also be set 34379 in PodSecurityContext. If set in 34380 both SecurityContext and PodSecurityContext, 34381 the value specified in SecurityContext 34382 takes precedence. Note that this 34383 field cannot be set when spec.os.name 34384 is windows. 34385 format: int64 34386 type: integer 34387 seLinuxOptions: 34388 description: The SELinux context to 34389 be applied to the container. If 34390 unspecified, the container runtime 34391 will allocate a random SELinux context 34392 for each container. May also be 34393 set in PodSecurityContext. If set 34394 in both SecurityContext and PodSecurityContext, 34395 the value specified in SecurityContext 34396 takes precedence. Note that this 34397 field cannot be set when spec.os.name 34398 is windows. 34399 properties: 34400 level: 34401 description: Level is SELinux 34402 level label that applies to 34403 the container. 34404 type: string 34405 role: 34406 description: Role is a SELinux 34407 role label that applies to the 34408 container. 34409 type: string 34410 type: 34411 description: Type is a SELinux 34412 type label that applies to the 34413 container. 34414 type: string 34415 user: 34416 description: User is a SELinux 34417 user label that applies to the 34418 container. 34419 type: string 34420 type: object 34421 seccompProfile: 34422 description: The seccomp options to 34423 use by this container. If seccomp 34424 options are provided at both the 34425 pod & container level, the container 34426 options override the pod options. 34427 Note that this field cannot be set 34428 when spec.os.name is windows. 34429 properties: 34430 localhostProfile: 34431 description: localhostProfile 34432 indicates a profile defined 34433 in a file on the node should 34434 be used. The profile must be 34435 preconfigured on the node to 34436 work. Must be a descending path, 34437 relative to the kubelet's configured 34438 seccomp profile location. Must 34439 only be set if type is "Localhost". 34440 type: string 34441 type: 34442 description: "type indicates which 34443 kind of seccomp profile will 34444 be applied. Valid options are: 34445 \n Localhost - a profile defined 34446 in a file on the node should 34447 be used. RuntimeDefault - the 34448 container runtime default profile 34449 should be used. Unconfined - 34450 no profile should be applied." 34451 type: string 34452 required: 34453 - type 34454 type: object 34455 windowsOptions: 34456 description: The Windows specific 34457 settings applied to all containers. 34458 If unspecified, the options from 34459 the PodSecurityContext will be used. 34460 If set in both SecurityContext and 34461 PodSecurityContext, the value specified 34462 in SecurityContext takes precedence. 34463 Note that this field cannot be set 34464 when spec.os.name is linux. 34465 properties: 34466 gmsaCredentialSpec: 34467 description: GMSACredentialSpec 34468 is where the GMSA admission 34469 webhook (https://github.com/kubernetes-sigs/windows-gmsa) 34470 inlines the contents of the 34471 GMSA credential spec named by 34472 the GMSACredentialSpecName field. 34473 type: string 34474 gmsaCredentialSpecName: 34475 description: GMSACredentialSpecName 34476 is the name of the GMSA credential 34477 spec to use. 34478 type: string 34479 hostProcess: 34480 description: HostProcess determines 34481 if a container should be run 34482 as a 'Host Process' container. 34483 This field is alpha-level and 34484 will only be honored by components 34485 that enable the WindowsHostProcessContainers 34486 feature flag. Setting this field 34487 without the feature flag will 34488 result in errors when validating 34489 the Pod. All of a Pod's containers 34490 must have the same effective 34491 HostProcess value (it is not 34492 allowed to have a mix of HostProcess 34493 containers and non-HostProcess 34494 containers). In addition, if 34495 HostProcess is true then HostNetwork 34496 must also be set to true. 34497 type: boolean 34498 runAsUserName: 34499 description: The UserName in Windows 34500 to run the entrypoint of the 34501 container process. Defaults 34502 to the user specified in image 34503 metadata if unspecified. May 34504 also be set in PodSecurityContext. 34505 If set in both SecurityContext 34506 and PodSecurityContext, the 34507 value specified in SecurityContext 34508 takes precedence. 34509 type: string 34510 type: object 34511 type: object 34512 startupProbe: 34513 description: 'Deprecated. This field will 34514 be removed in a future release. DeprecatedStartupProbe 34515 indicates that the Pod this Step runs 34516 in has successfully initialized. If 34517 specified, no other probes are executed 34518 until this completes successfully. If 34519 this probe fails, the Pod will be restarted, 34520 just as if the livenessProbe failed. 34521 This can be used to provide different 34522 probe parameters at the beginning of 34523 a Pod''s lifecycle, when it might take 34524 a long time to load data or warm a cache, 34525 than during steady-state operation. 34526 This cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 34527 properties: 34528 exec: 34529 description: Exec specifies the action 34530 to take. 34531 properties: 34532 command: 34533 description: Command is the command 34534 line to execute inside the container, 34535 the working directory for the 34536 command is root ('/') in the 34537 container's filesystem. The 34538 command is simply exec'd, it 34539 is not run inside a shell, so 34540 traditional shell instructions 34541 ('|', etc) won't work. To use 34542 a shell, you need to explicitly 34543 call out to that shell. Exit 34544 status of 0 is treated as live/healthy 34545 and non-zero is unhealthy. 34546 items: 34547 type: string 34548 type: array 34549 type: object 34550 failureThreshold: 34551 description: Minimum consecutive failures 34552 for the probe to be considered failed 34553 after having succeeded. Defaults 34554 to 3. Minimum value is 1. 34555 format: int32 34556 type: integer 34557 grpc: 34558 description: GRPC specifies an action 34559 involving a GRPC port. This is a 34560 beta field and requires enabling 34561 GRPCContainerProbe feature gate. 34562 properties: 34563 port: 34564 description: Port number of the 34565 gRPC service. Number must be 34566 in the range 1 to 65535. 34567 format: int32 34568 type: integer 34569 service: 34570 description: "Service is the name 34571 of the service to place in the 34572 gRPC HealthCheckRequest (see 34573 https://github.com/grpc/grpc/blob/master/doc/health-checking.md). 34574 \n If this is not specified, 34575 the default behavior is defined 34576 by gRPC." 34577 type: string 34578 required: 34579 - port 34580 type: object 34581 httpGet: 34582 description: HTTPGet specifies the 34583 http request to perform. 34584 properties: 34585 host: 34586 description: Host name to connect 34587 to, defaults to the pod IP. 34588 You probably want to set "Host" 34589 in httpHeaders instead. 34590 type: string 34591 httpHeaders: 34592 description: Custom headers to 34593 set in the request. HTTP allows 34594 repeated headers. 34595 items: 34596 description: HTTPHeader describes 34597 a custom header to be used 34598 in HTTP probes 34599 properties: 34600 name: 34601 description: The header 34602 field name 34603 type: string 34604 value: 34605 description: The header 34606 field value 34607 type: string 34608 required: 34609 - name 34610 - value 34611 type: object 34612 type: array 34613 path: 34614 description: Path to access on 34615 the HTTP server. 34616 type: string 34617 port: 34618 anyOf: 34619 - type: integer 34620 - type: string 34621 description: Name or number of 34622 the port to access on the container. 34623 Number must be in the range 34624 1 to 65535. Name must be an 34625 IANA_SVC_NAME. 34626 x-kubernetes-int-or-string: true 34627 scheme: 34628 description: Scheme to use for 34629 connecting to the host. Defaults 34630 to HTTP. 34631 type: string 34632 required: 34633 - port 34634 type: object 34635 initialDelaySeconds: 34636 description: 'Number of seconds after 34637 the container has started before 34638 liveness probes are initiated. More 34639 info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 34640 format: int32 34641 type: integer 34642 periodSeconds: 34643 description: How often (in seconds) 34644 to perform the probe. Default to 34645 10 seconds. Minimum value is 1. 34646 format: int32 34647 type: integer 34648 successThreshold: 34649 description: Minimum consecutive successes 34650 for the probe to be considered successful 34651 after having failed. Defaults to 34652 1. Must be 1 for liveness and startup. 34653 Minimum value is 1. 34654 format: int32 34655 type: integer 34656 tcpSocket: 34657 description: TCPSocket specifies an 34658 action involving a TCP port. 34659 properties: 34660 host: 34661 description: 'Optional: Host name 34662 to connect to, defaults to the 34663 pod IP.' 34664 type: string 34665 port: 34666 anyOf: 34667 - type: integer 34668 - type: string 34669 description: Number or name of 34670 the port to access on the container. 34671 Number must be in the range 34672 1 to 65535. Name must be an 34673 IANA_SVC_NAME. 34674 x-kubernetes-int-or-string: true 34675 required: 34676 - port 34677 type: object 34678 terminationGracePeriodSeconds: 34679 description: Optional duration in 34680 seconds the pod needs to terminate 34681 gracefully upon probe failure. The 34682 grace period is the duration in 34683 seconds after the processes running 34684 in the pod are sent a termination 34685 signal and the time when the processes 34686 are forcibly halted with a kill 34687 signal. Set this value longer than 34688 the expected cleanup time for your 34689 process. If this value is nil, the 34690 pod's terminationGracePeriodSeconds 34691 will be used. Otherwise, this value 34692 overrides the value provided by 34693 the pod spec. Value must be non-negative 34694 integer. The value zero indicates 34695 stop immediately via the kill signal 34696 (no opportunity to shut down). This 34697 is a beta field and requires enabling 34698 ProbeTerminationGracePeriod feature 34699 gate. Minimum value is 1. spec.terminationGracePeriodSeconds 34700 is used if unset. 34701 format: int64 34702 type: integer 34703 timeoutSeconds: 34704 description: 'Number of seconds after 34705 which the probe times out. Defaults 34706 to 1 second. Minimum value is 1. 34707 More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 34708 format: int32 34709 type: integer 34710 type: object 34711 stderrConfig: 34712 description: Stores configuration for 34713 the stderr stream of the step. 34714 properties: 34715 path: 34716 description: Path to duplicate stdout 34717 stream to on container's local filesystem. 34718 type: string 34719 type: object 34720 stdin: 34721 description: Deprecated. This field will 34722 be removed in a future release. Whether 34723 this container should allocate a buffer 34724 for stdin in the container runtime. 34725 If this is not set, reads from stdin 34726 in the container will always result 34727 in EOF. Default is false. 34728 type: boolean 34729 stdinOnce: 34730 description: Deprecated. This field will 34731 be removed in a future release. Whether 34732 the container runtime should close the 34733 stdin channel after it has been opened 34734 by a single attach. When stdin is true 34735 the stdin stream will remain open across 34736 multiple attach sessions. If stdinOnce 34737 is set to true, stdin is opened on container 34738 start, is empty until the first client 34739 attaches to stdin, and then remains 34740 open and accepts data until the client 34741 disconnects, at which time stdin is 34742 closed and remains closed until the 34743 container is restarted. If this flag 34744 is false, a container processes that 34745 reads from stdin will never receive 34746 an EOF. Default is false 34747 type: boolean 34748 stdoutConfig: 34749 description: Stores configuration for 34750 the stdout stream of the step. 34751 properties: 34752 path: 34753 description: Path to duplicate stdout 34754 stream to on container's local filesystem. 34755 type: string 34756 type: object 34757 terminationMessagePath: 34758 description: Deprecated. This field will 34759 be removed in a future release and can't 34760 be meaningfully used. 34761 type: string 34762 terminationMessagePolicy: 34763 description: Deprecated. This field will 34764 be removed in a future release and can't 34765 be meaningfully used. 34766 type: string 34767 timeout: 34768 description: 'Timeout is the time after 34769 which the step times out. Defaults to 34770 never. Refer to Go''s ParseDuration 34771 documentation for expected format: https://golang.org/pkg/time/#ParseDuration' 34772 type: string 34773 tty: 34774 description: Deprecated. This field will 34775 be removed in a future release. Whether 34776 this container should allocate a DeprecatedTTY 34777 for itself, also requires 'stdin' to 34778 be true. Default is false. 34779 type: boolean 34780 volumeDevices: 34781 description: volumeDevices is the list 34782 of block devices to be used by the Step. 34783 items: 34784 description: volumeDevice describes 34785 a mapping of a raw block device within 34786 a container. 34787 properties: 34788 devicePath: 34789 description: devicePath is the path 34790 inside of the container that the 34791 device will be mapped to. 34792 type: string 34793 name: 34794 description: name must match the 34795 name of a persistentVolumeClaim 34796 in the pod 34797 type: string 34798 required: 34799 - devicePath 34800 - name 34801 type: object 34802 type: array 34803 x-kubernetes-list-type: atomic 34804 volumeMounts: 34805 description: Volumes to mount into the 34806 Step's filesystem. Cannot be updated. 34807 items: 34808 description: VolumeMount describes a 34809 mounting of a Volume within a container. 34810 properties: 34811 mountPath: 34812 description: Path within the container 34813 at which the volume should be 34814 mounted. Must not contain ':'. 34815 type: string 34816 mountPropagation: 34817 description: mountPropagation determines 34818 how mounts are propagated from 34819 the host to container and the 34820 other way around. When not set, 34821 MountPropagationNone is used. 34822 This field is beta in 1.10. 34823 type: string 34824 name: 34825 description: This must match the 34826 Name of a Volume. 34827 type: string 34828 readOnly: 34829 description: Mounted read-only if 34830 true, read-write otherwise (false 34831 or unspecified). Defaults to false. 34832 type: boolean 34833 subPath: 34834 description: Path within the volume 34835 from which the container's volume 34836 should be mounted. Defaults to 34837 "" (volume's root). 34838 type: string 34839 subPathExpr: 34840 description: Expanded path within 34841 the volume from which the container's 34842 volume should be mounted. Behaves 34843 similarly to SubPath but environment 34844 variable references $(VAR_NAME) 34845 are expanded using the container's 34846 environment. Defaults to "" (volume's 34847 root). SubPathExpr and SubPath 34848 are mutually exclusive. 34849 type: string 34850 required: 34851 - mountPath 34852 - name 34853 type: object 34854 type: array 34855 x-kubernetes-list-type: atomic 34856 workingDir: 34857 description: Step's working directory. 34858 If not specified, the container runtime's 34859 default will be used, which might be 34860 configured in the container image. Cannot 34861 be updated. 34862 type: string 34863 workspaces: 34864 description: "This is an alpha field. 34865 You must set the \"enable-api-fields\" 34866 feature flag to \"alpha\" for this field 34867 to be supported. \n Workspaces is a 34868 list of workspaces from the Task that 34869 this Step wants exclusive access to. 34870 Adding a workspace to this list means 34871 that any other Step or Sidecar that 34872 does not also request this Workspace 34873 will not have access to it." 34874 items: 34875 description: WorkspaceUsage is used 34876 by a Step or Sidecar to declare that 34877 it wants isolated access to a Workspace 34878 defined in a Task. 34879 properties: 34880 mountPath: 34881 description: MountPath is the path 34882 that the workspace should be mounted 34883 to inside the Step or Sidecar, 34884 overriding any MountPath specified 34885 in the Task's WorkspaceDeclaration. 34886 type: string 34887 name: 34888 description: Name is the name of 34889 the workspace this Step or Sidecar 34890 wants access to. 34891 type: string 34892 required: 34893 - mountPath 34894 - name 34895 type: object 34896 type: array 34897 x-kubernetes-list-type: atomic 34898 required: 34899 - name 34900 type: object 34901 type: array 34902 x-kubernetes-list-type: atomic 34903 volumes: 34904 description: Volumes is a collection of volumes 34905 that are available to mount into the steps 34906 of the build. 34907 items: 34908 description: Volume represents a named volume 34909 in a pod that may be accessed by any container 34910 in the pod. 34911 properties: 34912 awsElasticBlockStore: 34913 description: 'awsElasticBlockStore represents 34914 an AWS Disk resource that is attached 34915 to a kubelet''s host machine and then 34916 exposed to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore' 34917 properties: 34918 fsType: 34919 description: 'fsType is the filesystem 34920 type of the volume that you want 34921 to mount. Tip: Ensure that the filesystem 34922 type is supported by the host operating 34923 system. Examples: "ext4", "xfs", 34924 "ntfs". Implicitly inferred to be 34925 "ext4" if unspecified. More info: 34926 https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore 34927 TODO: how do we prevent errors in 34928 the filesystem from compromising 34929 the machine' 34930 type: string 34931 partition: 34932 description: 'partition is the partition 34933 in the volume that you want to mount. 34934 If omitted, the default is to mount 34935 by volume name. Examples: For volume 34936 /dev/sda1, you specify the partition 34937 as "1". Similarly, the volume partition 34938 for /dev/sda is "0" (or you can 34939 leave the property empty).' 34940 format: int32 34941 type: integer 34942 readOnly: 34943 description: 'readOnly value true 34944 will force the readOnly setting 34945 in VolumeMounts. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore' 34946 type: boolean 34947 volumeID: 34948 description: 'volumeID is unique ID 34949 of the persistent disk resource 34950 in AWS (Amazon EBS volume). More 34951 info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore' 34952 type: string 34953 required: 34954 - volumeID 34955 type: object 34956 azureDisk: 34957 description: azureDisk represents an Azure 34958 Data Disk mount on the host and bind 34959 mount to the pod. 34960 properties: 34961 cachingMode: 34962 description: 'cachingMode is the Host 34963 Caching mode: None, Read Only, Read 34964 Write.' 34965 type: string 34966 diskName: 34967 description: diskName is the Name 34968 of the data disk in the blob storage 34969 type: string 34970 diskURI: 34971 description: diskURI is the URI of 34972 data disk in the blob storage 34973 type: string 34974 fsType: 34975 description: fsType is Filesystem 34976 type to mount. Must be a filesystem 34977 type supported by the host operating 34978 system. Ex. "ext4", "xfs", "ntfs". 34979 Implicitly inferred to be "ext4" 34980 if unspecified. 34981 type: string 34982 kind: 34983 description: 'kind expected values 34984 are Shared: multiple blob disks 34985 per storage account Dedicated: 34986 single blob disk per storage account Managed: 34987 azure managed data disk (only in 34988 managed availability set). defaults 34989 to shared' 34990 type: string 34991 readOnly: 34992 description: readOnly Defaults to 34993 false (read/write). ReadOnly here 34994 will force the ReadOnly setting 34995 in VolumeMounts. 34996 type: boolean 34997 required: 34998 - diskName 34999 - diskURI 35000 type: object 35001 azureFile: 35002 description: azureFile represents an Azure 35003 File Service mount on the host and bind 35004 mount to the pod. 35005 properties: 35006 readOnly: 35007 description: readOnly defaults to 35008 false (read/write). ReadOnly here 35009 will force the ReadOnly setting 35010 in VolumeMounts. 35011 type: boolean 35012 secretName: 35013 description: secretName is the name 35014 of secret that contains Azure Storage 35015 Account Name and Key 35016 type: string 35017 shareName: 35018 description: shareName is the azure 35019 share Name 35020 type: string 35021 required: 35022 - secretName 35023 - shareName 35024 type: object 35025 cephfs: 35026 description: cephFS represents a Ceph 35027 FS mount on the host that shares a pod's 35028 lifetime 35029 properties: 35030 monitors: 35031 description: 'monitors is Required: 35032 Monitors is a collection of Ceph 35033 monitors More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it' 35034 items: 35035 type: string 35036 type: array 35037 path: 35038 description: 'path is Optional: Used 35039 as the mounted root, rather than 35040 the full Ceph tree, default is /' 35041 type: string 35042 readOnly: 35043 description: 'readOnly is Optional: 35044 Defaults to false (read/write). 35045 ReadOnly here will force the ReadOnly 35046 setting in VolumeMounts. More info: 35047 https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it' 35048 type: boolean 35049 secretFile: 35050 description: 'secretFile is Optional: 35051 SecretFile is the path to key ring 35052 for User, default is /etc/ceph/user.secret 35053 More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it' 35054 type: string 35055 secretRef: 35056 description: 'secretRef is Optional: 35057 SecretRef is reference to the authentication 35058 secret for User, default is empty. 35059 More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it' 35060 properties: 35061 name: 35062 description: 'Name of the referent. 35063 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 35064 TODO: Add other useful fields. 35065 apiVersion, kind, uid?' 35066 type: string 35067 type: object 35068 user: 35069 description: 'user is optional: User 35070 is the rados user name, default 35071 is admin More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it' 35072 type: string 35073 required: 35074 - monitors 35075 type: object 35076 cinder: 35077 description: 'cinder represents a cinder 35078 volume attached and mounted on kubelets 35079 host machine. More info: https://examples.k8s.io/mysql-cinder-pd/README.md' 35080 properties: 35081 fsType: 35082 description: 'fsType is the filesystem 35083 type to mount. Must be a filesystem 35084 type supported by the host operating 35085 system. Examples: "ext4", "xfs", 35086 "ntfs". Implicitly inferred to be 35087 "ext4" if unspecified. More info: 35088 https://examples.k8s.io/mysql-cinder-pd/README.md' 35089 type: string 35090 readOnly: 35091 description: 'readOnly defaults to 35092 false (read/write). ReadOnly here 35093 will force the ReadOnly setting 35094 in VolumeMounts. More info: https://examples.k8s.io/mysql-cinder-pd/README.md' 35095 type: boolean 35096 secretRef: 35097 description: 'secretRef is optional: 35098 points to a secret object containing 35099 parameters used to connect to OpenStack.' 35100 properties: 35101 name: 35102 description: 'Name of the referent. 35103 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 35104 TODO: Add other useful fields. 35105 apiVersion, kind, uid?' 35106 type: string 35107 type: object 35108 volumeID: 35109 description: 'volumeID used to identify 35110 the volume in cinder. More info: 35111 https://examples.k8s.io/mysql-cinder-pd/README.md' 35112 type: string 35113 required: 35114 - volumeID 35115 type: object 35116 configMap: 35117 description: configMap represents a configMap 35118 that should populate this volume 35119 properties: 35120 defaultMode: 35121 description: 'defaultMode is optional: 35122 mode bits used to set permissions 35123 on created files by default. Must 35124 be an octal value between 0000 and 35125 0777 or a decimal value between 35126 0 and 511. YAML accepts both octal 35127 and decimal values, JSON requires 35128 decimal values for mode bits. Defaults 35129 to 0644. Directories within the 35130 path are not affected by this setting. 35131 This might be in conflict with other 35132 options that affect the file mode, 35133 like fsGroup, and the result can 35134 be other mode bits set.' 35135 format: int32 35136 type: integer 35137 items: 35138 description: items if unspecified, 35139 each key-value pair in the Data 35140 field of the referenced ConfigMap 35141 will be projected into the volume 35142 as a file whose name is the key 35143 and content is the value. If specified, 35144 the listed keys will be projected 35145 into the specified paths, and unlisted 35146 keys will not be present. If a key 35147 is specified which is not present 35148 in the ConfigMap, the volume setup 35149 will error unless it is marked optional. 35150 Paths must be relative and may not 35151 contain the '..' path or start with 35152 '..'. 35153 items: 35154 description: Maps a string key to 35155 a path within a volume. 35156 properties: 35157 key: 35158 description: key is the key 35159 to project. 35160 type: string 35161 mode: 35162 description: 'mode is Optional: 35163 mode bits used to set permissions 35164 on this file. Must be an octal 35165 value between 0000 and 0777 35166 or a decimal value between 35167 0 and 511. YAML accepts both 35168 octal and decimal values, 35169 JSON requires decimal values 35170 for mode bits. If not specified, 35171 the volume defaultMode will 35172 be used. This might be in 35173 conflict with other options 35174 that affect the file mode, 35175 like fsGroup, and the result 35176 can be other mode bits set.' 35177 format: int32 35178 type: integer 35179 path: 35180 description: path is the relative 35181 path of the file to map the 35182 key to. May not be an absolute 35183 path. May not contain the 35184 path element '..'. May not 35185 start with the string '..'. 35186 type: string 35187 required: 35188 - key 35189 - path 35190 type: object 35191 type: array 35192 name: 35193 description: 'Name of the referent. 35194 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 35195 TODO: Add other useful fields. apiVersion, 35196 kind, uid?' 35197 type: string 35198 optional: 35199 description: optional specify whether 35200 the ConfigMap or its keys must be 35201 defined 35202 type: boolean 35203 type: object 35204 csi: 35205 description: csi (Container Storage Interface) 35206 represents ephemeral storage that is 35207 handled by certain external CSI drivers 35208 (Beta feature). 35209 properties: 35210 driver: 35211 description: driver is the name of 35212 the CSI driver that handles this 35213 volume. Consult with your admin 35214 for the correct name as registered 35215 in the cluster. 35216 type: string 35217 fsType: 35218 description: fsType to mount. Ex. 35219 "ext4", "xfs", "ntfs". If not provided, 35220 the empty value is passed to the 35221 associated CSI driver which will 35222 determine the default filesystem 35223 to apply. 35224 type: string 35225 nodePublishSecretRef: 35226 description: nodePublishSecretRef 35227 is a reference to the secret object 35228 containing sensitive information 35229 to pass to the CSI driver to complete 35230 the CSI NodePublishVolume and NodeUnpublishVolume 35231 calls. This field is optional, and may 35232 be empty if no secret is required. 35233 If the secret object contains more 35234 than one secret, all secret references 35235 are passed. 35236 properties: 35237 name: 35238 description: 'Name of the referent. 35239 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 35240 TODO: Add other useful fields. 35241 apiVersion, kind, uid?' 35242 type: string 35243 type: object 35244 readOnly: 35245 description: readOnly specifies a 35246 read-only configuration for the 35247 volume. Defaults to false (read/write). 35248 type: boolean 35249 volumeAttributes: 35250 additionalProperties: 35251 type: string 35252 description: volumeAttributes stores 35253 driver-specific properties that 35254 are passed to the CSI driver. Consult 35255 your driver's documentation for 35256 supported values. 35257 type: object 35258 required: 35259 - driver 35260 type: object 35261 downwardAPI: 35262 description: downwardAPI represents downward 35263 API about the pod that should populate 35264 this volume 35265 properties: 35266 defaultMode: 35267 description: 'Optional: mode bits 35268 to use on created files by default. 35269 Must be a Optional: mode bits used 35270 to set permissions on created files 35271 by default. Must be an octal value 35272 between 0000 and 0777 or a decimal 35273 value between 0 and 511. YAML accepts 35274 both octal and decimal values, JSON 35275 requires decimal values for mode 35276 bits. Defaults to 0644. Directories 35277 within the path are not affected 35278 by this setting. This might be in 35279 conflict with other options that 35280 affect the file mode, like fsGroup, 35281 and the result can be other mode 35282 bits set.' 35283 format: int32 35284 type: integer 35285 items: 35286 description: Items is a list of downward 35287 API volume file 35288 items: 35289 description: DownwardAPIVolumeFile 35290 represents information to create 35291 the file containing the pod field 35292 properties: 35293 fieldRef: 35294 description: 'Required: Selects 35295 a field of the pod: only annotations, 35296 labels, name and namespace 35297 are supported.' 35298 properties: 35299 apiVersion: 35300 description: Version of 35301 the schema the FieldPath 35302 is written in terms of, 35303 defaults to "v1". 35304 type: string 35305 fieldPath: 35306 description: Path of the 35307 field to select in the 35308 specified API version. 35309 type: string 35310 required: 35311 - fieldPath 35312 type: object 35313 mode: 35314 description: 'Optional: mode 35315 bits used to set permissions 35316 on this file, must be an octal 35317 value between 0000 and 0777 35318 or a decimal value between 35319 0 and 511. YAML accepts both 35320 octal and decimal values, 35321 JSON requires decimal values 35322 for mode bits. If not specified, 35323 the volume defaultMode will 35324 be used. This might be in 35325 conflict with other options 35326 that affect the file mode, 35327 like fsGroup, and the result 35328 can be other mode bits set.' 35329 format: int32 35330 type: integer 35331 path: 35332 description: 'Required: Path 35333 is the relative path name 35334 of the file to be created. 35335 Must not be absolute or contain 35336 the ''..'' path. Must be utf-8 35337 encoded. The first item of 35338 the relative path must not 35339 start with ''..''' 35340 type: string 35341 resourceFieldRef: 35342 description: 'Selects a resource 35343 of the container: only resources 35344 limits and requests (limits.cpu, 35345 limits.memory, requests.cpu 35346 and requests.memory) are currently 35347 supported.' 35348 properties: 35349 containerName: 35350 description: 'Container 35351 name: required for volumes, 35352 optional for env vars' 35353 type: string 35354 divisor: 35355 anyOf: 35356 - type: integer 35357 - type: string 35358 description: Specifies the 35359 output format of the exposed 35360 resources, defaults to 35361 "1" 35362 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 35363 x-kubernetes-int-or-string: true 35364 resource: 35365 description: 'Required: 35366 resource to select' 35367 type: string 35368 required: 35369 - resource 35370 type: object 35371 required: 35372 - path 35373 type: object 35374 type: array 35375 type: object 35376 emptyDir: 35377 description: 'emptyDir represents a temporary 35378 directory that shares a pod''s lifetime. 35379 More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir' 35380 properties: 35381 medium: 35382 description: 'medium represents what 35383 type of storage medium should back 35384 this directory. The default is "" 35385 which means to use the node''s default 35386 medium. Must be an empty string 35387 (default) or Memory. More info: 35388 https://kubernetes.io/docs/concepts/storage/volumes#emptydir' 35389 type: string 35390 sizeLimit: 35391 anyOf: 35392 - type: integer 35393 - type: string 35394 description: 'sizeLimit is the total 35395 amount of local storage required 35396 for this EmptyDir volume. The size 35397 limit is also applicable for memory 35398 medium. The maximum usage on memory 35399 medium EmptyDir would be the minimum 35400 value between the SizeLimit specified 35401 here and the sum of memory limits 35402 of all containers in a pod. The 35403 default is nil which means that 35404 the limit is undefined. More info: 35405 http://kubernetes.io/docs/user-guide/volumes#emptydir' 35406 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 35407 x-kubernetes-int-or-string: true 35408 type: object 35409 ephemeral: 35410 description: "ephemeral represents a volume 35411 that is handled by a cluster storage 35412 driver. The volume's lifecycle is tied 35413 to the pod that defines it - it will 35414 be created before the pod starts, and 35415 deleted when the pod is removed. \n 35416 Use this if: a) the volume is only needed 35417 while the pod runs, b) features of normal 35418 volumes like restoring from snapshot 35419 or capacity tracking are needed, 35420 c) the storage driver is specified through 35421 a storage class, and d) the storage 35422 driver supports dynamic volume provisioning 35423 through a PersistentVolumeClaim (see 35424 EphemeralVolumeSource for more information 35425 on the connection between this volume 35426 type and PersistentVolumeClaim). 35427 \n Use PersistentVolumeClaim or one 35428 of the vendor-specific APIs for volumes 35429 that persist for longer than the lifecycle 35430 of an individual pod. \n Use CSI for 35431 light-weight local ephemeral volumes 35432 if the CSI driver is meant to be used 35433 that way - see the documentation of 35434 the driver for more information. \n 35435 A pod can use both types of ephemeral 35436 volumes and persistent volumes at the 35437 same time." 35438 properties: 35439 volumeClaimTemplate: 35440 description: "Will be used to create 35441 a stand-alone PVC to provision the 35442 volume. The pod in which this EphemeralVolumeSource 35443 is embedded will be the owner of 35444 the PVC, i.e. the PVC will be deleted 35445 together with the pod. The name 35446 of the PVC will be `<pod name>-<volume 35447 name>` where `<volume name>` is 35448 the name from the `PodSpec.Volumes` 35449 array entry. Pod validation will 35450 reject the pod if the concatenated 35451 name is not valid for a PVC (for 35452 example, too long). \n An existing 35453 PVC with that name that is not owned 35454 by the pod will *not* be used for 35455 the pod to avoid using an unrelated 35456 volume by mistake. Starting the 35457 pod is then blocked until the unrelated 35458 PVC is removed. If such a pre-created 35459 PVC is meant to be used by the pod, 35460 the PVC has to updated with an owner 35461 reference to the pod once the pod 35462 exists. Normally this should not 35463 be necessary, but it may be useful 35464 when manually reconstructing a broken 35465 cluster. \n This field is read-only 35466 and no changes will be made by Kubernetes 35467 to the PVC after it has been created. 35468 \n Required, must not be nil." 35469 properties: 35470 metadata: 35471 description: May contain labels 35472 and annotations that will be 35473 copied into the PVC when creating 35474 it. No other fields are allowed 35475 and will be rejected during 35476 validation. 35477 type: object 35478 spec: 35479 description: The specification 35480 for the PersistentVolumeClaim. 35481 The entire content is copied 35482 unchanged into the PVC that 35483 gets created from this template. 35484 The same fields as in a PersistentVolumeClaim 35485 are also valid here. 35486 properties: 35487 accessModes: 35488 description: 'accessModes 35489 contains the desired access 35490 modes the volume should 35491 have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1' 35492 items: 35493 type: string 35494 type: array 35495 dataSource: 35496 description: 'dataSource field 35497 can be used to specify either: 35498 * An existing VolumeSnapshot 35499 object (snapshot.storage.k8s.io/VolumeSnapshot) 35500 * An existing PVC (PersistentVolumeClaim) 35501 If the provisioner or an 35502 external controller can 35503 support the specified data 35504 source, it will create a 35505 new volume based on the 35506 contents of the specified 35507 data source. If the AnyVolumeDataSource 35508 feature gate is enabled, 35509 this field will always have 35510 the same contents as the 35511 DataSourceRef field.' 35512 properties: 35513 apiGroup: 35514 description: APIGroup 35515 is the group for the 35516 resource being referenced. 35517 If APIGroup is not specified, 35518 the specified Kind must 35519 be in the core API group. 35520 For any other third-party 35521 types, APIGroup is required. 35522 type: string 35523 kind: 35524 description: Kind is the 35525 type of resource being 35526 referenced 35527 type: string 35528 name: 35529 description: Name is the 35530 name of resource being 35531 referenced 35532 type: string 35533 required: 35534 - kind 35535 - name 35536 type: object 35537 dataSourceRef: 35538 description: 'dataSourceRef 35539 specifies the object from 35540 which to populate the volume 35541 with data, if a non-empty 35542 volume is desired. This 35543 may be any local object 35544 from a non-empty API group 35545 (non core object) or a PersistentVolumeClaim 35546 object. When this field 35547 is specified, volume binding 35548 will only succeed if the 35549 type of the specified object 35550 matches some installed volume 35551 populator or dynamic provisioner. 35552 This field will replace 35553 the functionality of the 35554 DataSource field and as 35555 such if both fields are 35556 non-empty, they must have 35557 the same value. For backwards 35558 compatibility, both fields 35559 (DataSource and DataSourceRef) 35560 will be set to the same 35561 value automatically if one 35562 of them is empty and the 35563 other is non-empty. There 35564 are two important differences 35565 between DataSource and DataSourceRef: 35566 * While DataSource only 35567 allows two specific types 35568 of objects, DataSourceRef allows 35569 any non-core object, as 35570 well as PersistentVolumeClaim 35571 objects. * While DataSource 35572 ignores disallowed values 35573 (dropping them), DataSourceRef preserves 35574 all values, and generates 35575 an error if a disallowed 35576 value is specified. (Beta) 35577 Using this field requires 35578 the AnyVolumeDataSource 35579 feature gate to be enabled.' 35580 properties: 35581 apiGroup: 35582 description: APIGroup 35583 is the group for the 35584 resource being referenced. 35585 If APIGroup is not specified, 35586 the specified Kind must 35587 be in the core API group. 35588 For any other third-party 35589 types, APIGroup is required. 35590 type: string 35591 kind: 35592 description: Kind is the 35593 type of resource being 35594 referenced 35595 type: string 35596 name: 35597 description: Name is the 35598 name of resource being 35599 referenced 35600 type: string 35601 required: 35602 - kind 35603 - name 35604 type: object 35605 resources: 35606 description: 'resources represents 35607 the minimum resources the 35608 volume should have. If RecoverVolumeExpansionFailure 35609 feature is enabled users 35610 are allowed to specify resource 35611 requirements that are lower 35612 than previous value but 35613 must still be higher than 35614 capacity recorded in the 35615 status field of the claim. 35616 More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources' 35617 properties: 35618 limits: 35619 additionalProperties: 35620 anyOf: 35621 - type: integer 35622 - type: string 35623 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 35624 x-kubernetes-int-or-string: true 35625 description: 'Limits describes 35626 the maximum amount of 35627 compute resources allowed. 35628 More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' 35629 type: object 35630 requests: 35631 additionalProperties: 35632 anyOf: 35633 - type: integer 35634 - type: string 35635 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 35636 x-kubernetes-int-or-string: true 35637 description: 'Requests 35638 describes the minimum 35639 amount of compute resources 35640 required. If Requests 35641 is omitted for a container, 35642 it defaults to Limits 35643 if that is explicitly 35644 specified, otherwise 35645 to an implementation-defined 35646 value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' 35647 type: object 35648 type: object 35649 selector: 35650 description: selector is a 35651 label query over volumes 35652 to consider for binding. 35653 properties: 35654 matchExpressions: 35655 description: matchExpressions 35656 is a list of label selector 35657 requirements. The requirements 35658 are ANDed. 35659 items: 35660 description: A label 35661 selector requirement 35662 is a selector that 35663 contains values, a 35664 key, and an operator 35665 that relates the key 35666 and values. 35667 properties: 35668 key: 35669 description: key 35670 is the label key 35671 that the selector 35672 applies to. 35673 type: string 35674 operator: 35675 description: operator 35676 represents a key's 35677 relationship to 35678 a set of values. 35679 Valid operators 35680 are In, NotIn, 35681 Exists and DoesNotExist. 35682 type: string 35683 values: 35684 description: values 35685 is an array of 35686 string values. 35687 If the operator 35688 is In or NotIn, 35689 the values array 35690 must be non-empty. 35691 If the operator 35692 is Exists or DoesNotExist, 35693 the values array 35694 must be empty. 35695 This array is 35696 replaced during 35697 a strategic merge 35698 patch. 35699 items: 35700 type: string 35701 type: array 35702 required: 35703 - key 35704 - operator 35705 type: object 35706 type: array 35707 matchLabels: 35708 additionalProperties: 35709 type: string 35710 description: matchLabels 35711 is a map of {key,value} 35712 pairs. A single {key,value} 35713 in the matchLabels map 35714 is equivalent to an 35715 element of matchExpressions, 35716 whose key field is "key", 35717 the operator is "In", 35718 and the values array 35719 contains only "value". 35720 The requirements are 35721 ANDed. 35722 type: object 35723 type: object 35724 storageClassName: 35725 description: 'storageClassName 35726 is the name of the StorageClass 35727 required by the claim. More 35728 info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1' 35729 type: string 35730 volumeMode: 35731 description: volumeMode defines 35732 what type of volume is required 35733 by the claim. Value of Filesystem 35734 is implied when not included 35735 in claim spec. 35736 type: string 35737 volumeName: 35738 description: volumeName is 35739 the binding reference to 35740 the PersistentVolume backing 35741 this claim. 35742 type: string 35743 type: object 35744 required: 35745 - spec 35746 type: object 35747 type: object 35748 fc: 35749 description: fc represents a Fibre Channel 35750 resource that is attached to a kubelet's 35751 host machine and then exposed to the 35752 pod. 35753 properties: 35754 fsType: 35755 description: 'fsType is the filesystem 35756 type to mount. Must be a filesystem 35757 type supported by the host operating 35758 system. Ex. "ext4", "xfs", "ntfs". 35759 Implicitly inferred to be "ext4" 35760 if unspecified. TODO: how do we 35761 prevent errors in the filesystem 35762 from compromising the machine' 35763 type: string 35764 lun: 35765 description: 'lun is Optional: FC 35766 target lun number' 35767 format: int32 35768 type: integer 35769 readOnly: 35770 description: 'readOnly is Optional: 35771 Defaults to false (read/write). 35772 ReadOnly here will force the ReadOnly 35773 setting in VolumeMounts.' 35774 type: boolean 35775 targetWWNs: 35776 description: 'targetWWNs is Optional: 35777 FC target worldwide names (WWNs)' 35778 items: 35779 type: string 35780 type: array 35781 wwids: 35782 description: 'wwids Optional: FC volume 35783 world wide identifiers (wwids) Either 35784 wwids or combination of targetWWNs 35785 and lun must be set, but not both 35786 simultaneously.' 35787 items: 35788 type: string 35789 type: array 35790 type: object 35791 flexVolume: 35792 description: flexVolume represents a generic 35793 volume resource that is provisioned/attached 35794 using an exec based plugin. 35795 properties: 35796 driver: 35797 description: driver is the name of 35798 the driver to use for this volume. 35799 type: string 35800 fsType: 35801 description: fsType is the filesystem 35802 type to mount. Must be a filesystem 35803 type supported by the host operating 35804 system. Ex. "ext4", "xfs", "ntfs". 35805 The default filesystem depends on 35806 FlexVolume script. 35807 type: string 35808 options: 35809 additionalProperties: 35810 type: string 35811 description: 'options is Optional: 35812 this field holds extra command options 35813 if any.' 35814 type: object 35815 readOnly: 35816 description: 'readOnly is Optional: 35817 defaults to false (read/write). 35818 ReadOnly here will force the ReadOnly 35819 setting in VolumeMounts.' 35820 type: boolean 35821 secretRef: 35822 description: 'secretRef is Optional: 35823 secretRef is reference to the secret 35824 object containing sensitive information 35825 to pass to the plugin scripts. This 35826 may be empty if no secret object 35827 is specified. If the secret object 35828 contains more than one secret, all 35829 secrets are passed to the plugin 35830 scripts.' 35831 properties: 35832 name: 35833 description: 'Name of the referent. 35834 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 35835 TODO: Add other useful fields. 35836 apiVersion, kind, uid?' 35837 type: string 35838 type: object 35839 required: 35840 - driver 35841 type: object 35842 flocker: 35843 description: flocker represents a Flocker 35844 volume attached to a kubelet's host 35845 machine. This depends on the Flocker 35846 control service being running 35847 properties: 35848 datasetName: 35849 description: datasetName is Name of 35850 the dataset stored as metadata -> 35851 name on the dataset for Flocker 35852 should be considered as deprecated 35853 type: string 35854 datasetUUID: 35855 description: datasetUUID is the UUID 35856 of the dataset. This is unique identifier 35857 of a Flocker dataset 35858 type: string 35859 type: object 35860 gcePersistentDisk: 35861 description: 'gcePersistentDisk represents 35862 a GCE Disk resource that is attached 35863 to a kubelet''s host machine and then 35864 exposed to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk' 35865 properties: 35866 fsType: 35867 description: 'fsType is filesystem 35868 type of the volume that you want 35869 to mount. Tip: Ensure that the filesystem 35870 type is supported by the host operating 35871 system. Examples: "ext4", "xfs", 35872 "ntfs". Implicitly inferred to be 35873 "ext4" if unspecified. More info: 35874 https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk 35875 TODO: how do we prevent errors in 35876 the filesystem from compromising 35877 the machine' 35878 type: string 35879 partition: 35880 description: 'partition is the partition 35881 in the volume that you want to mount. 35882 If omitted, the default is to mount 35883 by volume name. Examples: For volume 35884 /dev/sda1, you specify the partition 35885 as "1". Similarly, the volume partition 35886 for /dev/sda is "0" (or you can 35887 leave the property empty). More 35888 info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk' 35889 format: int32 35890 type: integer 35891 pdName: 35892 description: 'pdName is unique name 35893 of the PD resource in GCE. Used 35894 to identify the disk in GCE. More 35895 info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk' 35896 type: string 35897 readOnly: 35898 description: 'readOnly here will force 35899 the ReadOnly setting in VolumeMounts. 35900 Defaults to false. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk' 35901 type: boolean 35902 required: 35903 - pdName 35904 type: object 35905 gitRepo: 35906 description: 'gitRepo represents a git 35907 repository at a particular revision. 35908 DEPRECATED: GitRepo is deprecated. To 35909 provision a container with a git repo, 35910 mount an EmptyDir into an InitContainer 35911 that clones the repo using git, then 35912 mount the EmptyDir into the Pod''s container.' 35913 properties: 35914 directory: 35915 description: directory is the target 35916 directory name. Must not contain 35917 or start with '..'. If '.' is supplied, 35918 the volume directory will be the 35919 git repository. Otherwise, if specified, 35920 the volume will contain the git 35921 repository in the subdirectory with 35922 the given name. 35923 type: string 35924 repository: 35925 description: repository is the URL 35926 type: string 35927 revision: 35928 description: revision is the commit 35929 hash for the specified revision. 35930 type: string 35931 required: 35932 - repository 35933 type: object 35934 glusterfs: 35935 description: 'glusterfs represents a Glusterfs 35936 mount on the host that shares a pod''s 35937 lifetime. More info: https://examples.k8s.io/volumes/glusterfs/README.md' 35938 properties: 35939 endpoints: 35940 description: 'endpoints is the endpoint 35941 name that details Glusterfs topology. 35942 More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod' 35943 type: string 35944 path: 35945 description: 'path is the Glusterfs 35946 volume path. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod' 35947 type: string 35948 readOnly: 35949 description: 'readOnly here will force 35950 the Glusterfs volume to be mounted 35951 with read-only permissions. Defaults 35952 to false. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod' 35953 type: boolean 35954 required: 35955 - endpoints 35956 - path 35957 type: object 35958 hostPath: 35959 description: 'hostPath represents a pre-existing 35960 file or directory on the host machine 35961 that is directly exposed to the container. 35962 This is generally used for system agents 35963 or other privileged things that are 35964 allowed to see the host machine. Most 35965 containers will NOT need this. More 35966 info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath 35967 --- TODO(jonesdl) We need to restrict 35968 who can use host directory mounts and 35969 who can/can not mount host directories 35970 as read/write.' 35971 properties: 35972 path: 35973 description: 'path of the directory 35974 on the host. If the path is a symlink, 35975 it will follow the link to the real 35976 path. More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath' 35977 type: string 35978 type: 35979 description: 'type for HostPath Volume 35980 Defaults to "" More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath' 35981 type: string 35982 required: 35983 - path 35984 type: object 35985 iscsi: 35986 description: 'iscsi represents an ISCSI 35987 Disk resource that is attached to a 35988 kubelet''s host machine and then exposed 35989 to the pod. More info: https://examples.k8s.io/volumes/iscsi/README.md' 35990 properties: 35991 chapAuthDiscovery: 35992 description: chapAuthDiscovery defines 35993 whether support iSCSI Discovery 35994 CHAP authentication 35995 type: boolean 35996 chapAuthSession: 35997 description: chapAuthSession defines 35998 whether support iSCSI Session CHAP 35999 authentication 36000 type: boolean 36001 fsType: 36002 description: 'fsType is the filesystem 36003 type of the volume that you want 36004 to mount. Tip: Ensure that the filesystem 36005 type is supported by the host operating 36006 system. Examples: "ext4", "xfs", 36007 "ntfs". Implicitly inferred to be 36008 "ext4" if unspecified. More info: 36009 https://kubernetes.io/docs/concepts/storage/volumes#iscsi 36010 TODO: how do we prevent errors in 36011 the filesystem from compromising 36012 the machine' 36013 type: string 36014 initiatorName: 36015 description: initiatorName is the 36016 custom iSCSI Initiator Name. If 36017 initiatorName is specified with 36018 iscsiInterface simultaneously, new 36019 iSCSI interface <target portal>:<volume 36020 name> will be created for the connection. 36021 type: string 36022 iqn: 36023 description: iqn is the target iSCSI 36024 Qualified Name. 36025 type: string 36026 iscsiInterface: 36027 description: iscsiInterface is the 36028 interface Name that uses an iSCSI 36029 transport. Defaults to 'default' 36030 (tcp). 36031 type: string 36032 lun: 36033 description: lun represents iSCSI 36034 Target Lun number. 36035 format: int32 36036 type: integer 36037 portals: 36038 description: portals is the iSCSI 36039 Target Portal List. The portal is 36040 either an IP or ip_addr:port if 36041 the port is other than default (typically 36042 TCP ports 860 and 3260). 36043 items: 36044 type: string 36045 type: array 36046 readOnly: 36047 description: readOnly here will force 36048 the ReadOnly setting in VolumeMounts. 36049 Defaults to false. 36050 type: boolean 36051 secretRef: 36052 description: secretRef is the CHAP 36053 Secret for iSCSI target and initiator 36054 authentication 36055 properties: 36056 name: 36057 description: 'Name of the referent. 36058 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 36059 TODO: Add other useful fields. 36060 apiVersion, kind, uid?' 36061 type: string 36062 type: object 36063 targetPortal: 36064 description: targetPortal is iSCSI 36065 Target Portal. The Portal is either 36066 an IP or ip_addr:port if the port 36067 is other than default (typically 36068 TCP ports 860 and 3260). 36069 type: string 36070 required: 36071 - iqn 36072 - lun 36073 - targetPortal 36074 type: object 36075 name: 36076 description: 'name of the volume. Must 36077 be a DNS_LABEL and unique within the 36078 pod. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' 36079 type: string 36080 nfs: 36081 description: 'nfs represents an NFS mount 36082 on the host that shares a pod''s lifetime 36083 More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs' 36084 properties: 36085 path: 36086 description: 'path that is exported 36087 by the NFS server. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs' 36088 type: string 36089 readOnly: 36090 description: 'readOnly here will force 36091 the NFS export to be mounted with 36092 read-only permissions. Defaults 36093 to false. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs' 36094 type: boolean 36095 server: 36096 description: 'server is the hostname 36097 or IP address of the NFS server. 36098 More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs' 36099 type: string 36100 required: 36101 - path 36102 - server 36103 type: object 36104 persistentVolumeClaim: 36105 description: 'persistentVolumeClaimVolumeSource 36106 represents a reference to a PersistentVolumeClaim 36107 in the same namespace. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims' 36108 properties: 36109 claimName: 36110 description: 'claimName is the name 36111 of a PersistentVolumeClaim in the 36112 same namespace as the pod using 36113 this volume. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims' 36114 type: string 36115 readOnly: 36116 description: readOnly Will force the 36117 ReadOnly setting in VolumeMounts. 36118 Default false. 36119 type: boolean 36120 required: 36121 - claimName 36122 type: object 36123 photonPersistentDisk: 36124 description: photonPersistentDisk represents 36125 a PhotonController persistent disk attached 36126 and mounted on kubelets host machine 36127 properties: 36128 fsType: 36129 description: fsType is the filesystem 36130 type to mount. Must be a filesystem 36131 type supported by the host operating 36132 system. Ex. "ext4", "xfs", "ntfs". 36133 Implicitly inferred to be "ext4" 36134 if unspecified. 36135 type: string 36136 pdID: 36137 description: pdID is the ID that identifies 36138 Photon Controller persistent disk 36139 type: string 36140 required: 36141 - pdID 36142 type: object 36143 portworxVolume: 36144 description: portworxVolume represents 36145 a portworx volume attached and mounted 36146 on kubelets host machine 36147 properties: 36148 fsType: 36149 description: fSType represents the 36150 filesystem type to mount Must be 36151 a filesystem type supported by the 36152 host operating system. Ex. "ext4", 36153 "xfs". Implicitly inferred to be 36154 "ext4" if unspecified. 36155 type: string 36156 readOnly: 36157 description: readOnly defaults to 36158 false (read/write). ReadOnly here 36159 will force the ReadOnly setting 36160 in VolumeMounts. 36161 type: boolean 36162 volumeID: 36163 description: volumeID uniquely identifies 36164 a Portworx volume 36165 type: string 36166 required: 36167 - volumeID 36168 type: object 36169 projected: 36170 description: projected items for all in 36171 one resources secrets, configmaps, and 36172 downward API 36173 properties: 36174 defaultMode: 36175 description: defaultMode are the mode 36176 bits used to set permissions on 36177 created files by default. Must be 36178 an octal value between 0000 and 36179 0777 or a decimal value between 36180 0 and 511. YAML accepts both octal 36181 and decimal values, JSON requires 36182 decimal values for mode bits. Directories 36183 within the path are not affected 36184 by this setting. This might be in 36185 conflict with other options that 36186 affect the file mode, like fsGroup, 36187 and the result can be other mode 36188 bits set. 36189 format: int32 36190 type: integer 36191 sources: 36192 description: sources is the list of 36193 volume projections 36194 items: 36195 description: Projection that may 36196 be projected along with other 36197 supported volume types 36198 properties: 36199 configMap: 36200 description: configMap information 36201 about the configMap data to 36202 project 36203 properties: 36204 items: 36205 description: items if unspecified, 36206 each key-value pair in 36207 the Data field of the 36208 referenced ConfigMap will 36209 be projected into the 36210 volume as a file whose 36211 name is the key and content 36212 is the value. If specified, 36213 the listed keys will be 36214 projected into the specified 36215 paths, and unlisted keys 36216 will not be present. If 36217 a key is specified which 36218 is not present in the 36219 ConfigMap, the volume 36220 setup will error unless 36221 it is marked optional. 36222 Paths must be relative 36223 and may not contain the 36224 '..' path or start with 36225 '..'. 36226 items: 36227 description: Maps a string 36228 key to a path within 36229 a volume. 36230 properties: 36231 key: 36232 description: key is 36233 the key to project. 36234 type: string 36235 mode: 36236 description: 'mode 36237 is Optional: mode 36238 bits used to set 36239 permissions on this 36240 file. Must be an 36241 octal value between 36242 0000 and 0777 or 36243 a decimal value 36244 between 0 and 511. 36245 YAML accepts both 36246 octal and decimal 36247 values, JSON requires 36248 decimal values for 36249 mode bits. If not 36250 specified, the volume 36251 defaultMode will 36252 be used. This might 36253 be in conflict with 36254 other options that 36255 affect the file 36256 mode, like fsGroup, 36257 and the result can 36258 be other mode bits 36259 set.' 36260 format: int32 36261 type: integer 36262 path: 36263 description: path 36264 is the relative 36265 path of the file 36266 to map the key to. 36267 May not be an absolute 36268 path. May not contain 36269 the path element 36270 '..'. May not start 36271 with the string 36272 '..'. 36273 type: string 36274 required: 36275 - key 36276 - path 36277 type: object 36278 type: array 36279 name: 36280 description: 'Name of the 36281 referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 36282 TODO: Add other useful 36283 fields. apiVersion, kind, 36284 uid?' 36285 type: string 36286 optional: 36287 description: optional specify 36288 whether the ConfigMap 36289 or its keys must be defined 36290 type: boolean 36291 type: object 36292 downwardAPI: 36293 description: downwardAPI information 36294 about the downwardAPI data 36295 to project 36296 properties: 36297 items: 36298 description: Items is a 36299 list of DownwardAPIVolume 36300 file 36301 items: 36302 description: DownwardAPIVolumeFile 36303 represents information 36304 to create the file containing 36305 the pod field 36306 properties: 36307 fieldRef: 36308 description: 'Required: 36309 Selects a field 36310 of the pod: only 36311 annotations, labels, 36312 name and namespace 36313 are supported.' 36314 properties: 36315 apiVersion: 36316 description: Version 36317 of the schema 36318 the FieldPath 36319 is written in 36320 terms of, defaults 36321 to "v1". 36322 type: string 36323 fieldPath: 36324 description: Path 36325 of the field 36326 to select in 36327 the specified 36328 API version. 36329 type: string 36330 required: 36331 - fieldPath 36332 type: object 36333 mode: 36334 description: 'Optional: 36335 mode bits used to 36336 set permissions 36337 on this file, must 36338 be an octal value 36339 between 0000 and 36340 0777 or a decimal 36341 value between 0 36342 and 511. YAML accepts 36343 both octal and decimal 36344 values, JSON requires 36345 decimal values for 36346 mode bits. If not 36347 specified, the volume 36348 defaultMode will 36349 be used. This might 36350 be in conflict with 36351 other options that 36352 affect the file 36353 mode, like fsGroup, 36354 and the result can 36355 be other mode bits 36356 set.' 36357 format: int32 36358 type: integer 36359 path: 36360 description: 'Required: 36361 Path is the relative 36362 path name of the 36363 file to be created. 36364 Must not be absolute 36365 or contain the ''..'' 36366 path. Must be utf-8 36367 encoded. The first 36368 item of the relative 36369 path must not start 36370 with ''..''' 36371 type: string 36372 resourceFieldRef: 36373 description: 'Selects 36374 a resource of the 36375 container: only 36376 resources limits 36377 and requests (limits.cpu, 36378 limits.memory, requests.cpu 36379 and requests.memory) 36380 are currently supported.' 36381 properties: 36382 containerName: 36383 description: 'Container 36384 name: required 36385 for volumes, 36386 optional for 36387 env vars' 36388 type: string 36389 divisor: 36390 anyOf: 36391 - type: integer 36392 - type: string 36393 description: Specifies 36394 the output format 36395 of the exposed 36396 resources, defaults 36397 to "1" 36398 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 36399 x-kubernetes-int-or-string: true 36400 resource: 36401 description: 'Required: 36402 resource to 36403 select' 36404 type: string 36405 required: 36406 - resource 36407 type: object 36408 required: 36409 - path 36410 type: object 36411 type: array 36412 type: object 36413 secret: 36414 description: secret information 36415 about the secret data to project 36416 properties: 36417 items: 36418 description: items if unspecified, 36419 each key-value pair in 36420 the Data field of the 36421 referenced Secret will 36422 be projected into the 36423 volume as a file whose 36424 name is the key and content 36425 is the value. If specified, 36426 the listed keys will be 36427 projected into the specified 36428 paths, and unlisted keys 36429 will not be present. If 36430 a key is specified which 36431 is not present in the 36432 Secret, the volume setup 36433 will error unless it is 36434 marked optional. Paths 36435 must be relative and may 36436 not contain the '..' path 36437 or start with '..'. 36438 items: 36439 description: Maps a string 36440 key to a path within 36441 a volume. 36442 properties: 36443 key: 36444 description: key is 36445 the key to project. 36446 type: string 36447 mode: 36448 description: 'mode 36449 is Optional: mode 36450 bits used to set 36451 permissions on this 36452 file. Must be an 36453 octal value between 36454 0000 and 0777 or 36455 a decimal value 36456 between 0 and 511. 36457 YAML accepts both 36458 octal and decimal 36459 values, JSON requires 36460 decimal values for 36461 mode bits. If not 36462 specified, the volume 36463 defaultMode will 36464 be used. This might 36465 be in conflict with 36466 other options that 36467 affect the file 36468 mode, like fsGroup, 36469 and the result can 36470 be other mode bits 36471 set.' 36472 format: int32 36473 type: integer 36474 path: 36475 description: path 36476 is the relative 36477 path of the file 36478 to map the key to. 36479 May not be an absolute 36480 path. May not contain 36481 the path element 36482 '..'. May not start 36483 with the string 36484 '..'. 36485 type: string 36486 required: 36487 - key 36488 - path 36489 type: object 36490 type: array 36491 name: 36492 description: 'Name of the 36493 referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 36494 TODO: Add other useful 36495 fields. apiVersion, kind, 36496 uid?' 36497 type: string 36498 optional: 36499 description: optional field 36500 specify whether the Secret 36501 or its key must be defined 36502 type: boolean 36503 type: object 36504 serviceAccountToken: 36505 description: serviceAccountToken 36506 is information about the serviceAccountToken 36507 data to project 36508 properties: 36509 audience: 36510 description: audience is 36511 the intended audience 36512 of the token. A recipient 36513 of a token must identify 36514 itself with an identifier 36515 specified in the audience 36516 of the token, and otherwise 36517 should reject the token. 36518 The audience defaults 36519 to the identifier of the 36520 apiserver. 36521 type: string 36522 expirationSeconds: 36523 description: expirationSeconds 36524 is the requested duration 36525 of validity of the service 36526 account token. As the 36527 token approaches expiration, 36528 the kubelet volume plugin 36529 will proactively rotate 36530 the service account token. 36531 The kubelet will start 36532 trying to rotate the token 36533 if the token is older 36534 than 80 percent of its 36535 time to live or if the 36536 token is older than 24 36537 hours.Defaults to 1 hour 36538 and must be at least 10 36539 minutes. 36540 format: int64 36541 type: integer 36542 path: 36543 description: path is the 36544 path relative to the mount 36545 point of the file to project 36546 the token into. 36547 type: string 36548 required: 36549 - path 36550 type: object 36551 type: object 36552 type: array 36553 type: object 36554 quobyte: 36555 description: quobyte represents a Quobyte 36556 mount on the host that shares a pod's 36557 lifetime 36558 properties: 36559 group: 36560 description: group to map volume access 36561 to Default is no group 36562 type: string 36563 readOnly: 36564 description: readOnly here will force 36565 the Quobyte volume to be mounted 36566 with read-only permissions. Defaults 36567 to false. 36568 type: boolean 36569 registry: 36570 description: registry represents a 36571 single or multiple Quobyte Registry 36572 services specified as a string as 36573 host:port pair (multiple entries 36574 are separated with commas) which 36575 acts as the central registry for 36576 volumes 36577 type: string 36578 tenant: 36579 description: tenant owning the given 36580 Quobyte volume in the Backend Used 36581 with dynamically provisioned Quobyte 36582 volumes, value is set by the plugin 36583 type: string 36584 user: 36585 description: user to map volume access 36586 to Defaults to serivceaccount user 36587 type: string 36588 volume: 36589 description: volume is a string that 36590 references an already created Quobyte 36591 volume by name. 36592 type: string 36593 required: 36594 - registry 36595 - volume 36596 type: object 36597 rbd: 36598 description: 'rbd represents a Rados Block 36599 Device mount on the host that shares 36600 a pod''s lifetime. More info: https://examples.k8s.io/volumes/rbd/README.md' 36601 properties: 36602 fsType: 36603 description: 'fsType is the filesystem 36604 type of the volume that you want 36605 to mount. Tip: Ensure that the filesystem 36606 type is supported by the host operating 36607 system. Examples: "ext4", "xfs", 36608 "ntfs". Implicitly inferred to be 36609 "ext4" if unspecified. More info: 36610 https://kubernetes.io/docs/concepts/storage/volumes#rbd 36611 TODO: how do we prevent errors in 36612 the filesystem from compromising 36613 the machine' 36614 type: string 36615 image: 36616 description: 'image is the rados image 36617 name. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it' 36618 type: string 36619 keyring: 36620 description: 'keyring is the path 36621 to key ring for RBDUser. Default 36622 is /etc/ceph/keyring. More info: 36623 https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it' 36624 type: string 36625 monitors: 36626 description: 'monitors is a collection 36627 of Ceph monitors. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it' 36628 items: 36629 type: string 36630 type: array 36631 pool: 36632 description: 'pool is the rados pool 36633 name. Default is rbd. More info: 36634 https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it' 36635 type: string 36636 readOnly: 36637 description: 'readOnly here will force 36638 the ReadOnly setting in VolumeMounts. 36639 Defaults to false. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it' 36640 type: boolean 36641 secretRef: 36642 description: 'secretRef is name of 36643 the authentication secret for RBDUser. 36644 If provided overrides keyring. Default 36645 is nil. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it' 36646 properties: 36647 name: 36648 description: 'Name of the referent. 36649 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 36650 TODO: Add other useful fields. 36651 apiVersion, kind, uid?' 36652 type: string 36653 type: object 36654 user: 36655 description: 'user is the rados user 36656 name. Default is admin. More info: 36657 https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it' 36658 type: string 36659 required: 36660 - image 36661 - monitors 36662 type: object 36663 scaleIO: 36664 description: scaleIO represents a ScaleIO 36665 persistent volume attached and mounted 36666 on Kubernetes nodes. 36667 properties: 36668 fsType: 36669 description: fsType is the filesystem 36670 type to mount. Must be a filesystem 36671 type supported by the host operating 36672 system. Ex. "ext4", "xfs", "ntfs". 36673 Default is "xfs". 36674 type: string 36675 gateway: 36676 description: gateway is the host address 36677 of the ScaleIO API Gateway. 36678 type: string 36679 protectionDomain: 36680 description: protectionDomain is the 36681 name of the ScaleIO Protection Domain 36682 for the configured storage. 36683 type: string 36684 readOnly: 36685 description: readOnly Defaults to 36686 false (read/write). ReadOnly here 36687 will force the ReadOnly setting 36688 in VolumeMounts. 36689 type: boolean 36690 secretRef: 36691 description: secretRef references 36692 to the secret for ScaleIO user and 36693 other sensitive information. If 36694 this is not provided, Login operation 36695 will fail. 36696 properties: 36697 name: 36698 description: 'Name of the referent. 36699 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 36700 TODO: Add other useful fields. 36701 apiVersion, kind, uid?' 36702 type: string 36703 type: object 36704 sslEnabled: 36705 description: sslEnabled Flag enable/disable 36706 SSL communication with Gateway, 36707 default false 36708 type: boolean 36709 storageMode: 36710 description: storageMode indicates 36711 whether the storage for a volume 36712 should be ThickProvisioned or ThinProvisioned. 36713 Default is ThinProvisioned. 36714 type: string 36715 storagePool: 36716 description: storagePool is the ScaleIO 36717 Storage Pool associated with the 36718 protection domain. 36719 type: string 36720 system: 36721 description: system is the name of 36722 the storage system as configured 36723 in ScaleIO. 36724 type: string 36725 volumeName: 36726 description: volumeName is the name 36727 of a volume already created in the 36728 ScaleIO system that is associated 36729 with this volume source. 36730 type: string 36731 required: 36732 - gateway 36733 - secretRef 36734 - system 36735 type: object 36736 secret: 36737 description: 'secret represents a secret 36738 that should populate this volume. More 36739 info: https://kubernetes.io/docs/concepts/storage/volumes#secret' 36740 properties: 36741 defaultMode: 36742 description: 'defaultMode is Optional: 36743 mode bits used to set permissions 36744 on created files by default. Must 36745 be an octal value between 0000 and 36746 0777 or a decimal value between 36747 0 and 511. YAML accepts both octal 36748 and decimal values, JSON requires 36749 decimal values for mode bits. Defaults 36750 to 0644. Directories within the 36751 path are not affected by this setting. 36752 This might be in conflict with other 36753 options that affect the file mode, 36754 like fsGroup, and the result can 36755 be other mode bits set.' 36756 format: int32 36757 type: integer 36758 items: 36759 description: items If unspecified, 36760 each key-value pair in the Data 36761 field of the referenced Secret will 36762 be projected into the volume as 36763 a file whose name is the key and 36764 content is the value. If specified, 36765 the listed keys will be projected 36766 into the specified paths, and unlisted 36767 keys will not be present. If a key 36768 is specified which is not present 36769 in the Secret, the volume setup 36770 will error unless it is marked optional. 36771 Paths must be relative and may not 36772 contain the '..' path or start with 36773 '..'. 36774 items: 36775 description: Maps a string key to 36776 a path within a volume. 36777 properties: 36778 key: 36779 description: key is the key 36780 to project. 36781 type: string 36782 mode: 36783 description: 'mode is Optional: 36784 mode bits used to set permissions 36785 on this file. Must be an octal 36786 value between 0000 and 0777 36787 or a decimal value between 36788 0 and 511. YAML accepts both 36789 octal and decimal values, 36790 JSON requires decimal values 36791 for mode bits. If not specified, 36792 the volume defaultMode will 36793 be used. This might be in 36794 conflict with other options 36795 that affect the file mode, 36796 like fsGroup, and the result 36797 can be other mode bits set.' 36798 format: int32 36799 type: integer 36800 path: 36801 description: path is the relative 36802 path of the file to map the 36803 key to. May not be an absolute 36804 path. May not contain the 36805 path element '..'. May not 36806 start with the string '..'. 36807 type: string 36808 required: 36809 - key 36810 - path 36811 type: object 36812 type: array 36813 optional: 36814 description: optional field specify 36815 whether the Secret or its keys must 36816 be defined 36817 type: boolean 36818 secretName: 36819 description: 'secretName is the name 36820 of the secret in the pod''s namespace 36821 to use. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret' 36822 type: string 36823 type: object 36824 storageos: 36825 description: storageOS represents a StorageOS 36826 volume attached and mounted on Kubernetes 36827 nodes. 36828 properties: 36829 fsType: 36830 description: fsType is the filesystem 36831 type to mount. Must be a filesystem 36832 type supported by the host operating 36833 system. Ex. "ext4", "xfs", "ntfs". 36834 Implicitly inferred to be "ext4" 36835 if unspecified. 36836 type: string 36837 readOnly: 36838 description: readOnly defaults to 36839 false (read/write). ReadOnly here 36840 will force the ReadOnly setting 36841 in VolumeMounts. 36842 type: boolean 36843 secretRef: 36844 description: secretRef specifies the 36845 secret to use for obtaining the 36846 StorageOS API credentials. If not 36847 specified, default values will be 36848 attempted. 36849 properties: 36850 name: 36851 description: 'Name of the referent. 36852 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 36853 TODO: Add other useful fields. 36854 apiVersion, kind, uid?' 36855 type: string 36856 type: object 36857 volumeName: 36858 description: volumeName is the human-readable 36859 name of the StorageOS volume. Volume 36860 names are only unique within a namespace. 36861 type: string 36862 volumeNamespace: 36863 description: volumeNamespace specifies 36864 the scope of the volume within StorageOS. If 36865 no namespace is specified then the 36866 Pod's namespace will be used. This 36867 allows the Kubernetes name scoping 36868 to be mirrored within StorageOS 36869 for tighter integration. Set VolumeName 36870 to any name to override the default 36871 behaviour. Set to "default" if you 36872 are not using namespaces within 36873 StorageOS. Namespaces that do not 36874 pre-exist within StorageOS will 36875 be created. 36876 type: string 36877 type: object 36878 vsphereVolume: 36879 description: vsphereVolume represents 36880 a vSphere volume attached and mounted 36881 on kubelets host machine 36882 properties: 36883 fsType: 36884 description: fsType is filesystem 36885 type to mount. Must be a filesystem 36886 type supported by the host operating 36887 system. Ex. "ext4", "xfs", "ntfs". 36888 Implicitly inferred to be "ext4" 36889 if unspecified. 36890 type: string 36891 storagePolicyID: 36892 description: storagePolicyID is the 36893 storage Policy Based Management 36894 (SPBM) profile ID associated with 36895 the StoragePolicyName. 36896 type: string 36897 storagePolicyName: 36898 description: storagePolicyName is 36899 the storage Policy Based Management 36900 (SPBM) profile name. 36901 type: string 36902 volumePath: 36903 description: volumePath is the path 36904 that identifies vSphere volume vmdk 36905 type: string 36906 required: 36907 - volumePath 36908 type: object 36909 required: 36910 - name 36911 type: object 36912 type: array 36913 x-kubernetes-list-type: atomic 36914 workspaces: 36915 description: Workspaces are the volumes that 36916 this Task requires. 36917 items: 36918 description: WorkspaceDeclaration is a declaration 36919 of a volume that a Task requires. 36920 properties: 36921 description: 36922 description: Description is an optional 36923 human readable description of this volume. 36924 type: string 36925 mountPath: 36926 description: MountPath overrides the directory 36927 that the volume will be made available 36928 at. 36929 type: string 36930 name: 36931 description: Name is the name by which 36932 you can bind the volume at runtime. 36933 type: string 36934 optional: 36935 description: Optional marks a Workspace 36936 as not being required in TaskRuns. By 36937 default this field is false and so declared 36938 workspaces are required. 36939 type: boolean 36940 readOnly: 36941 description: ReadOnly dictates whether 36942 a mounted volume is writable. By default 36943 this field is false and so mounted volumes 36944 are writable. 36945 type: boolean 36946 required: 36947 - name 36948 type: object 36949 type: array 36950 x-kubernetes-list-type: atomic 36951 type: object 36952 timeout: 36953 description: 'Time after which the TaskRun times 36954 out. Defaults to 1 hour. Specified TaskRun timeout 36955 should be less than 24h. Refer Go''s ParseDuration 36956 documentation for expected format: https://golang.org/pkg/time/#ParseDuration' 36957 type: string 36958 when: 36959 description: WhenExpressions is a list of when expressions 36960 that need to be true for the task to run 36961 items: 36962 description: WhenExpression allows a PipelineTask 36963 to declare expressions to be evaluated before 36964 the Task is run to determine whether the Task 36965 should be executed or skipped 36966 properties: 36967 input: 36968 description: Input is the string for guard 36969 checking which can be a static input or 36970 an output from a parent Task 36971 type: string 36972 operator: 36973 description: Operator that represents an Input's 36974 relationship to the values 36975 type: string 36976 values: 36977 description: Values is an array of strings, 36978 which is compared against the input, for 36979 guard checking It must be non-empty 36980 items: 36981 type: string 36982 type: array 36983 x-kubernetes-list-type: atomic 36984 required: 36985 - input 36986 - operator 36987 - values 36988 type: object 36989 type: array 36990 workspaces: 36991 description: Workspaces maps workspaces from the 36992 pipeline spec to the workspaces declared in the 36993 Task. 36994 items: 36995 description: WorkspacePipelineTaskBinding describes 36996 how a workspace passed into the pipeline should 36997 be mapped to a task's declared workspace. 36998 properties: 36999 name: 37000 description: Name is the name of the workspace 37001 as declared by the task 37002 type: string 37003 subPath: 37004 description: SubPath is optionally a directory 37005 on the volume which should be used for this 37006 binding (i.e. the volume will be mounted 37007 at this sub directory). 37008 type: string 37009 workspace: 37010 description: Workspace is the name of the 37011 workspace declared by the pipeline 37012 type: string 37013 required: 37014 - name 37015 type: object 37016 type: array 37017 x-kubernetes-list-type: atomic 37018 type: object 37019 type: array 37020 x-kubernetes-list-type: atomic 37021 params: 37022 description: Params declares a list of input parameters 37023 that must be supplied when this Pipeline is run. 37024 items: 37025 description: ParamSpec defines arbitrary parameters 37026 needed beyond typed inputs (such as resources). Parameter 37027 values are provided by users as inputs on a TaskRun 37028 or PipelineRun. 37029 properties: 37030 default: 37031 description: Default is the value a parameter takes 37032 if no input value is supplied. If default is set, 37033 a Task may be executed without a supplied value 37034 for the parameter. 37035 properties: 37036 arrayVal: 37037 items: 37038 type: string 37039 type: array 37040 x-kubernetes-list-type: atomic 37041 objectVal: 37042 additionalProperties: 37043 type: string 37044 type: object 37045 stringVal: 37046 type: string 37047 type: 37048 description: ParamType indicates the type of 37049 an input parameter; Used to distinguish between 37050 a single string and an array of strings. 37051 type: string 37052 required: 37053 - arrayVal 37054 - objectVal 37055 - stringVal 37056 - type 37057 type: object 37058 description: 37059 description: Description is a user-facing description 37060 of the parameter that may be used to populate 37061 a UI. 37062 type: string 37063 name: 37064 description: Name declares the name by which a parameter 37065 is referenced. 37066 type: string 37067 properties: 37068 additionalProperties: 37069 description: PropertySpec defines the struct for 37070 object keys 37071 properties: 37072 type: 37073 description: ParamType indicates the type 37074 of an input parameter; Used to distinguish 37075 between a single string and an array of 37076 strings. 37077 type: string 37078 type: object 37079 description: Properties is the JSON Schema properties 37080 to support key-value pairs parameter. 37081 type: object 37082 type: 37083 description: Type is the user-specified type of 37084 the parameter. The possible types are currently 37085 "string", "array" and "object", and "string" is 37086 the default. 37087 type: string 37088 required: 37089 - name 37090 type: object 37091 type: array 37092 x-kubernetes-list-type: atomic 37093 resources: 37094 description: Resources declares the names and types of 37095 the resources given to the Pipeline's tasks as inputs 37096 and outputs. 37097 items: 37098 description: PipelineDeclaredResource is used by a Pipeline 37099 to declare the types of the PipelineResources that 37100 it will required to run and names which can be used 37101 to refer to these PipelineResources in PipelineTaskResourceBindings. 37102 properties: 37103 name: 37104 description: Name is the name that will be used 37105 by the Pipeline to refer to this resource. It 37106 does not directly correspond to the name of any 37107 PipelineResources Task inputs or outputs, and 37108 it does not correspond to the actual names of 37109 the PipelineResources that will be bound in the 37110 PipelineRun. 37111 type: string 37112 optional: 37113 description: 'Optional declares the resource as 37114 optional. optional: true - the resource is considered 37115 optional optional: false - the resource is considered 37116 required (default/equivalent of not specifying 37117 it)' 37118 type: boolean 37119 type: 37120 description: Type is the type of the PipelineResource. 37121 type: string 37122 required: 37123 - name 37124 - type 37125 type: object 37126 type: array 37127 x-kubernetes-list-type: atomic 37128 results: 37129 description: Results are values that this pipeline can 37130 output once run 37131 items: 37132 description: PipelineResult used to describe the results 37133 of a pipeline 37134 properties: 37135 description: 37136 description: Description is a human-readable description 37137 of the result 37138 type: string 37139 name: 37140 description: Name the given name 37141 type: string 37142 type: 37143 description: Type is the user-specified type of 37144 the result. The possible types are 'string', 'array', 37145 and 'object', with 'string' as the default. 'array' 37146 and 'object' types are alpha features. 37147 type: string 37148 value: 37149 description: Value the expression used to retrieve 37150 the value 37151 properties: 37152 arrayVal: 37153 items: 37154 type: string 37155 type: array 37156 x-kubernetes-list-type: atomic 37157 objectVal: 37158 additionalProperties: 37159 type: string 37160 type: object 37161 stringVal: 37162 type: string 37163 type: 37164 description: ParamType indicates the type of 37165 an input parameter; Used to distinguish between 37166 a single string and an array of strings. 37167 type: string 37168 required: 37169 - arrayVal 37170 - objectVal 37171 - stringVal 37172 - type 37173 type: object 37174 required: 37175 - name 37176 - value 37177 type: object 37178 type: array 37179 x-kubernetes-list-type: atomic 37180 tasks: 37181 description: Tasks declares the graph of Tasks that execute 37182 when this Pipeline is run. 37183 items: 37184 description: PipelineTask defines a task in a Pipeline, 37185 passing inputs from both Params and from the output 37186 of previous tasks. 37187 properties: 37188 matrix: 37189 description: Matrix declares parameters used to 37190 fan out this task. 37191 properties: 37192 params: 37193 description: Params is a list of parameters 37194 used to fan out the pipelineTask Params takes 37195 only `Parameters` of type `"array"` Each array 37196 element is supplied to the `PipelineTask` 37197 by substituting `params` of type `"string"` 37198 in the underlying `Task`. The names of the 37199 `params` in the `Matrix` must match the names 37200 of the `params` in the underlying `Task` that 37201 they will be substituting. 37202 items: 37203 description: Param declares an ParamValues 37204 to use for the parameter called name. 37205 properties: 37206 name: 37207 type: string 37208 value: 37209 description: ParamValue is a type that 37210 can hold a single string or string array. 37211 Used in JSON unmarshalling so that a 37212 single JSON field can accept either 37213 an individual string or an array of 37214 strings. 37215 properties: 37216 arrayVal: 37217 items: 37218 type: string 37219 type: array 37220 x-kubernetes-list-type: atomic 37221 objectVal: 37222 additionalProperties: 37223 type: string 37224 type: object 37225 stringVal: 37226 type: string 37227 type: 37228 description: ParamType indicates the 37229 type of an input parameter; Used 37230 to distinguish between a single 37231 string and an array of strings. 37232 type: string 37233 required: 37234 - arrayVal 37235 - objectVal 37236 - stringVal 37237 - type 37238 type: object 37239 required: 37240 - name 37241 - value 37242 type: object 37243 type: array 37244 x-kubernetes-list-type: atomic 37245 type: object 37246 name: 37247 description: Name is the name of this task within 37248 the context of a Pipeline. Name is used as a coordinate 37249 with the `from` and `runAfter` fields to establish 37250 the execution order of tasks relative to one another. 37251 type: string 37252 params: 37253 description: Parameters declares parameters passed 37254 to this task. 37255 items: 37256 description: Param declares an ParamValues to 37257 use for the parameter called name. 37258 properties: 37259 name: 37260 type: string 37261 value: 37262 description: ParamValue is a type that can 37263 hold a single string or string array. Used 37264 in JSON unmarshalling so that a single JSON 37265 field can accept either an individual string 37266 or an array of strings. 37267 properties: 37268 arrayVal: 37269 items: 37270 type: string 37271 type: array 37272 x-kubernetes-list-type: atomic 37273 objectVal: 37274 additionalProperties: 37275 type: string 37276 type: object 37277 stringVal: 37278 type: string 37279 type: 37280 description: ParamType indicates the type 37281 of an input parameter; Used to distinguish 37282 between a single string and an array 37283 of strings. 37284 type: string 37285 required: 37286 - arrayVal 37287 - objectVal 37288 - stringVal 37289 - type 37290 type: object 37291 required: 37292 - name 37293 - value 37294 type: object 37295 type: array 37296 x-kubernetes-list-type: atomic 37297 resources: 37298 description: Resources declares the resources given 37299 to this task as inputs and outputs. 37300 properties: 37301 inputs: 37302 description: Inputs holds the mapping from the 37303 PipelineResources declared in DeclaredPipelineResources 37304 to the input PipelineResources required by 37305 the Task. 37306 items: 37307 description: PipelineTaskInputResource maps 37308 the name of a declared PipelineResource 37309 input dependency in a Task to the resource 37310 in the Pipeline's DeclaredPipelineResources 37311 that should be used. This input may come 37312 from a previous task. 37313 properties: 37314 from: 37315 description: From is the list of PipelineTask 37316 names that the resource has to come 37317 from. (Implies an ordering in the execution 37318 graph.) 37319 items: 37320 type: string 37321 type: array 37322 x-kubernetes-list-type: atomic 37323 name: 37324 description: Name is the name of the PipelineResource 37325 as declared by the Task. 37326 type: string 37327 resource: 37328 description: Resource is the name of the 37329 DeclaredPipelineResource to use. 37330 type: string 37331 required: 37332 - name 37333 - resource 37334 type: object 37335 type: array 37336 x-kubernetes-list-type: atomic 37337 outputs: 37338 description: Outputs holds the mapping from 37339 the PipelineResources declared in DeclaredPipelineResources 37340 to the input PipelineResources required by 37341 the Task. 37342 items: 37343 description: PipelineTaskOutputResource maps 37344 the name of a declared PipelineResource 37345 output dependency in a Task to the resource 37346 in the Pipeline's DeclaredPipelineResources 37347 that should be used. 37348 properties: 37349 name: 37350 description: Name is the name of the PipelineResource 37351 as declared by the Task. 37352 type: string 37353 resource: 37354 description: Resource is the name of the 37355 DeclaredPipelineResource to use. 37356 type: string 37357 required: 37358 - name 37359 - resource 37360 type: object 37361 type: array 37362 x-kubernetes-list-type: atomic 37363 type: object 37364 retries: 37365 description: 'Retries represents how many times 37366 this task should be retried in case of task failure: 37367 ConditionSucceeded set to False' 37368 type: integer 37369 runAfter: 37370 description: RunAfter is the list of PipelineTask 37371 names that should be executed before this Task 37372 executes. (Used to force a specific ordering in 37373 graph execution.) 37374 items: 37375 type: string 37376 type: array 37377 x-kubernetes-list-type: atomic 37378 taskRef: 37379 description: TaskRef is a reference to a task definition. 37380 properties: 37381 apiVersion: 37382 description: API version of the referent 37383 type: string 37384 bundle: 37385 description: 'Bundle url reference to a Tekton 37386 Bundle. Deprecated: Please use ResolverRef 37387 with the bundles resolver instead.' 37388 type: string 37389 kind: 37390 description: TaskKind indicates the kind of 37391 the task, namespaced or cluster scoped. 37392 type: string 37393 name: 37394 description: 'Name of the referent; More info: 37395 http://kubernetes.io/docs/user-guide/identifiers#names' 37396 type: string 37397 params: 37398 description: Params contains the parameters 37399 used to identify the referenced Tekton resource. 37400 Example entries might include "repo" or "path" 37401 but the set of params ultimately depends on 37402 the chosen resolver. 37403 items: 37404 description: Param declares an ParamValues 37405 to use for the parameter called name. 37406 properties: 37407 name: 37408 type: string 37409 value: 37410 description: ParamValue is a type that 37411 can hold a single string or string array. 37412 Used in JSON unmarshalling so that a 37413 single JSON field can accept either 37414 an individual string or an array of 37415 strings. 37416 properties: 37417 arrayVal: 37418 items: 37419 type: string 37420 type: array 37421 x-kubernetes-list-type: atomic 37422 objectVal: 37423 additionalProperties: 37424 type: string 37425 type: object 37426 stringVal: 37427 type: string 37428 type: 37429 description: ParamType indicates the 37430 type of an input parameter; Used 37431 to distinguish between a single 37432 string and an array of strings. 37433 type: string 37434 required: 37435 - arrayVal 37436 - objectVal 37437 - stringVal 37438 - type 37439 type: object 37440 required: 37441 - name 37442 - value 37443 type: object 37444 type: array 37445 x-kubernetes-list-type: atomic 37446 resolver: 37447 description: Resolver is the name of the resolver 37448 that should perform resolution of the referenced 37449 Tekton resource, such as "git". 37450 type: string 37451 type: object 37452 taskSpec: 37453 description: TaskSpec is a specification of a task 37454 properties: 37455 apiVersion: 37456 type: string 37457 description: 37458 description: Description is a user-facing description 37459 of the task that may be used to populate a 37460 UI. 37461 type: string 37462 kind: 37463 type: string 37464 metadata: 37465 description: PipelineTaskMetadata contains the 37466 labels or annotations for an EmbeddedTask 37467 properties: 37468 annotations: 37469 additionalProperties: 37470 type: string 37471 type: object 37472 labels: 37473 additionalProperties: 37474 type: string 37475 type: object 37476 type: object 37477 params: 37478 description: Params is a list of input parameters 37479 required to run the task. Params must be supplied 37480 as inputs in TaskRuns unless they declare 37481 a default value. 37482 items: 37483 description: ParamSpec defines arbitrary parameters 37484 needed beyond typed inputs (such as resources). 37485 Parameter values are provided by users as 37486 inputs on a TaskRun or PipelineRun. 37487 properties: 37488 default: 37489 description: Default is the value a parameter 37490 takes if no input value is supplied. 37491 If default is set, a Task may be executed 37492 without a supplied value for the parameter. 37493 properties: 37494 arrayVal: 37495 items: 37496 type: string 37497 type: array 37498 x-kubernetes-list-type: atomic 37499 objectVal: 37500 additionalProperties: 37501 type: string 37502 type: object 37503 stringVal: 37504 type: string 37505 type: 37506 description: ParamType indicates the 37507 type of an input parameter; Used 37508 to distinguish between a single 37509 string and an array of strings. 37510 type: string 37511 required: 37512 - arrayVal 37513 - objectVal 37514 - stringVal 37515 - type 37516 type: object 37517 description: 37518 description: Description is a user-facing 37519 description of the parameter that may 37520 be used to populate a UI. 37521 type: string 37522 name: 37523 description: Name declares the name by 37524 which a parameter is referenced. 37525 type: string 37526 properties: 37527 additionalProperties: 37528 description: PropertySpec defines the 37529 struct for object keys 37530 properties: 37531 type: 37532 description: ParamType indicates 37533 the type of an input parameter; 37534 Used to distinguish between a 37535 single string and an array of 37536 strings. 37537 type: string 37538 type: object 37539 description: Properties is the JSON Schema 37540 properties to support key-value pairs 37541 parameter. 37542 type: object 37543 type: 37544 description: Type is the user-specified 37545 type of the parameter. The possible 37546 types are currently "string", "array" 37547 and "object", and "string" is the default. 37548 type: string 37549 required: 37550 - name 37551 type: object 37552 type: array 37553 x-kubernetes-list-type: atomic 37554 resources: 37555 description: Resources is a list input and output 37556 resource to run the task Resources are represented 37557 in TaskRuns as bindings to instances of PipelineResources. 37558 properties: 37559 inputs: 37560 description: Inputs holds the mapping from 37561 the PipelineResources declared in DeclaredPipelineResources 37562 to the input PipelineResources required 37563 by the Task. 37564 items: 37565 description: TaskResource defines an input 37566 or output Resource declared as a requirement 37567 by a Task. The Name field will be used 37568 to refer to these Resources within the 37569 Task definition, and when provided as 37570 an Input, the Name will be the path 37571 to the volume mounted containing this 37572 Resource as an input (e.g. an input 37573 Resource named `workspace` will be mounted 37574 at `/workspace`). 37575 properties: 37576 description: 37577 description: Description is a user-facing 37578 description of the declared resource 37579 that may be used to populate a UI. 37580 type: string 37581 name: 37582 description: Name declares the name 37583 by which a resource is referenced 37584 in the definition. Resources may 37585 be referenced by name in the definition 37586 of a Task's steps. 37587 type: string 37588 optional: 37589 description: 'Optional declares the 37590 resource as optional. By default 37591 optional is set to false which makes 37592 a resource required. optional: true 37593 - the resource is considered optional 37594 optional: false - the resource is 37595 considered required (equivalent 37596 of not specifying it)' 37597 type: boolean 37598 targetPath: 37599 description: TargetPath is the path 37600 in workspace directory where the 37601 resource will be copied. 37602 type: string 37603 type: 37604 description: Type is the type of this 37605 resource; 37606 type: string 37607 required: 37608 - name 37609 - type 37610 type: object 37611 type: array 37612 x-kubernetes-list-type: atomic 37613 outputs: 37614 description: Outputs holds the mapping from 37615 the PipelineResources declared in DeclaredPipelineResources 37616 to the input PipelineResources required 37617 by the Task. 37618 items: 37619 description: TaskResource defines an input 37620 or output Resource declared as a requirement 37621 by a Task. The Name field will be used 37622 to refer to these Resources within the 37623 Task definition, and when provided as 37624 an Input, the Name will be the path 37625 to the volume mounted containing this 37626 Resource as an input (e.g. an input 37627 Resource named `workspace` will be mounted 37628 at `/workspace`). 37629 properties: 37630 description: 37631 description: Description is a user-facing 37632 description of the declared resource 37633 that may be used to populate a UI. 37634 type: string 37635 name: 37636 description: Name declares the name 37637 by which a resource is referenced 37638 in the definition. Resources may 37639 be referenced by name in the definition 37640 of a Task's steps. 37641 type: string 37642 optional: 37643 description: 'Optional declares the 37644 resource as optional. By default 37645 optional is set to false which makes 37646 a resource required. optional: true 37647 - the resource is considered optional 37648 optional: false - the resource is 37649 considered required (equivalent 37650 of not specifying it)' 37651 type: boolean 37652 targetPath: 37653 description: TargetPath is the path 37654 in workspace directory where the 37655 resource will be copied. 37656 type: string 37657 type: 37658 description: Type is the type of this 37659 resource; 37660 type: string 37661 required: 37662 - name 37663 - type 37664 type: object 37665 type: array 37666 x-kubernetes-list-type: atomic 37667 type: object 37668 results: 37669 description: Results are values that this Task 37670 can output 37671 items: 37672 description: TaskResult used to describe the 37673 results of a task 37674 properties: 37675 description: 37676 description: Description is a human-readable 37677 description of the result 37678 type: string 37679 name: 37680 description: Name the given name 37681 type: string 37682 properties: 37683 additionalProperties: 37684 description: PropertySpec defines the 37685 struct for object keys 37686 properties: 37687 type: 37688 description: ParamType indicates 37689 the type of an input parameter; 37690 Used to distinguish between a 37691 single string and an array of 37692 strings. 37693 type: string 37694 type: object 37695 description: Properties is the JSON Schema 37696 properties to support key-value pairs 37697 results. 37698 type: object 37699 type: 37700 description: Type is the user-specified 37701 type of the result. The possible type 37702 is currently "string" and will support 37703 "array" in following work. 37704 type: string 37705 required: 37706 - name 37707 type: object 37708 type: array 37709 x-kubernetes-list-type: atomic 37710 sidecars: 37711 description: Sidecars are run alongside the 37712 Task's step containers. They begin before 37713 the steps start and end after the steps complete. 37714 items: 37715 description: Sidecar has nearly the same data 37716 structure as Step but does not have the 37717 ability to timeout. 37718 properties: 37719 args: 37720 description: 'Arguments to the entrypoint. 37721 The image''s CMD is used if this is 37722 not provided. Variable references $(VAR_NAME) 37723 are expanded using the container''s 37724 environment. If a variable cannot be 37725 resolved, the reference in the input 37726 string will be unchanged. Double $$ 37727 are reduced to a single $, which allows 37728 for escaping the $(VAR_NAME) syntax: 37729 i.e. "$$(VAR_NAME)" will produce the 37730 string literal "$(VAR_NAME)". Escaped 37731 references will never be expanded, regardless 37732 of whether the variable exists or not. 37733 Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell' 37734 items: 37735 type: string 37736 type: array 37737 x-kubernetes-list-type: atomic 37738 command: 37739 description: 'Entrypoint array. Not executed 37740 within a shell. The image''s ENTRYPOINT 37741 is used if this is not provided. Variable 37742 references $(VAR_NAME) are expanded 37743 using the Sidecar''s environment. If 37744 a variable cannot be resolved, the reference 37745 in the input string will be unchanged. 37746 Double $$ are reduced to a single $, 37747 which allows for escaping the $(VAR_NAME) 37748 syntax: i.e. "$$(VAR_NAME)" will produce 37749 the string literal "$(VAR_NAME)". Escaped 37750 references will never be expanded, regardless 37751 of whether the variable exists or not. 37752 Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell' 37753 items: 37754 type: string 37755 type: array 37756 x-kubernetes-list-type: atomic 37757 env: 37758 description: List of environment variables 37759 to set in the Sidecar. Cannot be updated. 37760 items: 37761 description: EnvVar represents an environment 37762 variable present in a Container. 37763 properties: 37764 name: 37765 description: Name of the environment 37766 variable. Must be a C_IDENTIFIER. 37767 type: string 37768 value: 37769 description: 'Variable references 37770 $(VAR_NAME) are expanded using 37771 the previously defined environment 37772 variables in the container and 37773 any service environment variables. 37774 If a variable cannot be resolved, 37775 the reference in the input string 37776 will be unchanged. Double $$ are 37777 reduced to a single $, which allows 37778 for escaping the $(VAR_NAME) syntax: 37779 i.e. "$$(VAR_NAME)" will produce 37780 the string literal "$(VAR_NAME)". 37781 Escaped references will never 37782 be expanded, regardless of whether 37783 the variable exists or not. Defaults 37784 to "".' 37785 type: string 37786 valueFrom: 37787 description: Source for the environment 37788 variable's value. Cannot be used 37789 if value is not empty. 37790 properties: 37791 configMapKeyRef: 37792 description: Selects a key of 37793 a ConfigMap. 37794 properties: 37795 key: 37796 description: The key to 37797 select. 37798 type: string 37799 name: 37800 description: 'Name of the 37801 referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 37802 TODO: Add other useful 37803 fields. apiVersion, kind, 37804 uid?' 37805 type: string 37806 optional: 37807 description: Specify whether 37808 the ConfigMap or its key 37809 must be defined 37810 type: boolean 37811 required: 37812 - key 37813 type: object 37814 fieldRef: 37815 description: 'Selects a field 37816 of the pod: supports metadata.name, 37817 metadata.namespace, `metadata.labels[''<KEY>'']`, 37818 `metadata.annotations[''<KEY>'']`, 37819 spec.nodeName, spec.serviceAccountName, 37820 status.hostIP, status.podIP, 37821 status.podIPs.' 37822 properties: 37823 apiVersion: 37824 description: Version of 37825 the schema the FieldPath 37826 is written in terms of, 37827 defaults to "v1". 37828 type: string 37829 fieldPath: 37830 description: Path of the 37831 field to select in the 37832 specified API version. 37833 type: string 37834 required: 37835 - fieldPath 37836 type: object 37837 resourceFieldRef: 37838 description: 'Selects a resource 37839 of the container: only resources 37840 limits and requests (limits.cpu, 37841 limits.memory, limits.ephemeral-storage, 37842 requests.cpu, requests.memory 37843 and requests.ephemeral-storage) 37844 are currently supported.' 37845 properties: 37846 containerName: 37847 description: 'Container 37848 name: required for volumes, 37849 optional for env vars' 37850 type: string 37851 divisor: 37852 anyOf: 37853 - type: integer 37854 - type: string 37855 description: Specifies the 37856 output format of the exposed 37857 resources, defaults to 37858 "1" 37859 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 37860 x-kubernetes-int-or-string: true 37861 resource: 37862 description: 'Required: 37863 resource to select' 37864 type: string 37865 required: 37866 - resource 37867 type: object 37868 secretKeyRef: 37869 description: Selects a key of 37870 a secret in the pod's namespace 37871 properties: 37872 key: 37873 description: The key of 37874 the secret to select from. Must 37875 be a valid secret key. 37876 type: string 37877 name: 37878 description: 'Name of the 37879 referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 37880 TODO: Add other useful 37881 fields. apiVersion, kind, 37882 uid?' 37883 type: string 37884 optional: 37885 description: Specify whether 37886 the Secret or its key 37887 must be defined 37888 type: boolean 37889 required: 37890 - key 37891 type: object 37892 type: object 37893 required: 37894 - name 37895 type: object 37896 type: array 37897 x-kubernetes-list-type: atomic 37898 envFrom: 37899 description: List of sources to populate 37900 environment variables in the Sidecar. 37901 The keys defined within a source must 37902 be a C_IDENTIFIER. All invalid keys 37903 will be reported as an event when the 37904 Sidecar is starting. When a key exists 37905 in multiple sources, the value associated 37906 with the last source will take precedence. 37907 Values defined by an Env with a duplicate 37908 key will take precedence. Cannot be 37909 updated. 37910 items: 37911 description: EnvFromSource represents 37912 the source of a set of ConfigMaps 37913 properties: 37914 configMapRef: 37915 description: The ConfigMap to select 37916 from 37917 properties: 37918 name: 37919 description: 'Name of the referent. 37920 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 37921 TODO: Add other useful fields. 37922 apiVersion, kind, uid?' 37923 type: string 37924 optional: 37925 description: Specify whether 37926 the ConfigMap must be defined 37927 type: boolean 37928 type: object 37929 prefix: 37930 description: An optional identifier 37931 to prepend to each key in the 37932 ConfigMap. Must be a C_IDENTIFIER. 37933 type: string 37934 secretRef: 37935 description: The Secret to select 37936 from 37937 properties: 37938 name: 37939 description: 'Name of the referent. 37940 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 37941 TODO: Add other useful fields. 37942 apiVersion, kind, uid?' 37943 type: string 37944 optional: 37945 description: Specify whether 37946 the Secret must be defined 37947 type: boolean 37948 type: object 37949 type: object 37950 type: array 37951 x-kubernetes-list-type: atomic 37952 image: 37953 description: 'Image name to be used by 37954 the Sidecar. More info: https://kubernetes.io/docs/concepts/containers/images' 37955 type: string 37956 imagePullPolicy: 37957 description: 'Image pull policy. One of 37958 Always, Never, IfNotPresent. Defaults 37959 to Always if :latest tag is specified, 37960 or IfNotPresent otherwise. Cannot be 37961 updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images' 37962 type: string 37963 lifecycle: 37964 description: Actions that the management 37965 system should take in response to Sidecar 37966 lifecycle events. Cannot be updated. 37967 properties: 37968 postStart: 37969 description: 'PostStart is called 37970 immediately after a container is 37971 created. If the handler fails, the 37972 container is terminated and restarted 37973 according to its restart policy. 37974 Other management of the container 37975 blocks until the hook completes. 37976 More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks' 37977 properties: 37978 exec: 37979 description: Exec specifies the 37980 action to take. 37981 properties: 37982 command: 37983 description: Command is the 37984 command line to execute 37985 inside the container, the 37986 working directory for the 37987 command is root ('/') in 37988 the container's filesystem. 37989 The command is simply exec'd, 37990 it is not run inside a shell, 37991 so traditional shell instructions 37992 ('|', etc) won't work. To 37993 use a shell, you need to 37994 explicitly call out to that 37995 shell. Exit status of 0 37996 is treated as live/healthy 37997 and non-zero is unhealthy. 37998 items: 37999 type: string 38000 type: array 38001 type: object 38002 httpGet: 38003 description: HTTPGet specifies 38004 the http request to perform. 38005 properties: 38006 host: 38007 description: Host name to 38008 connect to, defaults to 38009 the pod IP. You probably 38010 want to set "Host" in httpHeaders 38011 instead. 38012 type: string 38013 httpHeaders: 38014 description: Custom headers 38015 to set in the request. HTTP 38016 allows repeated headers. 38017 items: 38018 description: HTTPHeader 38019 describes a custom header 38020 to be used in HTTP probes 38021 properties: 38022 name: 38023 description: The header 38024 field name 38025 type: string 38026 value: 38027 description: The header 38028 field value 38029 type: string 38030 required: 38031 - name 38032 - value 38033 type: object 38034 type: array 38035 path: 38036 description: Path to access 38037 on the HTTP server. 38038 type: string 38039 port: 38040 anyOf: 38041 - type: integer 38042 - type: string 38043 description: Name or number 38044 of the port to access on 38045 the container. Number must 38046 be in the range 1 to 65535. 38047 Name must be an IANA_SVC_NAME. 38048 x-kubernetes-int-or-string: true 38049 scheme: 38050 description: Scheme to use 38051 for connecting to the host. 38052 Defaults to HTTP. 38053 type: string 38054 required: 38055 - port 38056 type: object 38057 tcpSocket: 38058 description: Deprecated. TCPSocket 38059 is NOT supported as a LifecycleHandler 38060 and kept for the backward compatibility. 38061 There are no validation of this 38062 field and lifecycle hooks will 38063 fail in runtime when tcp handler 38064 is specified. 38065 properties: 38066 host: 38067 description: 'Optional: Host 38068 name to connect to, defaults 38069 to the pod IP.' 38070 type: string 38071 port: 38072 anyOf: 38073 - type: integer 38074 - type: string 38075 description: Number or name 38076 of the port to access on 38077 the container. Number must 38078 be in the range 1 to 65535. 38079 Name must be an IANA_SVC_NAME. 38080 x-kubernetes-int-or-string: true 38081 required: 38082 - port 38083 type: object 38084 type: object 38085 preStop: 38086 description: 'PreStop is called immediately 38087 before a container is terminated 38088 due to an API request or management 38089 event such as liveness/startup probe 38090 failure, preemption, resource contention, 38091 etc. The handler is not called if 38092 the container crashes or exits. 38093 The Pod''s termination grace period 38094 countdown begins before the PreStop 38095 hook is executed. Regardless of 38096 the outcome of the handler, the 38097 container will eventually terminate 38098 within the Pod''s termination grace 38099 period (unless delayed by finalizers). 38100 Other management of the container 38101 blocks until the hook completes 38102 or until the termination grace period 38103 is reached. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks' 38104 properties: 38105 exec: 38106 description: Exec specifies the 38107 action to take. 38108 properties: 38109 command: 38110 description: Command is the 38111 command line to execute 38112 inside the container, the 38113 working directory for the 38114 command is root ('/') in 38115 the container's filesystem. 38116 The command is simply exec'd, 38117 it is not run inside a shell, 38118 so traditional shell instructions 38119 ('|', etc) won't work. To 38120 use a shell, you need to 38121 explicitly call out to that 38122 shell. Exit status of 0 38123 is treated as live/healthy 38124 and non-zero is unhealthy. 38125 items: 38126 type: string 38127 type: array 38128 type: object 38129 httpGet: 38130 description: HTTPGet specifies 38131 the http request to perform. 38132 properties: 38133 host: 38134 description: Host name to 38135 connect to, defaults to 38136 the pod IP. You probably 38137 want to set "Host" in httpHeaders 38138 instead. 38139 type: string 38140 httpHeaders: 38141 description: Custom headers 38142 to set in the request. HTTP 38143 allows repeated headers. 38144 items: 38145 description: HTTPHeader 38146 describes a custom header 38147 to be used in HTTP probes 38148 properties: 38149 name: 38150 description: The header 38151 field name 38152 type: string 38153 value: 38154 description: The header 38155 field value 38156 type: string 38157 required: 38158 - name 38159 - value 38160 type: object 38161 type: array 38162 path: 38163 description: Path to access 38164 on the HTTP server. 38165 type: string 38166 port: 38167 anyOf: 38168 - type: integer 38169 - type: string 38170 description: Name or number 38171 of the port to access on 38172 the container. Number must 38173 be in the range 1 to 65535. 38174 Name must be an IANA_SVC_NAME. 38175 x-kubernetes-int-or-string: true 38176 scheme: 38177 description: Scheme to use 38178 for connecting to the host. 38179 Defaults to HTTP. 38180 type: string 38181 required: 38182 - port 38183 type: object 38184 tcpSocket: 38185 description: Deprecated. TCPSocket 38186 is NOT supported as a LifecycleHandler 38187 and kept for the backward compatibility. 38188 There are no validation of this 38189 field and lifecycle hooks will 38190 fail in runtime when tcp handler 38191 is specified. 38192 properties: 38193 host: 38194 description: 'Optional: Host 38195 name to connect to, defaults 38196 to the pod IP.' 38197 type: string 38198 port: 38199 anyOf: 38200 - type: integer 38201 - type: string 38202 description: Number or name 38203 of the port to access on 38204 the container. Number must 38205 be in the range 1 to 65535. 38206 Name must be an IANA_SVC_NAME. 38207 x-kubernetes-int-or-string: true 38208 required: 38209 - port 38210 type: object 38211 type: object 38212 type: object 38213 livenessProbe: 38214 description: 'Periodic probe of Sidecar 38215 liveness. Container will be restarted 38216 if the probe fails. Cannot be updated. 38217 More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 38218 properties: 38219 exec: 38220 description: Exec specifies the action 38221 to take. 38222 properties: 38223 command: 38224 description: Command is the command 38225 line to execute inside the container, 38226 the working directory for the 38227 command is root ('/') in the 38228 container's filesystem. The 38229 command is simply exec'd, it 38230 is not run inside a shell, so 38231 traditional shell instructions 38232 ('|', etc) won't work. To use 38233 a shell, you need to explicitly 38234 call out to that shell. Exit 38235 status of 0 is treated as live/healthy 38236 and non-zero is unhealthy. 38237 items: 38238 type: string 38239 type: array 38240 type: object 38241 failureThreshold: 38242 description: Minimum consecutive failures 38243 for the probe to be considered failed 38244 after having succeeded. Defaults 38245 to 3. Minimum value is 1. 38246 format: int32 38247 type: integer 38248 grpc: 38249 description: GRPC specifies an action 38250 involving a GRPC port. This is a 38251 beta field and requires enabling 38252 GRPCContainerProbe feature gate. 38253 properties: 38254 port: 38255 description: Port number of the 38256 gRPC service. Number must be 38257 in the range 1 to 65535. 38258 format: int32 38259 type: integer 38260 service: 38261 description: "Service is the name 38262 of the service to place in the 38263 gRPC HealthCheckRequest (see 38264 https://github.com/grpc/grpc/blob/master/doc/health-checking.md). 38265 \n If this is not specified, 38266 the default behavior is defined 38267 by gRPC." 38268 type: string 38269 required: 38270 - port 38271 type: object 38272 httpGet: 38273 description: HTTPGet specifies the 38274 http request to perform. 38275 properties: 38276 host: 38277 description: Host name to connect 38278 to, defaults to the pod IP. 38279 You probably want to set "Host" 38280 in httpHeaders instead. 38281 type: string 38282 httpHeaders: 38283 description: Custom headers to 38284 set in the request. HTTP allows 38285 repeated headers. 38286 items: 38287 description: HTTPHeader describes 38288 a custom header to be used 38289 in HTTP probes 38290 properties: 38291 name: 38292 description: The header 38293 field name 38294 type: string 38295 value: 38296 description: The header 38297 field value 38298 type: string 38299 required: 38300 - name 38301 - value 38302 type: object 38303 type: array 38304 path: 38305 description: Path to access on 38306 the HTTP server. 38307 type: string 38308 port: 38309 anyOf: 38310 - type: integer 38311 - type: string 38312 description: Name or number of 38313 the port to access on the container. 38314 Number must be in the range 38315 1 to 65535. Name must be an 38316 IANA_SVC_NAME. 38317 x-kubernetes-int-or-string: true 38318 scheme: 38319 description: Scheme to use for 38320 connecting to the host. Defaults 38321 to HTTP. 38322 type: string 38323 required: 38324 - port 38325 type: object 38326 initialDelaySeconds: 38327 description: 'Number of seconds after 38328 the container has started before 38329 liveness probes are initiated. More 38330 info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 38331 format: int32 38332 type: integer 38333 periodSeconds: 38334 description: How often (in seconds) 38335 to perform the probe. Default to 38336 10 seconds. Minimum value is 1. 38337 format: int32 38338 type: integer 38339 successThreshold: 38340 description: Minimum consecutive successes 38341 for the probe to be considered successful 38342 after having failed. Defaults to 38343 1. Must be 1 for liveness and startup. 38344 Minimum value is 1. 38345 format: int32 38346 type: integer 38347 tcpSocket: 38348 description: TCPSocket specifies an 38349 action involving a TCP port. 38350 properties: 38351 host: 38352 description: 'Optional: Host name 38353 to connect to, defaults to the 38354 pod IP.' 38355 type: string 38356 port: 38357 anyOf: 38358 - type: integer 38359 - type: string 38360 description: Number or name of 38361 the port to access on the container. 38362 Number must be in the range 38363 1 to 65535. Name must be an 38364 IANA_SVC_NAME. 38365 x-kubernetes-int-or-string: true 38366 required: 38367 - port 38368 type: object 38369 terminationGracePeriodSeconds: 38370 description: Optional duration in 38371 seconds the pod needs to terminate 38372 gracefully upon probe failure. The 38373 grace period is the duration in 38374 seconds after the processes running 38375 in the pod are sent a termination 38376 signal and the time when the processes 38377 are forcibly halted with a kill 38378 signal. Set this value longer than 38379 the expected cleanup time for your 38380 process. If this value is nil, the 38381 pod's terminationGracePeriodSeconds 38382 will be used. Otherwise, this value 38383 overrides the value provided by 38384 the pod spec. Value must be non-negative 38385 integer. The value zero indicates 38386 stop immediately via the kill signal 38387 (no opportunity to shut down). This 38388 is a beta field and requires enabling 38389 ProbeTerminationGracePeriod feature 38390 gate. Minimum value is 1. spec.terminationGracePeriodSeconds 38391 is used if unset. 38392 format: int64 38393 type: integer 38394 timeoutSeconds: 38395 description: 'Number of seconds after 38396 which the probe times out. Defaults 38397 to 1 second. Minimum value is 1. 38398 More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 38399 format: int32 38400 type: integer 38401 type: object 38402 name: 38403 description: Name of the Sidecar specified 38404 as a DNS_LABEL. Each Sidecar in a Task 38405 must have a unique name (DNS_LABEL). 38406 Cannot be updated. 38407 type: string 38408 ports: 38409 description: List of ports to expose from 38410 the Sidecar. Exposing a port here gives 38411 the system additional information about 38412 the network connections a container 38413 uses, but is primarily informational. 38414 Not specifying a port here DOES NOT 38415 prevent that port from being exposed. 38416 Any port which is listening on the default 38417 "0.0.0.0" address inside a container 38418 will be accessible from the network. 38419 Cannot be updated. 38420 items: 38421 description: ContainerPort represents 38422 a network port in a single container. 38423 properties: 38424 containerPort: 38425 description: Number of port to expose 38426 on the pod's IP address. This 38427 must be a valid port number, 0 38428 < x < 65536. 38429 format: int32 38430 type: integer 38431 hostIP: 38432 description: What host IP to bind 38433 the external port to. 38434 type: string 38435 hostPort: 38436 description: Number of port to expose 38437 on the host. If specified, this 38438 must be a valid port number, 0 38439 < x < 65536. If HostNetwork is 38440 specified, this must match ContainerPort. 38441 Most containers do not need this. 38442 format: int32 38443 type: integer 38444 name: 38445 description: If specified, this 38446 must be an IANA_SVC_NAME and unique 38447 within the pod. Each named port 38448 in a pod must have a unique name. 38449 Name for the port that can be 38450 referred to by services. 38451 type: string 38452 protocol: 38453 default: TCP 38454 description: Protocol for port. 38455 Must be UDP, TCP, or SCTP. Defaults 38456 to "TCP". 38457 type: string 38458 required: 38459 - containerPort 38460 type: object 38461 type: array 38462 x-kubernetes-list-map-keys: 38463 - containerPort 38464 - protocol 38465 x-kubernetes-list-type: map 38466 readinessProbe: 38467 description: 'Periodic probe of Sidecar 38468 service readiness. Container will be 38469 removed from service endpoints if the 38470 probe fails. Cannot be updated. More 38471 info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 38472 properties: 38473 exec: 38474 description: Exec specifies the action 38475 to take. 38476 properties: 38477 command: 38478 description: Command is the command 38479 line to execute inside the container, 38480 the working directory for the 38481 command is root ('/') in the 38482 container's filesystem. The 38483 command is simply exec'd, it 38484 is not run inside a shell, so 38485 traditional shell instructions 38486 ('|', etc) won't work. To use 38487 a shell, you need to explicitly 38488 call out to that shell. Exit 38489 status of 0 is treated as live/healthy 38490 and non-zero is unhealthy. 38491 items: 38492 type: string 38493 type: array 38494 type: object 38495 failureThreshold: 38496 description: Minimum consecutive failures 38497 for the probe to be considered failed 38498 after having succeeded. Defaults 38499 to 3. Minimum value is 1. 38500 format: int32 38501 type: integer 38502 grpc: 38503 description: GRPC specifies an action 38504 involving a GRPC port. This is a 38505 beta field and requires enabling 38506 GRPCContainerProbe feature gate. 38507 properties: 38508 port: 38509 description: Port number of the 38510 gRPC service. Number must be 38511 in the range 1 to 65535. 38512 format: int32 38513 type: integer 38514 service: 38515 description: "Service is the name 38516 of the service to place in the 38517 gRPC HealthCheckRequest (see 38518 https://github.com/grpc/grpc/blob/master/doc/health-checking.md). 38519 \n If this is not specified, 38520 the default behavior is defined 38521 by gRPC." 38522 type: string 38523 required: 38524 - port 38525 type: object 38526 httpGet: 38527 description: HTTPGet specifies the 38528 http request to perform. 38529 properties: 38530 host: 38531 description: Host name to connect 38532 to, defaults to the pod IP. 38533 You probably want to set "Host" 38534 in httpHeaders instead. 38535 type: string 38536 httpHeaders: 38537 description: Custom headers to 38538 set in the request. HTTP allows 38539 repeated headers. 38540 items: 38541 description: HTTPHeader describes 38542 a custom header to be used 38543 in HTTP probes 38544 properties: 38545 name: 38546 description: The header 38547 field name 38548 type: string 38549 value: 38550 description: The header 38551 field value 38552 type: string 38553 required: 38554 - name 38555 - value 38556 type: object 38557 type: array 38558 path: 38559 description: Path to access on 38560 the HTTP server. 38561 type: string 38562 port: 38563 anyOf: 38564 - type: integer 38565 - type: string 38566 description: Name or number of 38567 the port to access on the container. 38568 Number must be in the range 38569 1 to 65535. Name must be an 38570 IANA_SVC_NAME. 38571 x-kubernetes-int-or-string: true 38572 scheme: 38573 description: Scheme to use for 38574 connecting to the host. Defaults 38575 to HTTP. 38576 type: string 38577 required: 38578 - port 38579 type: object 38580 initialDelaySeconds: 38581 description: 'Number of seconds after 38582 the container has started before 38583 liveness probes are initiated. More 38584 info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 38585 format: int32 38586 type: integer 38587 periodSeconds: 38588 description: How often (in seconds) 38589 to perform the probe. Default to 38590 10 seconds. Minimum value is 1. 38591 format: int32 38592 type: integer 38593 successThreshold: 38594 description: Minimum consecutive successes 38595 for the probe to be considered successful 38596 after having failed. Defaults to 38597 1. Must be 1 for liveness and startup. 38598 Minimum value is 1. 38599 format: int32 38600 type: integer 38601 tcpSocket: 38602 description: TCPSocket specifies an 38603 action involving a TCP port. 38604 properties: 38605 host: 38606 description: 'Optional: Host name 38607 to connect to, defaults to the 38608 pod IP.' 38609 type: string 38610 port: 38611 anyOf: 38612 - type: integer 38613 - type: string 38614 description: Number or name of 38615 the port to access on the container. 38616 Number must be in the range 38617 1 to 65535. Name must be an 38618 IANA_SVC_NAME. 38619 x-kubernetes-int-or-string: true 38620 required: 38621 - port 38622 type: object 38623 terminationGracePeriodSeconds: 38624 description: Optional duration in 38625 seconds the pod needs to terminate 38626 gracefully upon probe failure. The 38627 grace period is the duration in 38628 seconds after the processes running 38629 in the pod are sent a termination 38630 signal and the time when the processes 38631 are forcibly halted with a kill 38632 signal. Set this value longer than 38633 the expected cleanup time for your 38634 process. If this value is nil, the 38635 pod's terminationGracePeriodSeconds 38636 will be used. Otherwise, this value 38637 overrides the value provided by 38638 the pod spec. Value must be non-negative 38639 integer. The value zero indicates 38640 stop immediately via the kill signal 38641 (no opportunity to shut down). This 38642 is a beta field and requires enabling 38643 ProbeTerminationGracePeriod feature 38644 gate. Minimum value is 1. spec.terminationGracePeriodSeconds 38645 is used if unset. 38646 format: int64 38647 type: integer 38648 timeoutSeconds: 38649 description: 'Number of seconds after 38650 which the probe times out. Defaults 38651 to 1 second. Minimum value is 1. 38652 More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 38653 format: int32 38654 type: integer 38655 type: object 38656 resources: 38657 description: 'Compute Resources required 38658 by this Sidecar. Cannot be updated. 38659 More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' 38660 properties: 38661 limits: 38662 additionalProperties: 38663 anyOf: 38664 - type: integer 38665 - type: string 38666 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 38667 x-kubernetes-int-or-string: true 38668 description: 'Limits describes the 38669 maximum amount of compute resources 38670 allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' 38671 type: object 38672 requests: 38673 additionalProperties: 38674 anyOf: 38675 - type: integer 38676 - type: string 38677 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 38678 x-kubernetes-int-or-string: true 38679 description: 'Requests describes the 38680 minimum amount of compute resources 38681 required. If Requests is omitted 38682 for a container, it defaults to 38683 Limits if that is explicitly specified, 38684 otherwise to an implementation-defined 38685 value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' 38686 type: object 38687 type: object 38688 script: 38689 description: "Script is the contents of 38690 an executable file to execute. \n If 38691 Script is not empty, the Step cannot 38692 have an Command or Args." 38693 type: string 38694 securityContext: 38695 description: 'SecurityContext defines 38696 the security options the Sidecar should 38697 be run with. If set, the fields of SecurityContext 38698 override the equivalent fields of PodSecurityContext. 38699 More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/' 38700 properties: 38701 allowPrivilegeEscalation: 38702 description: 'AllowPrivilegeEscalation 38703 controls whether a process can gain 38704 more privileges than its parent 38705 process. This bool directly controls 38706 if the no_new_privs flag will be 38707 set on the container process. AllowPrivilegeEscalation 38708 is true always when the container 38709 is: 1) run as Privileged 2) has 38710 CAP_SYS_ADMIN Note that this field 38711 cannot be set when spec.os.name 38712 is windows.' 38713 type: boolean 38714 capabilities: 38715 description: The capabilities to add/drop 38716 when running containers. Defaults 38717 to the default set of capabilities 38718 granted by the container runtime. 38719 Note that this field cannot be set 38720 when spec.os.name is windows. 38721 properties: 38722 add: 38723 description: Added capabilities 38724 items: 38725 description: Capability represent 38726 POSIX capabilities type 38727 type: string 38728 type: array 38729 drop: 38730 description: Removed capabilities 38731 items: 38732 description: Capability represent 38733 POSIX capabilities type 38734 type: string 38735 type: array 38736 type: object 38737 privileged: 38738 description: Run container in privileged 38739 mode. Processes in privileged containers 38740 are essentially equivalent to root 38741 on the host. Defaults to false. 38742 Note that this field cannot be set 38743 when spec.os.name is windows. 38744 type: boolean 38745 procMount: 38746 description: procMount denotes the 38747 type of proc mount to use for the 38748 containers. The default is DefaultProcMount 38749 which uses the container runtime 38750 defaults for readonly paths and 38751 masked paths. This requires the 38752 ProcMountType feature flag to be 38753 enabled. Note that this field cannot 38754 be set when spec.os.name is windows. 38755 type: string 38756 readOnlyRootFilesystem: 38757 description: Whether this container 38758 has a read-only root filesystem. 38759 Default is false. Note that this 38760 field cannot be set when spec.os.name 38761 is windows. 38762 type: boolean 38763 runAsGroup: 38764 description: The GID to run the entrypoint 38765 of the container process. Uses runtime 38766 default if unset. May also be set 38767 in PodSecurityContext. If set in 38768 both SecurityContext and PodSecurityContext, 38769 the value specified in SecurityContext 38770 takes precedence. Note that this 38771 field cannot be set when spec.os.name 38772 is windows. 38773 format: int64 38774 type: integer 38775 runAsNonRoot: 38776 description: Indicates that the container 38777 must run as a non-root user. If 38778 true, the Kubelet will validate 38779 the image at runtime to ensure that 38780 it does not run as UID 0 (root) 38781 and fail to start the container 38782 if it does. If unset or false, no 38783 such validation will be performed. 38784 May also be set in PodSecurityContext. If 38785 set in both SecurityContext and 38786 PodSecurityContext, the value specified 38787 in SecurityContext takes precedence. 38788 type: boolean 38789 runAsUser: 38790 description: The UID to run the entrypoint 38791 of the container process. Defaults 38792 to user specified in image metadata 38793 if unspecified. May also be set 38794 in PodSecurityContext. If set in 38795 both SecurityContext and PodSecurityContext, 38796 the value specified in SecurityContext 38797 takes precedence. Note that this 38798 field cannot be set when spec.os.name 38799 is windows. 38800 format: int64 38801 type: integer 38802 seLinuxOptions: 38803 description: The SELinux context to 38804 be applied to the container. If 38805 unspecified, the container runtime 38806 will allocate a random SELinux context 38807 for each container. May also be 38808 set in PodSecurityContext. If set 38809 in both SecurityContext and PodSecurityContext, 38810 the value specified in SecurityContext 38811 takes precedence. Note that this 38812 field cannot be set when spec.os.name 38813 is windows. 38814 properties: 38815 level: 38816 description: Level is SELinux 38817 level label that applies to 38818 the container. 38819 type: string 38820 role: 38821 description: Role is a SELinux 38822 role label that applies to the 38823 container. 38824 type: string 38825 type: 38826 description: Type is a SELinux 38827 type label that applies to the 38828 container. 38829 type: string 38830 user: 38831 description: User is a SELinux 38832 user label that applies to the 38833 container. 38834 type: string 38835 type: object 38836 seccompProfile: 38837 description: The seccomp options to 38838 use by this container. If seccomp 38839 options are provided at both the 38840 pod & container level, the container 38841 options override the pod options. 38842 Note that this field cannot be set 38843 when spec.os.name is windows. 38844 properties: 38845 localhostProfile: 38846 description: localhostProfile 38847 indicates a profile defined 38848 in a file on the node should 38849 be used. The profile must be 38850 preconfigured on the node to 38851 work. Must be a descending path, 38852 relative to the kubelet's configured 38853 seccomp profile location. Must 38854 only be set if type is "Localhost". 38855 type: string 38856 type: 38857 description: "type indicates which 38858 kind of seccomp profile will 38859 be applied. Valid options are: 38860 \n Localhost - a profile defined 38861 in a file on the node should 38862 be used. RuntimeDefault - the 38863 container runtime default profile 38864 should be used. Unconfined - 38865 no profile should be applied." 38866 type: string 38867 required: 38868 - type 38869 type: object 38870 windowsOptions: 38871 description: The Windows specific 38872 settings applied to all containers. 38873 If unspecified, the options from 38874 the PodSecurityContext will be used. 38875 If set in both SecurityContext and 38876 PodSecurityContext, the value specified 38877 in SecurityContext takes precedence. 38878 Note that this field cannot be set 38879 when spec.os.name is linux. 38880 properties: 38881 gmsaCredentialSpec: 38882 description: GMSACredentialSpec 38883 is where the GMSA admission 38884 webhook (https://github.com/kubernetes-sigs/windows-gmsa) 38885 inlines the contents of the 38886 GMSA credential spec named by 38887 the GMSACredentialSpecName field. 38888 type: string 38889 gmsaCredentialSpecName: 38890 description: GMSACredentialSpecName 38891 is the name of the GMSA credential 38892 spec to use. 38893 type: string 38894 hostProcess: 38895 description: HostProcess determines 38896 if a container should be run 38897 as a 'Host Process' container. 38898 This field is alpha-level and 38899 will only be honored by components 38900 that enable the WindowsHostProcessContainers 38901 feature flag. Setting this field 38902 without the feature flag will 38903 result in errors when validating 38904 the Pod. All of a Pod's containers 38905 must have the same effective 38906 HostProcess value (it is not 38907 allowed to have a mix of HostProcess 38908 containers and non-HostProcess 38909 containers). In addition, if 38910 HostProcess is true then HostNetwork 38911 must also be set to true. 38912 type: boolean 38913 runAsUserName: 38914 description: The UserName in Windows 38915 to run the entrypoint of the 38916 container process. Defaults 38917 to the user specified in image 38918 metadata if unspecified. May 38919 also be set in PodSecurityContext. 38920 If set in both SecurityContext 38921 and PodSecurityContext, the 38922 value specified in SecurityContext 38923 takes precedence. 38924 type: string 38925 type: object 38926 type: object 38927 startupProbe: 38928 description: 'StartupProbe indicates that 38929 the Pod the Sidecar is running in has 38930 successfully initialized. If specified, 38931 no other probes are executed until this 38932 completes successfully. If this probe 38933 fails, the Pod will be restarted, just 38934 as if the livenessProbe failed. This 38935 can be used to provide different probe 38936 parameters at the beginning of a Pod''s 38937 lifecycle, when it might take a long 38938 time to load data or warm a cache, than 38939 during steady-state operation. This 38940 cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 38941 properties: 38942 exec: 38943 description: Exec specifies the action 38944 to take. 38945 properties: 38946 command: 38947 description: Command is the command 38948 line to execute inside the container, 38949 the working directory for the 38950 command is root ('/') in the 38951 container's filesystem. The 38952 command is simply exec'd, it 38953 is not run inside a shell, so 38954 traditional shell instructions 38955 ('|', etc) won't work. To use 38956 a shell, you need to explicitly 38957 call out to that shell. Exit 38958 status of 0 is treated as live/healthy 38959 and non-zero is unhealthy. 38960 items: 38961 type: string 38962 type: array 38963 type: object 38964 failureThreshold: 38965 description: Minimum consecutive failures 38966 for the probe to be considered failed 38967 after having succeeded. Defaults 38968 to 3. Minimum value is 1. 38969 format: int32 38970 type: integer 38971 grpc: 38972 description: GRPC specifies an action 38973 involving a GRPC port. This is a 38974 beta field and requires enabling 38975 GRPCContainerProbe feature gate. 38976 properties: 38977 port: 38978 description: Port number of the 38979 gRPC service. Number must be 38980 in the range 1 to 65535. 38981 format: int32 38982 type: integer 38983 service: 38984 description: "Service is the name 38985 of the service to place in the 38986 gRPC HealthCheckRequest (see 38987 https://github.com/grpc/grpc/blob/master/doc/health-checking.md). 38988 \n If this is not specified, 38989 the default behavior is defined 38990 by gRPC." 38991 type: string 38992 required: 38993 - port 38994 type: object 38995 httpGet: 38996 description: HTTPGet specifies the 38997 http request to perform. 38998 properties: 38999 host: 39000 description: Host name to connect 39001 to, defaults to the pod IP. 39002 You probably want to set "Host" 39003 in httpHeaders instead. 39004 type: string 39005 httpHeaders: 39006 description: Custom headers to 39007 set in the request. HTTP allows 39008 repeated headers. 39009 items: 39010 description: HTTPHeader describes 39011 a custom header to be used 39012 in HTTP probes 39013 properties: 39014 name: 39015 description: The header 39016 field name 39017 type: string 39018 value: 39019 description: The header 39020 field value 39021 type: string 39022 required: 39023 - name 39024 - value 39025 type: object 39026 type: array 39027 path: 39028 description: Path to access on 39029 the HTTP server. 39030 type: string 39031 port: 39032 anyOf: 39033 - type: integer 39034 - type: string 39035 description: Name or number of 39036 the port to access on the container. 39037 Number must be in the range 39038 1 to 65535. Name must be an 39039 IANA_SVC_NAME. 39040 x-kubernetes-int-or-string: true 39041 scheme: 39042 description: Scheme to use for 39043 connecting to the host. Defaults 39044 to HTTP. 39045 type: string 39046 required: 39047 - port 39048 type: object 39049 initialDelaySeconds: 39050 description: 'Number of seconds after 39051 the container has started before 39052 liveness probes are initiated. More 39053 info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 39054 format: int32 39055 type: integer 39056 periodSeconds: 39057 description: How often (in seconds) 39058 to perform the probe. Default to 39059 10 seconds. Minimum value is 1. 39060 format: int32 39061 type: integer 39062 successThreshold: 39063 description: Minimum consecutive successes 39064 for the probe to be considered successful 39065 after having failed. Defaults to 39066 1. Must be 1 for liveness and startup. 39067 Minimum value is 1. 39068 format: int32 39069 type: integer 39070 tcpSocket: 39071 description: TCPSocket specifies an 39072 action involving a TCP port. 39073 properties: 39074 host: 39075 description: 'Optional: Host name 39076 to connect to, defaults to the 39077 pod IP.' 39078 type: string 39079 port: 39080 anyOf: 39081 - type: integer 39082 - type: string 39083 description: Number or name of 39084 the port to access on the container. 39085 Number must be in the range 39086 1 to 65535. Name must be an 39087 IANA_SVC_NAME. 39088 x-kubernetes-int-or-string: true 39089 required: 39090 - port 39091 type: object 39092 terminationGracePeriodSeconds: 39093 description: Optional duration in 39094 seconds the pod needs to terminate 39095 gracefully upon probe failure. The 39096 grace period is the duration in 39097 seconds after the processes running 39098 in the pod are sent a termination 39099 signal and the time when the processes 39100 are forcibly halted with a kill 39101 signal. Set this value longer than 39102 the expected cleanup time for your 39103 process. If this value is nil, the 39104 pod's terminationGracePeriodSeconds 39105 will be used. Otherwise, this value 39106 overrides the value provided by 39107 the pod spec. Value must be non-negative 39108 integer. The value zero indicates 39109 stop immediately via the kill signal 39110 (no opportunity to shut down). This 39111 is a beta field and requires enabling 39112 ProbeTerminationGracePeriod feature 39113 gate. Minimum value is 1. spec.terminationGracePeriodSeconds 39114 is used if unset. 39115 format: int64 39116 type: integer 39117 timeoutSeconds: 39118 description: 'Number of seconds after 39119 which the probe times out. Defaults 39120 to 1 second. Minimum value is 1. 39121 More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 39122 format: int32 39123 type: integer 39124 type: object 39125 stdin: 39126 description: Whether this Sidecar should 39127 allocate a buffer for stdin in the container 39128 runtime. If this is not set, reads from 39129 stdin in the Sidecar will always result 39130 in EOF. Default is false. 39131 type: boolean 39132 stdinOnce: 39133 description: Whether the container runtime 39134 should close the stdin channel after 39135 it has been opened by a single attach. 39136 When stdin is true the stdin stream 39137 will remain open across multiple attach 39138 sessions. If stdinOnce is set to true, 39139 stdin is opened on Sidecar start, is 39140 empty until the first client attaches 39141 to stdin, and then remains open and 39142 accepts data until the client disconnects, 39143 at which time stdin is closed and remains 39144 closed until the Sidecar is restarted. 39145 If this flag is false, a container processes 39146 that reads from stdin will never receive 39147 an EOF. Default is false 39148 type: boolean 39149 terminationMessagePath: 39150 description: 'Optional: Path at which 39151 the file to which the Sidecar''s termination 39152 message will be written is mounted into 39153 the Sidecar''s filesystem. Message written 39154 is intended to be brief final status, 39155 such as an assertion failure message. 39156 Will be truncated by the node if greater 39157 than 4096 bytes. The total message length 39158 across all containers will be limited 39159 to 12kb. Defaults to /dev/termination-log. 39160 Cannot be updated.' 39161 type: string 39162 terminationMessagePolicy: 39163 description: Indicate how the termination 39164 message should be populated. File will 39165 use the contents of terminationMessagePath 39166 to populate the Sidecar status message 39167 on both success and failure. FallbackToLogsOnError 39168 will use the last chunk of Sidecar log 39169 output if the termination message file 39170 is empty and the Sidecar exited with 39171 an error. The log output is limited 39172 to 2048 bytes or 80 lines, whichever 39173 is smaller. Defaults to File. Cannot 39174 be updated. 39175 type: string 39176 tty: 39177 description: Whether this Sidecar should 39178 allocate a TTY for itself, also requires 39179 'stdin' to be true. Default is false. 39180 type: boolean 39181 volumeDevices: 39182 description: volumeDevices is the list 39183 of block devices to be used by the Sidecar. 39184 items: 39185 description: volumeDevice describes 39186 a mapping of a raw block device within 39187 a container. 39188 properties: 39189 devicePath: 39190 description: devicePath is the path 39191 inside of the container that the 39192 device will be mapped to. 39193 type: string 39194 name: 39195 description: name must match the 39196 name of a persistentVolumeClaim 39197 in the pod 39198 type: string 39199 required: 39200 - devicePath 39201 - name 39202 type: object 39203 type: array 39204 x-kubernetes-list-type: atomic 39205 volumeMounts: 39206 description: Volumes to mount into the 39207 Sidecar's filesystem. Cannot be updated. 39208 items: 39209 description: VolumeMount describes a 39210 mounting of a Volume within a container. 39211 properties: 39212 mountPath: 39213 description: Path within the container 39214 at which the volume should be 39215 mounted. Must not contain ':'. 39216 type: string 39217 mountPropagation: 39218 description: mountPropagation determines 39219 how mounts are propagated from 39220 the host to container and the 39221 other way around. When not set, 39222 MountPropagationNone is used. 39223 This field is beta in 1.10. 39224 type: string 39225 name: 39226 description: This must match the 39227 Name of a Volume. 39228 type: string 39229 readOnly: 39230 description: Mounted read-only if 39231 true, read-write otherwise (false 39232 or unspecified). Defaults to false. 39233 type: boolean 39234 subPath: 39235 description: Path within the volume 39236 from which the container's volume 39237 should be mounted. Defaults to 39238 "" (volume's root). 39239 type: string 39240 subPathExpr: 39241 description: Expanded path within 39242 the volume from which the container's 39243 volume should be mounted. Behaves 39244 similarly to SubPath but environment 39245 variable references $(VAR_NAME) 39246 are expanded using the container's 39247 environment. Defaults to "" (volume's 39248 root). SubPathExpr and SubPath 39249 are mutually exclusive. 39250 type: string 39251 required: 39252 - mountPath 39253 - name 39254 type: object 39255 type: array 39256 x-kubernetes-list-type: atomic 39257 workingDir: 39258 description: Sidecar's working directory. 39259 If not specified, the container runtime's 39260 default will be used, which might be 39261 configured in the container image. Cannot 39262 be updated. 39263 type: string 39264 workspaces: 39265 description: "This is an alpha field. 39266 You must set the \"enable-api-fields\" 39267 feature flag to \"alpha\" for this field 39268 to be supported. \n Workspaces is a 39269 list of workspaces from the Task that 39270 this Sidecar wants exclusive access 39271 to. Adding a workspace to this list 39272 means that any other Step or Sidecar 39273 that does not also request this Workspace 39274 will not have access to it." 39275 items: 39276 description: WorkspaceUsage is used 39277 by a Step or Sidecar to declare that 39278 it wants isolated access to a Workspace 39279 defined in a Task. 39280 properties: 39281 mountPath: 39282 description: MountPath is the path 39283 that the workspace should be mounted 39284 to inside the Step or Sidecar, 39285 overriding any MountPath specified 39286 in the Task's WorkspaceDeclaration. 39287 type: string 39288 name: 39289 description: Name is the name of 39290 the workspace this Step or Sidecar 39291 wants access to. 39292 type: string 39293 required: 39294 - mountPath 39295 - name 39296 type: object 39297 type: array 39298 x-kubernetes-list-type: atomic 39299 required: 39300 - name 39301 type: object 39302 type: array 39303 x-kubernetes-list-type: atomic 39304 spec: 39305 description: Spec is a specification of a custom 39306 task 39307 type: object 39308 stepTemplate: 39309 description: StepTemplate can be used as the 39310 basis for all step containers within the Task, 39311 so that the steps inherit settings on the 39312 base container. 39313 properties: 39314 args: 39315 description: 'Arguments to the entrypoint. 39316 The image''s CMD is used if this is not 39317 provided. Variable references $(VAR_NAME) 39318 are expanded using the Step''s environment. 39319 If a variable cannot be resolved, the 39320 reference in the input string will be 39321 unchanged. Double $$ are reduced to a 39322 single $, which allows for escaping the 39323 $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" 39324 will produce the string literal "$(VAR_NAME)". 39325 Escaped references will never be expanded, 39326 regardless of whether the variable exists 39327 or not. Cannot be updated. More info: 39328 https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell' 39329 items: 39330 type: string 39331 type: array 39332 x-kubernetes-list-type: atomic 39333 command: 39334 description: 'Entrypoint array. Not executed 39335 within a shell. The docker image''s ENTRYPOINT 39336 is used if this is not provided. Variable 39337 references $(VAR_NAME) are expanded using 39338 the Step''s environment. If a variable 39339 cannot be resolved, the reference in the 39340 input string will be unchanged. Double 39341 $$ are reduced to a single $, which allows 39342 for escaping the $(VAR_NAME) syntax: i.e. 39343 "$$(VAR_NAME)" will produce the string 39344 literal "$(VAR_NAME)". Escaped references 39345 will never be expanded, regardless of 39346 whether the variable exists or not. Cannot 39347 be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell' 39348 items: 39349 type: string 39350 type: array 39351 x-kubernetes-list-type: atomic 39352 env: 39353 description: List of environment variables 39354 to set in the container. Cannot be updated. 39355 items: 39356 description: EnvVar represents an environment 39357 variable present in a Container. 39358 properties: 39359 name: 39360 description: Name of the environment 39361 variable. Must be a C_IDENTIFIER. 39362 type: string 39363 value: 39364 description: 'Variable references 39365 $(VAR_NAME) are expanded using the 39366 previously defined environment variables 39367 in the container and any service 39368 environment variables. If a variable 39369 cannot be resolved, the reference 39370 in the input string will be unchanged. 39371 Double $$ are reduced to a single 39372 $, which allows for escaping the 39373 $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" 39374 will produce the string literal 39375 "$(VAR_NAME)". Escaped references 39376 will never be expanded, regardless 39377 of whether the variable exists or 39378 not. Defaults to "".' 39379 type: string 39380 valueFrom: 39381 description: Source for the environment 39382 variable's value. Cannot be used 39383 if value is not empty. 39384 properties: 39385 configMapKeyRef: 39386 description: Selects a key of 39387 a ConfigMap. 39388 properties: 39389 key: 39390 description: The key to select. 39391 type: string 39392 name: 39393 description: 'Name of the 39394 referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 39395 TODO: Add other useful fields. 39396 apiVersion, kind, uid?' 39397 type: string 39398 optional: 39399 description: Specify whether 39400 the ConfigMap or its key 39401 must be defined 39402 type: boolean 39403 required: 39404 - key 39405 type: object 39406 fieldRef: 39407 description: 'Selects a field 39408 of the pod: supports metadata.name, 39409 metadata.namespace, `metadata.labels[''<KEY>'']`, 39410 `metadata.annotations[''<KEY>'']`, 39411 spec.nodeName, spec.serviceAccountName, 39412 status.hostIP, status.podIP, 39413 status.podIPs.' 39414 properties: 39415 apiVersion: 39416 description: Version of the 39417 schema the FieldPath is 39418 written in terms of, defaults 39419 to "v1". 39420 type: string 39421 fieldPath: 39422 description: Path of the field 39423 to select in the specified 39424 API version. 39425 type: string 39426 required: 39427 - fieldPath 39428 type: object 39429 resourceFieldRef: 39430 description: 'Selects a resource 39431 of the container: only resources 39432 limits and requests (limits.cpu, 39433 limits.memory, limits.ephemeral-storage, 39434 requests.cpu, requests.memory 39435 and requests.ephemeral-storage) 39436 are currently supported.' 39437 properties: 39438 containerName: 39439 description: 'Container name: 39440 required for volumes, optional 39441 for env vars' 39442 type: string 39443 divisor: 39444 anyOf: 39445 - type: integer 39446 - type: string 39447 description: Specifies the 39448 output format of the exposed 39449 resources, defaults to "1" 39450 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 39451 x-kubernetes-int-or-string: true 39452 resource: 39453 description: 'Required: resource 39454 to select' 39455 type: string 39456 required: 39457 - resource 39458 type: object 39459 secretKeyRef: 39460 description: Selects a key of 39461 a secret in the pod's namespace 39462 properties: 39463 key: 39464 description: The key of the 39465 secret to select from. Must 39466 be a valid secret key. 39467 type: string 39468 name: 39469 description: 'Name of the 39470 referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 39471 TODO: Add other useful fields. 39472 apiVersion, kind, uid?' 39473 type: string 39474 optional: 39475 description: Specify whether 39476 the Secret or its key must 39477 be defined 39478 type: boolean 39479 required: 39480 - key 39481 type: object 39482 type: object 39483 required: 39484 - name 39485 type: object 39486 type: array 39487 x-kubernetes-list-type: atomic 39488 envFrom: 39489 description: List of sources to populate 39490 environment variables in the Step. The 39491 keys defined within a source must be a 39492 C_IDENTIFIER. All invalid keys will be 39493 reported as an event when the container 39494 is starting. When a key exists in multiple 39495 sources, the value associated with the 39496 last source will take precedence. Values 39497 defined by an Env with a duplicate key 39498 will take precedence. Cannot be updated. 39499 items: 39500 description: EnvFromSource represents 39501 the source of a set of ConfigMaps 39502 properties: 39503 configMapRef: 39504 description: The ConfigMap to select 39505 from 39506 properties: 39507 name: 39508 description: 'Name of the referent. 39509 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 39510 TODO: Add other useful fields. 39511 apiVersion, kind, uid?' 39512 type: string 39513 optional: 39514 description: Specify whether the 39515 ConfigMap must be defined 39516 type: boolean 39517 type: object 39518 prefix: 39519 description: An optional identifier 39520 to prepend to each key in the ConfigMap. 39521 Must be a C_IDENTIFIER. 39522 type: string 39523 secretRef: 39524 description: The Secret to select 39525 from 39526 properties: 39527 name: 39528 description: 'Name of the referent. 39529 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 39530 TODO: Add other useful fields. 39531 apiVersion, kind, uid?' 39532 type: string 39533 optional: 39534 description: Specify whether the 39535 Secret must be defined 39536 type: boolean 39537 type: object 39538 type: object 39539 type: array 39540 x-kubernetes-list-type: atomic 39541 image: 39542 description: 'Default image name to use 39543 for each Step. More info: https://kubernetes.io/docs/concepts/containers/images 39544 This field is optional to allow higher 39545 level config management to default or 39546 override container images in workload 39547 controllers like Deployments and StatefulSets.' 39548 type: string 39549 imagePullPolicy: 39550 description: 'Image pull policy. One of 39551 Always, Never, IfNotPresent. Defaults 39552 to Always if :latest tag is specified, 39553 or IfNotPresent otherwise. Cannot be updated. 39554 More info: https://kubernetes.io/docs/concepts/containers/images#updating-images' 39555 type: string 39556 lifecycle: 39557 description: Deprecated. This field will 39558 be removed in a future release. Actions 39559 that the management system should take 39560 in response to container lifecycle events. 39561 Cannot be updated. 39562 properties: 39563 postStart: 39564 description: 'PostStart is called immediately 39565 after a container is created. If the 39566 handler fails, the container is terminated 39567 and restarted according to its restart 39568 policy. Other management of the container 39569 blocks until the hook completes. More 39570 info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks' 39571 properties: 39572 exec: 39573 description: Exec specifies the 39574 action to take. 39575 properties: 39576 command: 39577 description: Command is the 39578 command line to execute inside 39579 the container, the working 39580 directory for the command is 39581 root ('/') in the container's 39582 filesystem. The command is 39583 simply exec'd, it is not run 39584 inside a shell, so traditional 39585 shell instructions ('|', etc) 39586 won't work. To use a shell, 39587 you need to explicitly call 39588 out to that shell. Exit status 39589 of 0 is treated as live/healthy 39590 and non-zero is unhealthy. 39591 items: 39592 type: string 39593 type: array 39594 type: object 39595 httpGet: 39596 description: HTTPGet specifies the 39597 http request to perform. 39598 properties: 39599 host: 39600 description: Host name to connect 39601 to, defaults to the pod IP. 39602 You probably want to set "Host" 39603 in httpHeaders instead. 39604 type: string 39605 httpHeaders: 39606 description: Custom headers 39607 to set in the request. HTTP 39608 allows repeated headers. 39609 items: 39610 description: HTTPHeader describes 39611 a custom header to be used 39612 in HTTP probes 39613 properties: 39614 name: 39615 description: The header 39616 field name 39617 type: string 39618 value: 39619 description: The header 39620 field value 39621 type: string 39622 required: 39623 - name 39624 - value 39625 type: object 39626 type: array 39627 path: 39628 description: Path to access 39629 on the HTTP server. 39630 type: string 39631 port: 39632 anyOf: 39633 - type: integer 39634 - type: string 39635 description: Name or number 39636 of the port to access on the 39637 container. Number must be 39638 in the range 1 to 65535. Name 39639 must be an IANA_SVC_NAME. 39640 x-kubernetes-int-or-string: true 39641 scheme: 39642 description: Scheme to use for 39643 connecting to the host. Defaults 39644 to HTTP. 39645 type: string 39646 required: 39647 - port 39648 type: object 39649 tcpSocket: 39650 description: Deprecated. TCPSocket 39651 is NOT supported as a LifecycleHandler 39652 and kept for the backward compatibility. 39653 There are no validation of this 39654 field and lifecycle hooks will 39655 fail in runtime when tcp handler 39656 is specified. 39657 properties: 39658 host: 39659 description: 'Optional: Host 39660 name to connect to, defaults 39661 to the pod IP.' 39662 type: string 39663 port: 39664 anyOf: 39665 - type: integer 39666 - type: string 39667 description: Number or name 39668 of the port to access on the 39669 container. Number must be 39670 in the range 1 to 65535. Name 39671 must be an IANA_SVC_NAME. 39672 x-kubernetes-int-or-string: true 39673 required: 39674 - port 39675 type: object 39676 type: object 39677 preStop: 39678 description: 'PreStop is called immediately 39679 before a container is terminated due 39680 to an API request or management event 39681 such as liveness/startup probe failure, 39682 preemption, resource contention, etc. 39683 The handler is not called if the container 39684 crashes or exits. The Pod''s termination 39685 grace period countdown begins before 39686 the PreStop hook is executed. Regardless 39687 of the outcome of the handler, the 39688 container will eventually terminate 39689 within the Pod''s termination grace 39690 period (unless delayed by finalizers). 39691 Other management of the container 39692 blocks until the hook completes or 39693 until the termination grace period 39694 is reached. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks' 39695 properties: 39696 exec: 39697 description: Exec specifies the 39698 action to take. 39699 properties: 39700 command: 39701 description: Command is the 39702 command line to execute inside 39703 the container, the working 39704 directory for the command is 39705 root ('/') in the container's 39706 filesystem. The command is 39707 simply exec'd, it is not run 39708 inside a shell, so traditional 39709 shell instructions ('|', etc) 39710 won't work. To use a shell, 39711 you need to explicitly call 39712 out to that shell. Exit status 39713 of 0 is treated as live/healthy 39714 and non-zero is unhealthy. 39715 items: 39716 type: string 39717 type: array 39718 type: object 39719 httpGet: 39720 description: HTTPGet specifies the 39721 http request to perform. 39722 properties: 39723 host: 39724 description: Host name to connect 39725 to, defaults to the pod IP. 39726 You probably want to set "Host" 39727 in httpHeaders instead. 39728 type: string 39729 httpHeaders: 39730 description: Custom headers 39731 to set in the request. HTTP 39732 allows repeated headers. 39733 items: 39734 description: HTTPHeader describes 39735 a custom header to be used 39736 in HTTP probes 39737 properties: 39738 name: 39739 description: The header 39740 field name 39741 type: string 39742 value: 39743 description: The header 39744 field value 39745 type: string 39746 required: 39747 - name 39748 - value 39749 type: object 39750 type: array 39751 path: 39752 description: Path to access 39753 on the HTTP server. 39754 type: string 39755 port: 39756 anyOf: 39757 - type: integer 39758 - type: string 39759 description: Name or number 39760 of the port to access on the 39761 container. Number must be 39762 in the range 1 to 65535. Name 39763 must be an IANA_SVC_NAME. 39764 x-kubernetes-int-or-string: true 39765 scheme: 39766 description: Scheme to use for 39767 connecting to the host. Defaults 39768 to HTTP. 39769 type: string 39770 required: 39771 - port 39772 type: object 39773 tcpSocket: 39774 description: Deprecated. TCPSocket 39775 is NOT supported as a LifecycleHandler 39776 and kept for the backward compatibility. 39777 There are no validation of this 39778 field and lifecycle hooks will 39779 fail in runtime when tcp handler 39780 is specified. 39781 properties: 39782 host: 39783 description: 'Optional: Host 39784 name to connect to, defaults 39785 to the pod IP.' 39786 type: string 39787 port: 39788 anyOf: 39789 - type: integer 39790 - type: string 39791 description: Number or name 39792 of the port to access on the 39793 container. Number must be 39794 in the range 1 to 65535. Name 39795 must be an IANA_SVC_NAME. 39796 x-kubernetes-int-or-string: true 39797 required: 39798 - port 39799 type: object 39800 type: object 39801 type: object 39802 livenessProbe: 39803 description: 'Deprecated. This field will 39804 be removed in a future release. Periodic 39805 probe of container liveness. Container 39806 will be restarted if the probe fails. 39807 Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 39808 properties: 39809 exec: 39810 description: Exec specifies the action 39811 to take. 39812 properties: 39813 command: 39814 description: Command is the command 39815 line to execute inside the container, 39816 the working directory for the 39817 command is root ('/') in the 39818 container's filesystem. The command 39819 is simply exec'd, it is not run 39820 inside a shell, so traditional 39821 shell instructions ('|', etc) 39822 won't work. To use a shell, you 39823 need to explicitly call out to 39824 that shell. Exit status of 0 is 39825 treated as live/healthy and non-zero 39826 is unhealthy. 39827 items: 39828 type: string 39829 type: array 39830 type: object 39831 failureThreshold: 39832 description: Minimum consecutive failures 39833 for the probe to be considered failed 39834 after having succeeded. Defaults to 39835 3. Minimum value is 1. 39836 format: int32 39837 type: integer 39838 grpc: 39839 description: GRPC specifies an action 39840 involving a GRPC port. This is a beta 39841 field and requires enabling GRPCContainerProbe 39842 feature gate. 39843 properties: 39844 port: 39845 description: Port number of the 39846 gRPC service. Number must be in 39847 the range 1 to 65535. 39848 format: int32 39849 type: integer 39850 service: 39851 description: "Service is the name 39852 of the service to place in the 39853 gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). 39854 \n If this is not specified, the 39855 default behavior is defined by 39856 gRPC." 39857 type: string 39858 required: 39859 - port 39860 type: object 39861 httpGet: 39862 description: HTTPGet specifies the http 39863 request to perform. 39864 properties: 39865 host: 39866 description: Host name to connect 39867 to, defaults to the pod IP. You 39868 probably want to set "Host" in 39869 httpHeaders instead. 39870 type: string 39871 httpHeaders: 39872 description: Custom headers to set 39873 in the request. HTTP allows repeated 39874 headers. 39875 items: 39876 description: HTTPHeader describes 39877 a custom header to be used in 39878 HTTP probes 39879 properties: 39880 name: 39881 description: The header field 39882 name 39883 type: string 39884 value: 39885 description: The header field 39886 value 39887 type: string 39888 required: 39889 - name 39890 - value 39891 type: object 39892 type: array 39893 path: 39894 description: Path to access on the 39895 HTTP server. 39896 type: string 39897 port: 39898 anyOf: 39899 - type: integer 39900 - type: string 39901 description: Name or number of the 39902 port to access on the container. 39903 Number must be in the range 1 39904 to 65535. Name must be an IANA_SVC_NAME. 39905 x-kubernetes-int-or-string: true 39906 scheme: 39907 description: Scheme to use for connecting 39908 to the host. Defaults to HTTP. 39909 type: string 39910 required: 39911 - port 39912 type: object 39913 initialDelaySeconds: 39914 description: 'Number of seconds after 39915 the container has started before liveness 39916 probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 39917 format: int32 39918 type: integer 39919 periodSeconds: 39920 description: How often (in seconds) 39921 to perform the probe. Default to 10 39922 seconds. Minimum value is 1. 39923 format: int32 39924 type: integer 39925 successThreshold: 39926 description: Minimum consecutive successes 39927 for the probe to be considered successful 39928 after having failed. Defaults to 1. 39929 Must be 1 for liveness and startup. 39930 Minimum value is 1. 39931 format: int32 39932 type: integer 39933 tcpSocket: 39934 description: TCPSocket specifies an 39935 action involving a TCP port. 39936 properties: 39937 host: 39938 description: 'Optional: Host name 39939 to connect to, defaults to the 39940 pod IP.' 39941 type: string 39942 port: 39943 anyOf: 39944 - type: integer 39945 - type: string 39946 description: Number or name of the 39947 port to access on the container. 39948 Number must be in the range 1 39949 to 65535. Name must be an IANA_SVC_NAME. 39950 x-kubernetes-int-or-string: true 39951 required: 39952 - port 39953 type: object 39954 terminationGracePeriodSeconds: 39955 description: Optional duration in seconds 39956 the pod needs to terminate gracefully 39957 upon probe failure. The grace period 39958 is the duration in seconds after the 39959 processes running in the pod are sent 39960 a termination signal and the time 39961 when the processes are forcibly halted 39962 with a kill signal. Set this value 39963 longer than the expected cleanup time 39964 for your process. If this value is 39965 nil, the pod's terminationGracePeriodSeconds 39966 will be used. Otherwise, this value 39967 overrides the value provided by the 39968 pod spec. Value must be non-negative 39969 integer. The value zero indicates 39970 stop immediately via the kill signal 39971 (no opportunity to shut down). This 39972 is a beta field and requires enabling 39973 ProbeTerminationGracePeriod feature 39974 gate. Minimum value is 1. spec.terminationGracePeriodSeconds 39975 is used if unset. 39976 format: int64 39977 type: integer 39978 timeoutSeconds: 39979 description: 'Number of seconds after 39980 which the probe times out. Defaults 39981 to 1 second. Minimum value is 1. More 39982 info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 39983 format: int32 39984 type: integer 39985 type: object 39986 name: 39987 description: Deprecated. This field will 39988 be removed in a future release. Default 39989 name for each Step specified as a DNS_LABEL. 39990 Each Step in a Task must have a unique 39991 name. Cannot be updated. 39992 type: string 39993 ports: 39994 description: Deprecated. This field will 39995 be removed in a future release. List of 39996 ports to expose from the Step's container. 39997 Exposing a port here gives the system 39998 additional information about the network 39999 connections a container uses, but is primarily 40000 informational. Not specifying a port here 40001 DOES NOT prevent that port from being 40002 exposed. Any port which is listening on 40003 the default "0.0.0.0" address inside a 40004 container will be accessible from the 40005 network. Cannot be updated. 40006 items: 40007 description: ContainerPort represents 40008 a network port in a single container. 40009 properties: 40010 containerPort: 40011 description: Number of port to expose 40012 on the pod's IP address. This must 40013 be a valid port number, 0 < x < 40014 65536. 40015 format: int32 40016 type: integer 40017 hostIP: 40018 description: What host IP to bind 40019 the external port to. 40020 type: string 40021 hostPort: 40022 description: Number of port to expose 40023 on the host. If specified, this 40024 must be a valid port number, 0 < 40025 x < 65536. If HostNetwork is specified, 40026 this must match ContainerPort. Most 40027 containers do not need this. 40028 format: int32 40029 type: integer 40030 name: 40031 description: If specified, this must 40032 be an IANA_SVC_NAME and unique within 40033 the pod. Each named port in a pod 40034 must have a unique name. Name for 40035 the port that can be referred to 40036 by services. 40037 type: string 40038 protocol: 40039 default: TCP 40040 description: Protocol for port. Must 40041 be UDP, TCP, or SCTP. Defaults to 40042 "TCP". 40043 type: string 40044 required: 40045 - containerPort 40046 type: object 40047 type: array 40048 x-kubernetes-list-map-keys: 40049 - containerPort 40050 - protocol 40051 x-kubernetes-list-type: map 40052 readinessProbe: 40053 description: 'Deprecated. This field will 40054 be removed in a future release. Periodic 40055 probe of container service readiness. 40056 Container will be removed from service 40057 endpoints if the probe fails. Cannot be 40058 updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 40059 properties: 40060 exec: 40061 description: Exec specifies the action 40062 to take. 40063 properties: 40064 command: 40065 description: Command is the command 40066 line to execute inside the container, 40067 the working directory for the 40068 command is root ('/') in the 40069 container's filesystem. The command 40070 is simply exec'd, it is not run 40071 inside a shell, so traditional 40072 shell instructions ('|', etc) 40073 won't work. To use a shell, you 40074 need to explicitly call out to 40075 that shell. Exit status of 0 is 40076 treated as live/healthy and non-zero 40077 is unhealthy. 40078 items: 40079 type: string 40080 type: array 40081 type: object 40082 failureThreshold: 40083 description: Minimum consecutive failures 40084 for the probe to be considered failed 40085 after having succeeded. Defaults to 40086 3. Minimum value is 1. 40087 format: int32 40088 type: integer 40089 grpc: 40090 description: GRPC specifies an action 40091 involving a GRPC port. This is a beta 40092 field and requires enabling GRPCContainerProbe 40093 feature gate. 40094 properties: 40095 port: 40096 description: Port number of the 40097 gRPC service. Number must be in 40098 the range 1 to 65535. 40099 format: int32 40100 type: integer 40101 service: 40102 description: "Service is the name 40103 of the service to place in the 40104 gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). 40105 \n If this is not specified, the 40106 default behavior is defined by 40107 gRPC." 40108 type: string 40109 required: 40110 - port 40111 type: object 40112 httpGet: 40113 description: HTTPGet specifies the http 40114 request to perform. 40115 properties: 40116 host: 40117 description: Host name to connect 40118 to, defaults to the pod IP. You 40119 probably want to set "Host" in 40120 httpHeaders instead. 40121 type: string 40122 httpHeaders: 40123 description: Custom headers to set 40124 in the request. HTTP allows repeated 40125 headers. 40126 items: 40127 description: HTTPHeader describes 40128 a custom header to be used in 40129 HTTP probes 40130 properties: 40131 name: 40132 description: The header field 40133 name 40134 type: string 40135 value: 40136 description: The header field 40137 value 40138 type: string 40139 required: 40140 - name 40141 - value 40142 type: object 40143 type: array 40144 path: 40145 description: Path to access on the 40146 HTTP server. 40147 type: string 40148 port: 40149 anyOf: 40150 - type: integer 40151 - type: string 40152 description: Name or number of the 40153 port to access on the container. 40154 Number must be in the range 1 40155 to 65535. Name must be an IANA_SVC_NAME. 40156 x-kubernetes-int-or-string: true 40157 scheme: 40158 description: Scheme to use for connecting 40159 to the host. Defaults to HTTP. 40160 type: string 40161 required: 40162 - port 40163 type: object 40164 initialDelaySeconds: 40165 description: 'Number of seconds after 40166 the container has started before liveness 40167 probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 40168 format: int32 40169 type: integer 40170 periodSeconds: 40171 description: How often (in seconds) 40172 to perform the probe. Default to 10 40173 seconds. Minimum value is 1. 40174 format: int32 40175 type: integer 40176 successThreshold: 40177 description: Minimum consecutive successes 40178 for the probe to be considered successful 40179 after having failed. Defaults to 1. 40180 Must be 1 for liveness and startup. 40181 Minimum value is 1. 40182 format: int32 40183 type: integer 40184 tcpSocket: 40185 description: TCPSocket specifies an 40186 action involving a TCP port. 40187 properties: 40188 host: 40189 description: 'Optional: Host name 40190 to connect to, defaults to the 40191 pod IP.' 40192 type: string 40193 port: 40194 anyOf: 40195 - type: integer 40196 - type: string 40197 description: Number or name of the 40198 port to access on the container. 40199 Number must be in the range 1 40200 to 65535. Name must be an IANA_SVC_NAME. 40201 x-kubernetes-int-or-string: true 40202 required: 40203 - port 40204 type: object 40205 terminationGracePeriodSeconds: 40206 description: Optional duration in seconds 40207 the pod needs to terminate gracefully 40208 upon probe failure. The grace period 40209 is the duration in seconds after the 40210 processes running in the pod are sent 40211 a termination signal and the time 40212 when the processes are forcibly halted 40213 with a kill signal. Set this value 40214 longer than the expected cleanup time 40215 for your process. If this value is 40216 nil, the pod's terminationGracePeriodSeconds 40217 will be used. Otherwise, this value 40218 overrides the value provided by the 40219 pod spec. Value must be non-negative 40220 integer. The value zero indicates 40221 stop immediately via the kill signal 40222 (no opportunity to shut down). This 40223 is a beta field and requires enabling 40224 ProbeTerminationGracePeriod feature 40225 gate. Minimum value is 1. spec.terminationGracePeriodSeconds 40226 is used if unset. 40227 format: int64 40228 type: integer 40229 timeoutSeconds: 40230 description: 'Number of seconds after 40231 which the probe times out. Defaults 40232 to 1 second. Minimum value is 1. More 40233 info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 40234 format: int32 40235 type: integer 40236 type: object 40237 resources: 40238 description: 'Compute Resources required 40239 by this Step. Cannot be updated. More 40240 info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' 40241 properties: 40242 limits: 40243 additionalProperties: 40244 anyOf: 40245 - type: integer 40246 - type: string 40247 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 40248 x-kubernetes-int-or-string: true 40249 description: 'Limits describes the maximum 40250 amount of compute resources allowed. 40251 More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' 40252 type: object 40253 requests: 40254 additionalProperties: 40255 anyOf: 40256 - type: integer 40257 - type: string 40258 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 40259 x-kubernetes-int-or-string: true 40260 description: 'Requests describes the 40261 minimum amount of compute resources 40262 required. If Requests is omitted for 40263 a container, it defaults to Limits 40264 if that is explicitly specified, otherwise 40265 to an implementation-defined value. 40266 More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' 40267 type: object 40268 type: object 40269 securityContext: 40270 description: 'SecurityContext defines the 40271 security options the Step should be run 40272 with. If set, the fields of SecurityContext 40273 override the equivalent fields of PodSecurityContext. 40274 More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/' 40275 properties: 40276 allowPrivilegeEscalation: 40277 description: 'AllowPrivilegeEscalation 40278 controls whether a process can gain 40279 more privileges than its parent process. 40280 This bool directly controls if the 40281 no_new_privs flag will be set on the 40282 container process. AllowPrivilegeEscalation 40283 is true always when the container 40284 is: 1) run as Privileged 2) has CAP_SYS_ADMIN 40285 Note that this field cannot be set 40286 when spec.os.name is windows.' 40287 type: boolean 40288 capabilities: 40289 description: The capabilities to add/drop 40290 when running containers. Defaults 40291 to the default set of capabilities 40292 granted by the container runtime. 40293 Note that this field cannot be set 40294 when spec.os.name is windows. 40295 properties: 40296 add: 40297 description: Added capabilities 40298 items: 40299 description: Capability represent 40300 POSIX capabilities type 40301 type: string 40302 type: array 40303 drop: 40304 description: Removed capabilities 40305 items: 40306 description: Capability represent 40307 POSIX capabilities type 40308 type: string 40309 type: array 40310 type: object 40311 privileged: 40312 description: Run container in privileged 40313 mode. Processes in privileged containers 40314 are essentially equivalent to root 40315 on the host. Defaults to false. Note 40316 that this field cannot be set when 40317 spec.os.name is windows. 40318 type: boolean 40319 procMount: 40320 description: procMount denotes the type 40321 of proc mount to use for the containers. 40322 The default is DefaultProcMount which 40323 uses the container runtime defaults 40324 for readonly paths and masked paths. 40325 This requires the ProcMountType feature 40326 flag to be enabled. Note that this 40327 field cannot be set when spec.os.name 40328 is windows. 40329 type: string 40330 readOnlyRootFilesystem: 40331 description: Whether this container 40332 has a read-only root filesystem. Default 40333 is false. Note that this field cannot 40334 be set when spec.os.name is windows. 40335 type: boolean 40336 runAsGroup: 40337 description: The GID to run the entrypoint 40338 of the container process. Uses runtime 40339 default if unset. May also be set 40340 in PodSecurityContext. If set in 40341 both SecurityContext and PodSecurityContext, 40342 the value specified in SecurityContext 40343 takes precedence. Note that this field 40344 cannot be set when spec.os.name is 40345 windows. 40346 format: int64 40347 type: integer 40348 runAsNonRoot: 40349 description: Indicates that the container 40350 must run as a non-root user. If true, 40351 the Kubelet will validate the image 40352 at runtime to ensure that it does 40353 not run as UID 0 (root) and fail to 40354 start the container if it does. If 40355 unset or false, no such validation 40356 will be performed. May also be set 40357 in PodSecurityContext. If set in 40358 both SecurityContext and PodSecurityContext, 40359 the value specified in SecurityContext 40360 takes precedence. 40361 type: boolean 40362 runAsUser: 40363 description: The UID to run the entrypoint 40364 of the container process. Defaults 40365 to user specified in image metadata 40366 if unspecified. May also be set in 40367 PodSecurityContext. If set in both 40368 SecurityContext and PodSecurityContext, 40369 the value specified in SecurityContext 40370 takes precedence. Note that this field 40371 cannot be set when spec.os.name is 40372 windows. 40373 format: int64 40374 type: integer 40375 seLinuxOptions: 40376 description: The SELinux context to 40377 be applied to the container. If unspecified, 40378 the container runtime will allocate 40379 a random SELinux context for each 40380 container. May also be set in PodSecurityContext. If 40381 set in both SecurityContext and PodSecurityContext, 40382 the value specified in SecurityContext 40383 takes precedence. Note that this field 40384 cannot be set when spec.os.name is 40385 windows. 40386 properties: 40387 level: 40388 description: Level is SELinux level 40389 label that applies to the container. 40390 type: string 40391 role: 40392 description: Role is a SELinux role 40393 label that applies to the container. 40394 type: string 40395 type: 40396 description: Type is a SELinux type 40397 label that applies to the container. 40398 type: string 40399 user: 40400 description: User is a SELinux user 40401 label that applies to the container. 40402 type: string 40403 type: object 40404 seccompProfile: 40405 description: The seccomp options to 40406 use by this container. If seccomp 40407 options are provided at both the pod 40408 & container level, the container options 40409 override the pod options. Note that 40410 this field cannot be set when spec.os.name 40411 is windows. 40412 properties: 40413 localhostProfile: 40414 description: localhostProfile indicates 40415 a profile defined in a file on 40416 the node should be used. The profile 40417 must be preconfigured on the node 40418 to work. Must be a descending 40419 path, relative to the kubelet's 40420 configured seccomp profile location. 40421 Must only be set if type is "Localhost". 40422 type: string 40423 type: 40424 description: "type indicates which 40425 kind of seccomp profile will be 40426 applied. Valid options are: \n 40427 Localhost - a profile defined 40428 in a file on the node should be 40429 used. RuntimeDefault - the container 40430 runtime default profile should 40431 be used. Unconfined - no profile 40432 should be applied." 40433 type: string 40434 required: 40435 - type 40436 type: object 40437 windowsOptions: 40438 description: The Windows specific settings 40439 applied to all containers. If unspecified, 40440 the options from the PodSecurityContext 40441 will be used. If set in both SecurityContext 40442 and PodSecurityContext, the value 40443 specified in SecurityContext takes 40444 precedence. Note that this field cannot 40445 be set when spec.os.name is linux. 40446 properties: 40447 gmsaCredentialSpec: 40448 description: GMSACredentialSpec 40449 is where the GMSA admission webhook 40450 (https://github.com/kubernetes-sigs/windows-gmsa) 40451 inlines the contents of the GMSA 40452 credential spec named by the GMSACredentialSpecName 40453 field. 40454 type: string 40455 gmsaCredentialSpecName: 40456 description: GMSACredentialSpecName 40457 is the name of the GMSA credential 40458 spec to use. 40459 type: string 40460 hostProcess: 40461 description: HostProcess determines 40462 if a container should be run as 40463 a 'Host Process' container. This 40464 field is alpha-level and will 40465 only be honored by components 40466 that enable the WindowsHostProcessContainers 40467 feature flag. Setting this field 40468 without the feature flag will 40469 result in errors when validating 40470 the Pod. All of a Pod's containers 40471 must have the same effective HostProcess 40472 value (it is not allowed to have 40473 a mix of HostProcess containers 40474 and non-HostProcess containers). In 40475 addition, if HostProcess is true 40476 then HostNetwork must also be 40477 set to true. 40478 type: boolean 40479 runAsUserName: 40480 description: The UserName in Windows 40481 to run the entrypoint of the container 40482 process. Defaults to the user 40483 specified in image metadata if 40484 unspecified. May also be set in 40485 PodSecurityContext. If set in 40486 both SecurityContext and PodSecurityContext, 40487 the value specified in SecurityContext 40488 takes precedence. 40489 type: string 40490 type: object 40491 type: object 40492 startupProbe: 40493 description: 'Deprecated. This field will 40494 be removed in a future release. DeprecatedStartupProbe 40495 indicates that the Pod has successfully 40496 initialized. If specified, no other probes 40497 are executed until this completes successfully. 40498 If this probe fails, the Pod will be restarted, 40499 just as if the livenessProbe failed. This 40500 can be used to provide different probe 40501 parameters at the beginning of a Pod''s 40502 lifecycle, when it might take a long time 40503 to load data or warm a cache, than during 40504 steady-state operation. This cannot be 40505 updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 40506 properties: 40507 exec: 40508 description: Exec specifies the action 40509 to take. 40510 properties: 40511 command: 40512 description: Command is the command 40513 line to execute inside the container, 40514 the working directory for the 40515 command is root ('/') in the 40516 container's filesystem. The command 40517 is simply exec'd, it is not run 40518 inside a shell, so traditional 40519 shell instructions ('|', etc) 40520 won't work. To use a shell, you 40521 need to explicitly call out to 40522 that shell. Exit status of 0 is 40523 treated as live/healthy and non-zero 40524 is unhealthy. 40525 items: 40526 type: string 40527 type: array 40528 type: object 40529 failureThreshold: 40530 description: Minimum consecutive failures 40531 for the probe to be considered failed 40532 after having succeeded. Defaults to 40533 3. Minimum value is 1. 40534 format: int32 40535 type: integer 40536 grpc: 40537 description: GRPC specifies an action 40538 involving a GRPC port. This is a beta 40539 field and requires enabling GRPCContainerProbe 40540 feature gate. 40541 properties: 40542 port: 40543 description: Port number of the 40544 gRPC service. Number must be in 40545 the range 1 to 65535. 40546 format: int32 40547 type: integer 40548 service: 40549 description: "Service is the name 40550 of the service to place in the 40551 gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). 40552 \n If this is not specified, the 40553 default behavior is defined by 40554 gRPC." 40555 type: string 40556 required: 40557 - port 40558 type: object 40559 httpGet: 40560 description: HTTPGet specifies the http 40561 request to perform. 40562 properties: 40563 host: 40564 description: Host name to connect 40565 to, defaults to the pod IP. You 40566 probably want to set "Host" in 40567 httpHeaders instead. 40568 type: string 40569 httpHeaders: 40570 description: Custom headers to set 40571 in the request. HTTP allows repeated 40572 headers. 40573 items: 40574 description: HTTPHeader describes 40575 a custom header to be used in 40576 HTTP probes 40577 properties: 40578 name: 40579 description: The header field 40580 name 40581 type: string 40582 value: 40583 description: The header field 40584 value 40585 type: string 40586 required: 40587 - name 40588 - value 40589 type: object 40590 type: array 40591 path: 40592 description: Path to access on the 40593 HTTP server. 40594 type: string 40595 port: 40596 anyOf: 40597 - type: integer 40598 - type: string 40599 description: Name or number of the 40600 port to access on the container. 40601 Number must be in the range 1 40602 to 65535. Name must be an IANA_SVC_NAME. 40603 x-kubernetes-int-or-string: true 40604 scheme: 40605 description: Scheme to use for connecting 40606 to the host. Defaults to HTTP. 40607 type: string 40608 required: 40609 - port 40610 type: object 40611 initialDelaySeconds: 40612 description: 'Number of seconds after 40613 the container has started before liveness 40614 probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 40615 format: int32 40616 type: integer 40617 periodSeconds: 40618 description: How often (in seconds) 40619 to perform the probe. Default to 10 40620 seconds. Minimum value is 1. 40621 format: int32 40622 type: integer 40623 successThreshold: 40624 description: Minimum consecutive successes 40625 for the probe to be considered successful 40626 after having failed. Defaults to 1. 40627 Must be 1 for liveness and startup. 40628 Minimum value is 1. 40629 format: int32 40630 type: integer 40631 tcpSocket: 40632 description: TCPSocket specifies an 40633 action involving a TCP port. 40634 properties: 40635 host: 40636 description: 'Optional: Host name 40637 to connect to, defaults to the 40638 pod IP.' 40639 type: string 40640 port: 40641 anyOf: 40642 - type: integer 40643 - type: string 40644 description: Number or name of the 40645 port to access on the container. 40646 Number must be in the range 1 40647 to 65535. Name must be an IANA_SVC_NAME. 40648 x-kubernetes-int-or-string: true 40649 required: 40650 - port 40651 type: object 40652 terminationGracePeriodSeconds: 40653 description: Optional duration in seconds 40654 the pod needs to terminate gracefully 40655 upon probe failure. The grace period 40656 is the duration in seconds after the 40657 processes running in the pod are sent 40658 a termination signal and the time 40659 when the processes are forcibly halted 40660 with a kill signal. Set this value 40661 longer than the expected cleanup time 40662 for your process. If this value is 40663 nil, the pod's terminationGracePeriodSeconds 40664 will be used. Otherwise, this value 40665 overrides the value provided by the 40666 pod spec. Value must be non-negative 40667 integer. The value zero indicates 40668 stop immediately via the kill signal 40669 (no opportunity to shut down). This 40670 is a beta field and requires enabling 40671 ProbeTerminationGracePeriod feature 40672 gate. Minimum value is 1. spec.terminationGracePeriodSeconds 40673 is used if unset. 40674 format: int64 40675 type: integer 40676 timeoutSeconds: 40677 description: 'Number of seconds after 40678 which the probe times out. Defaults 40679 to 1 second. Minimum value is 1. More 40680 info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 40681 format: int32 40682 type: integer 40683 type: object 40684 stdin: 40685 description: Deprecated. This field will 40686 be removed in a future release. Whether 40687 this Step should allocate a buffer for 40688 stdin in the container runtime. If this 40689 is not set, reads from stdin in the Step 40690 will always result in EOF. Default is 40691 false. 40692 type: boolean 40693 stdinOnce: 40694 description: Deprecated. This field will 40695 be removed in a future release. Whether 40696 the container runtime should close the 40697 stdin channel after it has been opened 40698 by a single attach. When stdin is true 40699 the stdin stream will remain open across 40700 multiple attach sessions. If stdinOnce 40701 is set to true, stdin is opened on container 40702 start, is empty until the first client 40703 attaches to stdin, and then remains open 40704 and accepts data until the client disconnects, 40705 at which time stdin is closed and remains 40706 closed until the container is restarted. 40707 If this flag is false, a container processes 40708 that reads from stdin will never receive 40709 an EOF. Default is false 40710 type: boolean 40711 terminationMessagePath: 40712 description: Deprecated. This field will 40713 be removed in a future release and cannot 40714 be meaningfully used. 40715 type: string 40716 terminationMessagePolicy: 40717 description: Deprecated. This field will 40718 be removed in a future release and cannot 40719 be meaningfully used. 40720 type: string 40721 tty: 40722 description: Deprecated. This field will 40723 be removed in a future release. Whether 40724 this Step should allocate a DeprecatedTTY 40725 for itself, also requires 'stdin' to be 40726 true. Default is false. 40727 type: boolean 40728 volumeDevices: 40729 description: volumeDevices is the list of 40730 block devices to be used by the Step. 40731 items: 40732 description: volumeDevice describes a 40733 mapping of a raw block device within 40734 a container. 40735 properties: 40736 devicePath: 40737 description: devicePath is the path 40738 inside of the container that the 40739 device will be mapped to. 40740 type: string 40741 name: 40742 description: name must match the name 40743 of a persistentVolumeClaim in the 40744 pod 40745 type: string 40746 required: 40747 - devicePath 40748 - name 40749 type: object 40750 type: array 40751 x-kubernetes-list-type: atomic 40752 volumeMounts: 40753 description: Volumes to mount into the Step's 40754 filesystem. Cannot be updated. 40755 items: 40756 description: VolumeMount describes a mounting 40757 of a Volume within a container. 40758 properties: 40759 mountPath: 40760 description: Path within the container 40761 at which the volume should be mounted. Must 40762 not contain ':'. 40763 type: string 40764 mountPropagation: 40765 description: mountPropagation determines 40766 how mounts are propagated from the 40767 host to container and the other 40768 way around. When not set, MountPropagationNone 40769 is used. This field is beta in 1.10. 40770 type: string 40771 name: 40772 description: This must match the Name 40773 of a Volume. 40774 type: string 40775 readOnly: 40776 description: Mounted read-only if 40777 true, read-write otherwise (false 40778 or unspecified). Defaults to false. 40779 type: boolean 40780 subPath: 40781 description: Path within the volume 40782 from which the container's volume 40783 should be mounted. Defaults to "" 40784 (volume's root). 40785 type: string 40786 subPathExpr: 40787 description: Expanded path within 40788 the volume from which the container's 40789 volume should be mounted. Behaves 40790 similarly to SubPath but environment 40791 variable references $(VAR_NAME) 40792 are expanded using the container's 40793 environment. Defaults to "" (volume's 40794 root). SubPathExpr and SubPath are 40795 mutually exclusive. 40796 type: string 40797 required: 40798 - mountPath 40799 - name 40800 type: object 40801 type: array 40802 x-kubernetes-list-type: atomic 40803 workingDir: 40804 description: Step's working directory. If 40805 not specified, the container runtime's 40806 default will be used, which might be configured 40807 in the container image. Cannot be updated. 40808 type: string 40809 required: 40810 - name 40811 type: object 40812 steps: 40813 description: Steps are the steps of the build; 40814 each step is run sequentially with the source 40815 mounted into /workspace. 40816 items: 40817 description: Step runs a subcomponent of a 40818 Task 40819 properties: 40820 args: 40821 description: 'Arguments to the entrypoint. 40822 The image''s CMD is used if this is 40823 not provided. Variable references $(VAR_NAME) 40824 are expanded using the container''s 40825 environment. If a variable cannot be 40826 resolved, the reference in the input 40827 string will be unchanged. Double $$ 40828 are reduced to a single $, which allows 40829 for escaping the $(VAR_NAME) syntax: 40830 i.e. "$$(VAR_NAME)" will produce the 40831 string literal "$(VAR_NAME)". Escaped 40832 references will never be expanded, regardless 40833 of whether the variable exists or not. 40834 Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell' 40835 items: 40836 type: string 40837 type: array 40838 x-kubernetes-list-type: atomic 40839 command: 40840 description: 'Entrypoint array. Not executed 40841 within a shell. The image''s ENTRYPOINT 40842 is used if this is not provided. Variable 40843 references $(VAR_NAME) are expanded 40844 using the container''s environment. 40845 If a variable cannot be resolved, the 40846 reference in the input string will be 40847 unchanged. Double $$ are reduced to 40848 a single $, which allows for escaping 40849 the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" 40850 will produce the string literal "$(VAR_NAME)". 40851 Escaped references will never be expanded, 40852 regardless of whether the variable exists 40853 or not. Cannot be updated. More info: 40854 https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell' 40855 items: 40856 type: string 40857 type: array 40858 x-kubernetes-list-type: atomic 40859 env: 40860 description: List of environment variables 40861 to set in the container. Cannot be updated. 40862 items: 40863 description: EnvVar represents an environment 40864 variable present in a Container. 40865 properties: 40866 name: 40867 description: Name of the environment 40868 variable. Must be a C_IDENTIFIER. 40869 type: string 40870 value: 40871 description: 'Variable references 40872 $(VAR_NAME) are expanded using 40873 the previously defined environment 40874 variables in the container and 40875 any service environment variables. 40876 If a variable cannot be resolved, 40877 the reference in the input string 40878 will be unchanged. Double $$ are 40879 reduced to a single $, which allows 40880 for escaping the $(VAR_NAME) syntax: 40881 i.e. "$$(VAR_NAME)" will produce 40882 the string literal "$(VAR_NAME)". 40883 Escaped references will never 40884 be expanded, regardless of whether 40885 the variable exists or not. Defaults 40886 to "".' 40887 type: string 40888 valueFrom: 40889 description: Source for the environment 40890 variable's value. Cannot be used 40891 if value is not empty. 40892 properties: 40893 configMapKeyRef: 40894 description: Selects a key of 40895 a ConfigMap. 40896 properties: 40897 key: 40898 description: The key to 40899 select. 40900 type: string 40901 name: 40902 description: 'Name of the 40903 referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 40904 TODO: Add other useful 40905 fields. apiVersion, kind, 40906 uid?' 40907 type: string 40908 optional: 40909 description: Specify whether 40910 the ConfigMap or its key 40911 must be defined 40912 type: boolean 40913 required: 40914 - key 40915 type: object 40916 fieldRef: 40917 description: 'Selects a field 40918 of the pod: supports metadata.name, 40919 metadata.namespace, `metadata.labels[''<KEY>'']`, 40920 `metadata.annotations[''<KEY>'']`, 40921 spec.nodeName, spec.serviceAccountName, 40922 status.hostIP, status.podIP, 40923 status.podIPs.' 40924 properties: 40925 apiVersion: 40926 description: Version of 40927 the schema the FieldPath 40928 is written in terms of, 40929 defaults to "v1". 40930 type: string 40931 fieldPath: 40932 description: Path of the 40933 field to select in the 40934 specified API version. 40935 type: string 40936 required: 40937 - fieldPath 40938 type: object 40939 resourceFieldRef: 40940 description: 'Selects a resource 40941 of the container: only resources 40942 limits and requests (limits.cpu, 40943 limits.memory, limits.ephemeral-storage, 40944 requests.cpu, requests.memory 40945 and requests.ephemeral-storage) 40946 are currently supported.' 40947 properties: 40948 containerName: 40949 description: 'Container 40950 name: required for volumes, 40951 optional for env vars' 40952 type: string 40953 divisor: 40954 anyOf: 40955 - type: integer 40956 - type: string 40957 description: Specifies the 40958 output format of the exposed 40959 resources, defaults to 40960 "1" 40961 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 40962 x-kubernetes-int-or-string: true 40963 resource: 40964 description: 'Required: 40965 resource to select' 40966 type: string 40967 required: 40968 - resource 40969 type: object 40970 secretKeyRef: 40971 description: Selects a key of 40972 a secret in the pod's namespace 40973 properties: 40974 key: 40975 description: The key of 40976 the secret to select from. Must 40977 be a valid secret key. 40978 type: string 40979 name: 40980 description: 'Name of the 40981 referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 40982 TODO: Add other useful 40983 fields. apiVersion, kind, 40984 uid?' 40985 type: string 40986 optional: 40987 description: Specify whether 40988 the Secret or its key 40989 must be defined 40990 type: boolean 40991 required: 40992 - key 40993 type: object 40994 type: object 40995 required: 40996 - name 40997 type: object 40998 type: array 40999 x-kubernetes-list-type: atomic 41000 envFrom: 41001 description: List of sources to populate 41002 environment variables in the container. 41003 The keys defined within a source must 41004 be a C_IDENTIFIER. All invalid keys 41005 will be reported as an event when the 41006 container is starting. When a key exists 41007 in multiple sources, the value associated 41008 with the last source will take precedence. 41009 Values defined by an Env with a duplicate 41010 key will take precedence. Cannot be 41011 updated. 41012 items: 41013 description: EnvFromSource represents 41014 the source of a set of ConfigMaps 41015 properties: 41016 configMapRef: 41017 description: The ConfigMap to select 41018 from 41019 properties: 41020 name: 41021 description: 'Name of the referent. 41022 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 41023 TODO: Add other useful fields. 41024 apiVersion, kind, uid?' 41025 type: string 41026 optional: 41027 description: Specify whether 41028 the ConfigMap must be defined 41029 type: boolean 41030 type: object 41031 prefix: 41032 description: An optional identifier 41033 to prepend to each key in the 41034 ConfigMap. Must be a C_IDENTIFIER. 41035 type: string 41036 secretRef: 41037 description: The Secret to select 41038 from 41039 properties: 41040 name: 41041 description: 'Name of the referent. 41042 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 41043 TODO: Add other useful fields. 41044 apiVersion, kind, uid?' 41045 type: string 41046 optional: 41047 description: Specify whether 41048 the Secret must be defined 41049 type: boolean 41050 type: object 41051 type: object 41052 type: array 41053 x-kubernetes-list-type: atomic 41054 image: 41055 description: 'Image reference name to 41056 run for this Step. More info: https://kubernetes.io/docs/concepts/containers/images' 41057 type: string 41058 imagePullPolicy: 41059 description: 'Image pull policy. One of 41060 Always, Never, IfNotPresent. Defaults 41061 to Always if :latest tag is specified, 41062 or IfNotPresent otherwise. Cannot be 41063 updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images' 41064 type: string 41065 lifecycle: 41066 description: Deprecated. This field will 41067 be removed in a future release. Actions 41068 that the management system should take 41069 in response to container lifecycle events. 41070 Cannot be updated. 41071 properties: 41072 postStart: 41073 description: 'PostStart is called 41074 immediately after a container is 41075 created. If the handler fails, the 41076 container is terminated and restarted 41077 according to its restart policy. 41078 Other management of the container 41079 blocks until the hook completes. 41080 More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks' 41081 properties: 41082 exec: 41083 description: Exec specifies the 41084 action to take. 41085 properties: 41086 command: 41087 description: Command is the 41088 command line to execute 41089 inside the container, the 41090 working directory for the 41091 command is root ('/') in 41092 the container's filesystem. 41093 The command is simply exec'd, 41094 it is not run inside a shell, 41095 so traditional shell instructions 41096 ('|', etc) won't work. To 41097 use a shell, you need to 41098 explicitly call out to that 41099 shell. Exit status of 0 41100 is treated as live/healthy 41101 and non-zero is unhealthy. 41102 items: 41103 type: string 41104 type: array 41105 type: object 41106 httpGet: 41107 description: HTTPGet specifies 41108 the http request to perform. 41109 properties: 41110 host: 41111 description: Host name to 41112 connect to, defaults to 41113 the pod IP. You probably 41114 want to set "Host" in httpHeaders 41115 instead. 41116 type: string 41117 httpHeaders: 41118 description: Custom headers 41119 to set in the request. HTTP 41120 allows repeated headers. 41121 items: 41122 description: HTTPHeader 41123 describes a custom header 41124 to be used in HTTP probes 41125 properties: 41126 name: 41127 description: The header 41128 field name 41129 type: string 41130 value: 41131 description: The header 41132 field value 41133 type: string 41134 required: 41135 - name 41136 - value 41137 type: object 41138 type: array 41139 path: 41140 description: Path to access 41141 on the HTTP server. 41142 type: string 41143 port: 41144 anyOf: 41145 - type: integer 41146 - type: string 41147 description: Name or number 41148 of the port to access on 41149 the container. Number must 41150 be in the range 1 to 65535. 41151 Name must be an IANA_SVC_NAME. 41152 x-kubernetes-int-or-string: true 41153 scheme: 41154 description: Scheme to use 41155 for connecting to the host. 41156 Defaults to HTTP. 41157 type: string 41158 required: 41159 - port 41160 type: object 41161 tcpSocket: 41162 description: Deprecated. TCPSocket 41163 is NOT supported as a LifecycleHandler 41164 and kept for the backward compatibility. 41165 There are no validation of this 41166 field and lifecycle hooks will 41167 fail in runtime when tcp handler 41168 is specified. 41169 properties: 41170 host: 41171 description: 'Optional: Host 41172 name to connect to, defaults 41173 to the pod IP.' 41174 type: string 41175 port: 41176 anyOf: 41177 - type: integer 41178 - type: string 41179 description: Number or name 41180 of the port to access on 41181 the container. Number must 41182 be in the range 1 to 65535. 41183 Name must be an IANA_SVC_NAME. 41184 x-kubernetes-int-or-string: true 41185 required: 41186 - port 41187 type: object 41188 type: object 41189 preStop: 41190 description: 'PreStop is called immediately 41191 before a container is terminated 41192 due to an API request or management 41193 event such as liveness/startup probe 41194 failure, preemption, resource contention, 41195 etc. The handler is not called if 41196 the container crashes or exits. 41197 The Pod''s termination grace period 41198 countdown begins before the PreStop 41199 hook is executed. Regardless of 41200 the outcome of the handler, the 41201 container will eventually terminate 41202 within the Pod''s termination grace 41203 period (unless delayed by finalizers). 41204 Other management of the container 41205 blocks until the hook completes 41206 or until the termination grace period 41207 is reached. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks' 41208 properties: 41209 exec: 41210 description: Exec specifies the 41211 action to take. 41212 properties: 41213 command: 41214 description: Command is the 41215 command line to execute 41216 inside the container, the 41217 working directory for the 41218 command is root ('/') in 41219 the container's filesystem. 41220 The command is simply exec'd, 41221 it is not run inside a shell, 41222 so traditional shell instructions 41223 ('|', etc) won't work. To 41224 use a shell, you need to 41225 explicitly call out to that 41226 shell. Exit status of 0 41227 is treated as live/healthy 41228 and non-zero is unhealthy. 41229 items: 41230 type: string 41231 type: array 41232 type: object 41233 httpGet: 41234 description: HTTPGet specifies 41235 the http request to perform. 41236 properties: 41237 host: 41238 description: Host name to 41239 connect to, defaults to 41240 the pod IP. You probably 41241 want to set "Host" in httpHeaders 41242 instead. 41243 type: string 41244 httpHeaders: 41245 description: Custom headers 41246 to set in the request. HTTP 41247 allows repeated headers. 41248 items: 41249 description: HTTPHeader 41250 describes a custom header 41251 to be used in HTTP probes 41252 properties: 41253 name: 41254 description: The header 41255 field name 41256 type: string 41257 value: 41258 description: The header 41259 field value 41260 type: string 41261 required: 41262 - name 41263 - value 41264 type: object 41265 type: array 41266 path: 41267 description: Path to access 41268 on the HTTP server. 41269 type: string 41270 port: 41271 anyOf: 41272 - type: integer 41273 - type: string 41274 description: Name or number 41275 of the port to access on 41276 the container. Number must 41277 be in the range 1 to 65535. 41278 Name must be an IANA_SVC_NAME. 41279 x-kubernetes-int-or-string: true 41280 scheme: 41281 description: Scheme to use 41282 for connecting to the host. 41283 Defaults to HTTP. 41284 type: string 41285 required: 41286 - port 41287 type: object 41288 tcpSocket: 41289 description: Deprecated. TCPSocket 41290 is NOT supported as a LifecycleHandler 41291 and kept for the backward compatibility. 41292 There are no validation of this 41293 field and lifecycle hooks will 41294 fail in runtime when tcp handler 41295 is specified. 41296 properties: 41297 host: 41298 description: 'Optional: Host 41299 name to connect to, defaults 41300 to the pod IP.' 41301 type: string 41302 port: 41303 anyOf: 41304 - type: integer 41305 - type: string 41306 description: Number or name 41307 of the port to access on 41308 the container. Number must 41309 be in the range 1 to 65535. 41310 Name must be an IANA_SVC_NAME. 41311 x-kubernetes-int-or-string: true 41312 required: 41313 - port 41314 type: object 41315 type: object 41316 type: object 41317 livenessProbe: 41318 description: 'Deprecated. This field will 41319 be removed in a future release. Periodic 41320 probe of container liveness. Step will 41321 be restarted if the probe fails. Cannot 41322 be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 41323 properties: 41324 exec: 41325 description: Exec specifies the action 41326 to take. 41327 properties: 41328 command: 41329 description: Command is the command 41330 line to execute inside the container, 41331 the working directory for the 41332 command is root ('/') in the 41333 container's filesystem. The 41334 command is simply exec'd, it 41335 is not run inside a shell, so 41336 traditional shell instructions 41337 ('|', etc) won't work. To use 41338 a shell, you need to explicitly 41339 call out to that shell. Exit 41340 status of 0 is treated as live/healthy 41341 and non-zero is unhealthy. 41342 items: 41343 type: string 41344 type: array 41345 type: object 41346 failureThreshold: 41347 description: Minimum consecutive failures 41348 for the probe to be considered failed 41349 after having succeeded. Defaults 41350 to 3. Minimum value is 1. 41351 format: int32 41352 type: integer 41353 grpc: 41354 description: GRPC specifies an action 41355 involving a GRPC port. This is a 41356 beta field and requires enabling 41357 GRPCContainerProbe feature gate. 41358 properties: 41359 port: 41360 description: Port number of the 41361 gRPC service. Number must be 41362 in the range 1 to 65535. 41363 format: int32 41364 type: integer 41365 service: 41366 description: "Service is the name 41367 of the service to place in the 41368 gRPC HealthCheckRequest (see 41369 https://github.com/grpc/grpc/blob/master/doc/health-checking.md). 41370 \n If this is not specified, 41371 the default behavior is defined 41372 by gRPC." 41373 type: string 41374 required: 41375 - port 41376 type: object 41377 httpGet: 41378 description: HTTPGet specifies the 41379 http request to perform. 41380 properties: 41381 host: 41382 description: Host name to connect 41383 to, defaults to the pod IP. 41384 You probably want to set "Host" 41385 in httpHeaders instead. 41386 type: string 41387 httpHeaders: 41388 description: Custom headers to 41389 set in the request. HTTP allows 41390 repeated headers. 41391 items: 41392 description: HTTPHeader describes 41393 a custom header to be used 41394 in HTTP probes 41395 properties: 41396 name: 41397 description: The header 41398 field name 41399 type: string 41400 value: 41401 description: The header 41402 field value 41403 type: string 41404 required: 41405 - name 41406 - value 41407 type: object 41408 type: array 41409 path: 41410 description: Path to access on 41411 the HTTP server. 41412 type: string 41413 port: 41414 anyOf: 41415 - type: integer 41416 - type: string 41417 description: Name or number of 41418 the port to access on the container. 41419 Number must be in the range 41420 1 to 65535. Name must be an 41421 IANA_SVC_NAME. 41422 x-kubernetes-int-or-string: true 41423 scheme: 41424 description: Scheme to use for 41425 connecting to the host. Defaults 41426 to HTTP. 41427 type: string 41428 required: 41429 - port 41430 type: object 41431 initialDelaySeconds: 41432 description: 'Number of seconds after 41433 the container has started before 41434 liveness probes are initiated. More 41435 info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 41436 format: int32 41437 type: integer 41438 periodSeconds: 41439 description: How often (in seconds) 41440 to perform the probe. Default to 41441 10 seconds. Minimum value is 1. 41442 format: int32 41443 type: integer 41444 successThreshold: 41445 description: Minimum consecutive successes 41446 for the probe to be considered successful 41447 after having failed. Defaults to 41448 1. Must be 1 for liveness and startup. 41449 Minimum value is 1. 41450 format: int32 41451 type: integer 41452 tcpSocket: 41453 description: TCPSocket specifies an 41454 action involving a TCP port. 41455 properties: 41456 host: 41457 description: 'Optional: Host name 41458 to connect to, defaults to the 41459 pod IP.' 41460 type: string 41461 port: 41462 anyOf: 41463 - type: integer 41464 - type: string 41465 description: Number or name of 41466 the port to access on the container. 41467 Number must be in the range 41468 1 to 65535. Name must be an 41469 IANA_SVC_NAME. 41470 x-kubernetes-int-or-string: true 41471 required: 41472 - port 41473 type: object 41474 terminationGracePeriodSeconds: 41475 description: Optional duration in 41476 seconds the pod needs to terminate 41477 gracefully upon probe failure. The 41478 grace period is the duration in 41479 seconds after the processes running 41480 in the pod are sent a termination 41481 signal and the time when the processes 41482 are forcibly halted with a kill 41483 signal. Set this value longer than 41484 the expected cleanup time for your 41485 process. If this value is nil, the 41486 pod's terminationGracePeriodSeconds 41487 will be used. Otherwise, this value 41488 overrides the value provided by 41489 the pod spec. Value must be non-negative 41490 integer. The value zero indicates 41491 stop immediately via the kill signal 41492 (no opportunity to shut down). This 41493 is a beta field and requires enabling 41494 ProbeTerminationGracePeriod feature 41495 gate. Minimum value is 1. spec.terminationGracePeriodSeconds 41496 is used if unset. 41497 format: int64 41498 type: integer 41499 timeoutSeconds: 41500 description: 'Number of seconds after 41501 which the probe times out. Defaults 41502 to 1 second. Minimum value is 1. 41503 More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 41504 format: int32 41505 type: integer 41506 type: object 41507 name: 41508 description: Name of the Step specified 41509 as a DNS_LABEL. Each Step in a Task 41510 must have a unique name. 41511 type: string 41512 onError: 41513 description: OnError defines the exiting 41514 behavior of a container on error can 41515 be set to [ continue | stopAndFail ] 41516 type: string 41517 ports: 41518 description: Deprecated. This field will 41519 be removed in a future release. List 41520 of ports to expose from the Step's container. 41521 Exposing a port here gives the system 41522 additional information about the network 41523 connections a container uses, but is 41524 primarily informational. Not specifying 41525 a port here DOES NOT prevent that port 41526 from being exposed. Any port which is 41527 listening on the default "0.0.0.0" address 41528 inside a container will be accessible 41529 from the network. Cannot be updated. 41530 items: 41531 description: ContainerPort represents 41532 a network port in a single container. 41533 properties: 41534 containerPort: 41535 description: Number of port to expose 41536 on the pod's IP address. This 41537 must be a valid port number, 0 41538 < x < 65536. 41539 format: int32 41540 type: integer 41541 hostIP: 41542 description: What host IP to bind 41543 the external port to. 41544 type: string 41545 hostPort: 41546 description: Number of port to expose 41547 on the host. If specified, this 41548 must be a valid port number, 0 41549 < x < 65536. If HostNetwork is 41550 specified, this must match ContainerPort. 41551 Most containers do not need this. 41552 format: int32 41553 type: integer 41554 name: 41555 description: If specified, this 41556 must be an IANA_SVC_NAME and unique 41557 within the pod. Each named port 41558 in a pod must have a unique name. 41559 Name for the port that can be 41560 referred to by services. 41561 type: string 41562 protocol: 41563 default: TCP 41564 description: Protocol for port. 41565 Must be UDP, TCP, or SCTP. Defaults 41566 to "TCP". 41567 type: string 41568 required: 41569 - containerPort 41570 type: object 41571 type: array 41572 x-kubernetes-list-map-keys: 41573 - containerPort 41574 - protocol 41575 x-kubernetes-list-type: map 41576 readinessProbe: 41577 description: 'Deprecated. This field will 41578 be removed in a future release. Periodic 41579 probe of container service readiness. 41580 Step will be removed from service endpoints 41581 if the probe fails. Cannot be updated. 41582 More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 41583 properties: 41584 exec: 41585 description: Exec specifies the action 41586 to take. 41587 properties: 41588 command: 41589 description: Command is the command 41590 line to execute inside the container, 41591 the working directory for the 41592 command is root ('/') in the 41593 container's filesystem. The 41594 command is simply exec'd, it 41595 is not run inside a shell, so 41596 traditional shell instructions 41597 ('|', etc) won't work. To use 41598 a shell, you need to explicitly 41599 call out to that shell. Exit 41600 status of 0 is treated as live/healthy 41601 and non-zero is unhealthy. 41602 items: 41603 type: string 41604 type: array 41605 type: object 41606 failureThreshold: 41607 description: Minimum consecutive failures 41608 for the probe to be considered failed 41609 after having succeeded. Defaults 41610 to 3. Minimum value is 1. 41611 format: int32 41612 type: integer 41613 grpc: 41614 description: GRPC specifies an action 41615 involving a GRPC port. This is a 41616 beta field and requires enabling 41617 GRPCContainerProbe feature gate. 41618 properties: 41619 port: 41620 description: Port number of the 41621 gRPC service. Number must be 41622 in the range 1 to 65535. 41623 format: int32 41624 type: integer 41625 service: 41626 description: "Service is the name 41627 of the service to place in the 41628 gRPC HealthCheckRequest (see 41629 https://github.com/grpc/grpc/blob/master/doc/health-checking.md). 41630 \n If this is not specified, 41631 the default behavior is defined 41632 by gRPC." 41633 type: string 41634 required: 41635 - port 41636 type: object 41637 httpGet: 41638 description: HTTPGet specifies the 41639 http request to perform. 41640 properties: 41641 host: 41642 description: Host name to connect 41643 to, defaults to the pod IP. 41644 You probably want to set "Host" 41645 in httpHeaders instead. 41646 type: string 41647 httpHeaders: 41648 description: Custom headers to 41649 set in the request. HTTP allows 41650 repeated headers. 41651 items: 41652 description: HTTPHeader describes 41653 a custom header to be used 41654 in HTTP probes 41655 properties: 41656 name: 41657 description: The header 41658 field name 41659 type: string 41660 value: 41661 description: The header 41662 field value 41663 type: string 41664 required: 41665 - name 41666 - value 41667 type: object 41668 type: array 41669 path: 41670 description: Path to access on 41671 the HTTP server. 41672 type: string 41673 port: 41674 anyOf: 41675 - type: integer 41676 - type: string 41677 description: Name or number of 41678 the port to access on the container. 41679 Number must be in the range 41680 1 to 65535. Name must be an 41681 IANA_SVC_NAME. 41682 x-kubernetes-int-or-string: true 41683 scheme: 41684 description: Scheme to use for 41685 connecting to the host. Defaults 41686 to HTTP. 41687 type: string 41688 required: 41689 - port 41690 type: object 41691 initialDelaySeconds: 41692 description: 'Number of seconds after 41693 the container has started before 41694 liveness probes are initiated. More 41695 info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 41696 format: int32 41697 type: integer 41698 periodSeconds: 41699 description: How often (in seconds) 41700 to perform the probe. Default to 41701 10 seconds. Minimum value is 1. 41702 format: int32 41703 type: integer 41704 successThreshold: 41705 description: Minimum consecutive successes 41706 for the probe to be considered successful 41707 after having failed. Defaults to 41708 1. Must be 1 for liveness and startup. 41709 Minimum value is 1. 41710 format: int32 41711 type: integer 41712 tcpSocket: 41713 description: TCPSocket specifies an 41714 action involving a TCP port. 41715 properties: 41716 host: 41717 description: 'Optional: Host name 41718 to connect to, defaults to the 41719 pod IP.' 41720 type: string 41721 port: 41722 anyOf: 41723 - type: integer 41724 - type: string 41725 description: Number or name of 41726 the port to access on the container. 41727 Number must be in the range 41728 1 to 65535. Name must be an 41729 IANA_SVC_NAME. 41730 x-kubernetes-int-or-string: true 41731 required: 41732 - port 41733 type: object 41734 terminationGracePeriodSeconds: 41735 description: Optional duration in 41736 seconds the pod needs to terminate 41737 gracefully upon probe failure. The 41738 grace period is the duration in 41739 seconds after the processes running 41740 in the pod are sent a termination 41741 signal and the time when the processes 41742 are forcibly halted with a kill 41743 signal. Set this value longer than 41744 the expected cleanup time for your 41745 process. If this value is nil, the 41746 pod's terminationGracePeriodSeconds 41747 will be used. Otherwise, this value 41748 overrides the value provided by 41749 the pod spec. Value must be non-negative 41750 integer. The value zero indicates 41751 stop immediately via the kill signal 41752 (no opportunity to shut down). This 41753 is a beta field and requires enabling 41754 ProbeTerminationGracePeriod feature 41755 gate. Minimum value is 1. spec.terminationGracePeriodSeconds 41756 is used if unset. 41757 format: int64 41758 type: integer 41759 timeoutSeconds: 41760 description: 'Number of seconds after 41761 which the probe times out. Defaults 41762 to 1 second. Minimum value is 1. 41763 More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 41764 format: int32 41765 type: integer 41766 type: object 41767 resources: 41768 description: 'Compute Resources required 41769 by this Step. Cannot be updated. More 41770 info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' 41771 properties: 41772 limits: 41773 additionalProperties: 41774 anyOf: 41775 - type: integer 41776 - type: string 41777 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 41778 x-kubernetes-int-or-string: true 41779 description: 'Limits describes the 41780 maximum amount of compute resources 41781 allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' 41782 type: object 41783 requests: 41784 additionalProperties: 41785 anyOf: 41786 - type: integer 41787 - type: string 41788 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 41789 x-kubernetes-int-or-string: true 41790 description: 'Requests describes the 41791 minimum amount of compute resources 41792 required. If Requests is omitted 41793 for a container, it defaults to 41794 Limits if that is explicitly specified, 41795 otherwise to an implementation-defined 41796 value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' 41797 type: object 41798 type: object 41799 script: 41800 description: "Script is the contents of 41801 an executable file to execute. \n If 41802 Script is not empty, the Step cannot 41803 have an Command and the Args will be 41804 passed to the Script." 41805 type: string 41806 securityContext: 41807 description: 'SecurityContext defines 41808 the security options the Step should 41809 be run with. If set, the fields of SecurityContext 41810 override the equivalent fields of PodSecurityContext. 41811 More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/' 41812 properties: 41813 allowPrivilegeEscalation: 41814 description: 'AllowPrivilegeEscalation 41815 controls whether a process can gain 41816 more privileges than its parent 41817 process. This bool directly controls 41818 if the no_new_privs flag will be 41819 set on the container process. AllowPrivilegeEscalation 41820 is true always when the container 41821 is: 1) run as Privileged 2) has 41822 CAP_SYS_ADMIN Note that this field 41823 cannot be set when spec.os.name 41824 is windows.' 41825 type: boolean 41826 capabilities: 41827 description: The capabilities to add/drop 41828 when running containers. Defaults 41829 to the default set of capabilities 41830 granted by the container runtime. 41831 Note that this field cannot be set 41832 when spec.os.name is windows. 41833 properties: 41834 add: 41835 description: Added capabilities 41836 items: 41837 description: Capability represent 41838 POSIX capabilities type 41839 type: string 41840 type: array 41841 drop: 41842 description: Removed capabilities 41843 items: 41844 description: Capability represent 41845 POSIX capabilities type 41846 type: string 41847 type: array 41848 type: object 41849 privileged: 41850 description: Run container in privileged 41851 mode. Processes in privileged containers 41852 are essentially equivalent to root 41853 on the host. Defaults to false. 41854 Note that this field cannot be set 41855 when spec.os.name is windows. 41856 type: boolean 41857 procMount: 41858 description: procMount denotes the 41859 type of proc mount to use for the 41860 containers. The default is DefaultProcMount 41861 which uses the container runtime 41862 defaults for readonly paths and 41863 masked paths. This requires the 41864 ProcMountType feature flag to be 41865 enabled. Note that this field cannot 41866 be set when spec.os.name is windows. 41867 type: string 41868 readOnlyRootFilesystem: 41869 description: Whether this container 41870 has a read-only root filesystem. 41871 Default is false. Note that this 41872 field cannot be set when spec.os.name 41873 is windows. 41874 type: boolean 41875 runAsGroup: 41876 description: The GID to run the entrypoint 41877 of the container process. Uses runtime 41878 default if unset. May also be set 41879 in PodSecurityContext. If set in 41880 both SecurityContext and PodSecurityContext, 41881 the value specified in SecurityContext 41882 takes precedence. Note that this 41883 field cannot be set when spec.os.name 41884 is windows. 41885 format: int64 41886 type: integer 41887 runAsNonRoot: 41888 description: Indicates that the container 41889 must run as a non-root user. If 41890 true, the Kubelet will validate 41891 the image at runtime to ensure that 41892 it does not run as UID 0 (root) 41893 and fail to start the container 41894 if it does. If unset or false, no 41895 such validation will be performed. 41896 May also be set in PodSecurityContext. If 41897 set in both SecurityContext and 41898 PodSecurityContext, the value specified 41899 in SecurityContext takes precedence. 41900 type: boolean 41901 runAsUser: 41902 description: The UID to run the entrypoint 41903 of the container process. Defaults 41904 to user specified in image metadata 41905 if unspecified. May also be set 41906 in PodSecurityContext. If set in 41907 both SecurityContext and PodSecurityContext, 41908 the value specified in SecurityContext 41909 takes precedence. Note that this 41910 field cannot be set when spec.os.name 41911 is windows. 41912 format: int64 41913 type: integer 41914 seLinuxOptions: 41915 description: The SELinux context to 41916 be applied to the container. If 41917 unspecified, the container runtime 41918 will allocate a random SELinux context 41919 for each container. May also be 41920 set in PodSecurityContext. If set 41921 in both SecurityContext and PodSecurityContext, 41922 the value specified in SecurityContext 41923 takes precedence. Note that this 41924 field cannot be set when spec.os.name 41925 is windows. 41926 properties: 41927 level: 41928 description: Level is SELinux 41929 level label that applies to 41930 the container. 41931 type: string 41932 role: 41933 description: Role is a SELinux 41934 role label that applies to the 41935 container. 41936 type: string 41937 type: 41938 description: Type is a SELinux 41939 type label that applies to the 41940 container. 41941 type: string 41942 user: 41943 description: User is a SELinux 41944 user label that applies to the 41945 container. 41946 type: string 41947 type: object 41948 seccompProfile: 41949 description: The seccomp options to 41950 use by this container. If seccomp 41951 options are provided at both the 41952 pod & container level, the container 41953 options override the pod options. 41954 Note that this field cannot be set 41955 when spec.os.name is windows. 41956 properties: 41957 localhostProfile: 41958 description: localhostProfile 41959 indicates a profile defined 41960 in a file on the node should 41961 be used. The profile must be 41962 preconfigured on the node to 41963 work. Must be a descending path, 41964 relative to the kubelet's configured 41965 seccomp profile location. Must 41966 only be set if type is "Localhost". 41967 type: string 41968 type: 41969 description: "type indicates which 41970 kind of seccomp profile will 41971 be applied. Valid options are: 41972 \n Localhost - a profile defined 41973 in a file on the node should 41974 be used. RuntimeDefault - the 41975 container runtime default profile 41976 should be used. Unconfined - 41977 no profile should be applied." 41978 type: string 41979 required: 41980 - type 41981 type: object 41982 windowsOptions: 41983 description: The Windows specific 41984 settings applied to all containers. 41985 If unspecified, the options from 41986 the PodSecurityContext will be used. 41987 If set in both SecurityContext and 41988 PodSecurityContext, the value specified 41989 in SecurityContext takes precedence. 41990 Note that this field cannot be set 41991 when spec.os.name is linux. 41992 properties: 41993 gmsaCredentialSpec: 41994 description: GMSACredentialSpec 41995 is where the GMSA admission 41996 webhook (https://github.com/kubernetes-sigs/windows-gmsa) 41997 inlines the contents of the 41998 GMSA credential spec named by 41999 the GMSACredentialSpecName field. 42000 type: string 42001 gmsaCredentialSpecName: 42002 description: GMSACredentialSpecName 42003 is the name of the GMSA credential 42004 spec to use. 42005 type: string 42006 hostProcess: 42007 description: HostProcess determines 42008 if a container should be run 42009 as a 'Host Process' container. 42010 This field is alpha-level and 42011 will only be honored by components 42012 that enable the WindowsHostProcessContainers 42013 feature flag. Setting this field 42014 without the feature flag will 42015 result in errors when validating 42016 the Pod. All of a Pod's containers 42017 must have the same effective 42018 HostProcess value (it is not 42019 allowed to have a mix of HostProcess 42020 containers and non-HostProcess 42021 containers). In addition, if 42022 HostProcess is true then HostNetwork 42023 must also be set to true. 42024 type: boolean 42025 runAsUserName: 42026 description: The UserName in Windows 42027 to run the entrypoint of the 42028 container process. Defaults 42029 to the user specified in image 42030 metadata if unspecified. May 42031 also be set in PodSecurityContext. 42032 If set in both SecurityContext 42033 and PodSecurityContext, the 42034 value specified in SecurityContext 42035 takes precedence. 42036 type: string 42037 type: object 42038 type: object 42039 startupProbe: 42040 description: 'Deprecated. This field will 42041 be removed in a future release. DeprecatedStartupProbe 42042 indicates that the Pod this Step runs 42043 in has successfully initialized. If 42044 specified, no other probes are executed 42045 until this completes successfully. If 42046 this probe fails, the Pod will be restarted, 42047 just as if the livenessProbe failed. 42048 This can be used to provide different 42049 probe parameters at the beginning of 42050 a Pod''s lifecycle, when it might take 42051 a long time to load data or warm a cache, 42052 than during steady-state operation. 42053 This cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 42054 properties: 42055 exec: 42056 description: Exec specifies the action 42057 to take. 42058 properties: 42059 command: 42060 description: Command is the command 42061 line to execute inside the container, 42062 the working directory for the 42063 command is root ('/') in the 42064 container's filesystem. The 42065 command is simply exec'd, it 42066 is not run inside a shell, so 42067 traditional shell instructions 42068 ('|', etc) won't work. To use 42069 a shell, you need to explicitly 42070 call out to that shell. Exit 42071 status of 0 is treated as live/healthy 42072 and non-zero is unhealthy. 42073 items: 42074 type: string 42075 type: array 42076 type: object 42077 failureThreshold: 42078 description: Minimum consecutive failures 42079 for the probe to be considered failed 42080 after having succeeded. Defaults 42081 to 3. Minimum value is 1. 42082 format: int32 42083 type: integer 42084 grpc: 42085 description: GRPC specifies an action 42086 involving a GRPC port. This is a 42087 beta field and requires enabling 42088 GRPCContainerProbe feature gate. 42089 properties: 42090 port: 42091 description: Port number of the 42092 gRPC service. Number must be 42093 in the range 1 to 65535. 42094 format: int32 42095 type: integer 42096 service: 42097 description: "Service is the name 42098 of the service to place in the 42099 gRPC HealthCheckRequest (see 42100 https://github.com/grpc/grpc/blob/master/doc/health-checking.md). 42101 \n If this is not specified, 42102 the default behavior is defined 42103 by gRPC." 42104 type: string 42105 required: 42106 - port 42107 type: object 42108 httpGet: 42109 description: HTTPGet specifies the 42110 http request to perform. 42111 properties: 42112 host: 42113 description: Host name to connect 42114 to, defaults to the pod IP. 42115 You probably want to set "Host" 42116 in httpHeaders instead. 42117 type: string 42118 httpHeaders: 42119 description: Custom headers to 42120 set in the request. HTTP allows 42121 repeated headers. 42122 items: 42123 description: HTTPHeader describes 42124 a custom header to be used 42125 in HTTP probes 42126 properties: 42127 name: 42128 description: The header 42129 field name 42130 type: string 42131 value: 42132 description: The header 42133 field value 42134 type: string 42135 required: 42136 - name 42137 - value 42138 type: object 42139 type: array 42140 path: 42141 description: Path to access on 42142 the HTTP server. 42143 type: string 42144 port: 42145 anyOf: 42146 - type: integer 42147 - type: string 42148 description: Name or number of 42149 the port to access on the container. 42150 Number must be in the range 42151 1 to 65535. Name must be an 42152 IANA_SVC_NAME. 42153 x-kubernetes-int-or-string: true 42154 scheme: 42155 description: Scheme to use for 42156 connecting to the host. Defaults 42157 to HTTP. 42158 type: string 42159 required: 42160 - port 42161 type: object 42162 initialDelaySeconds: 42163 description: 'Number of seconds after 42164 the container has started before 42165 liveness probes are initiated. More 42166 info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 42167 format: int32 42168 type: integer 42169 periodSeconds: 42170 description: How often (in seconds) 42171 to perform the probe. Default to 42172 10 seconds. Minimum value is 1. 42173 format: int32 42174 type: integer 42175 successThreshold: 42176 description: Minimum consecutive successes 42177 for the probe to be considered successful 42178 after having failed. Defaults to 42179 1. Must be 1 for liveness and startup. 42180 Minimum value is 1. 42181 format: int32 42182 type: integer 42183 tcpSocket: 42184 description: TCPSocket specifies an 42185 action involving a TCP port. 42186 properties: 42187 host: 42188 description: 'Optional: Host name 42189 to connect to, defaults to the 42190 pod IP.' 42191 type: string 42192 port: 42193 anyOf: 42194 - type: integer 42195 - type: string 42196 description: Number or name of 42197 the port to access on the container. 42198 Number must be in the range 42199 1 to 65535. Name must be an 42200 IANA_SVC_NAME. 42201 x-kubernetes-int-or-string: true 42202 required: 42203 - port 42204 type: object 42205 terminationGracePeriodSeconds: 42206 description: Optional duration in 42207 seconds the pod needs to terminate 42208 gracefully upon probe failure. The 42209 grace period is the duration in 42210 seconds after the processes running 42211 in the pod are sent a termination 42212 signal and the time when the processes 42213 are forcibly halted with a kill 42214 signal. Set this value longer than 42215 the expected cleanup time for your 42216 process. If this value is nil, the 42217 pod's terminationGracePeriodSeconds 42218 will be used. Otherwise, this value 42219 overrides the value provided by 42220 the pod spec. Value must be non-negative 42221 integer. The value zero indicates 42222 stop immediately via the kill signal 42223 (no opportunity to shut down). This 42224 is a beta field and requires enabling 42225 ProbeTerminationGracePeriod feature 42226 gate. Minimum value is 1. spec.terminationGracePeriodSeconds 42227 is used if unset. 42228 format: int64 42229 type: integer 42230 timeoutSeconds: 42231 description: 'Number of seconds after 42232 which the probe times out. Defaults 42233 to 1 second. Minimum value is 1. 42234 More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 42235 format: int32 42236 type: integer 42237 type: object 42238 stderrConfig: 42239 description: Stores configuration for 42240 the stderr stream of the step. 42241 properties: 42242 path: 42243 description: Path to duplicate stdout 42244 stream to on container's local filesystem. 42245 type: string 42246 type: object 42247 stdin: 42248 description: Deprecated. This field will 42249 be removed in a future release. Whether 42250 this container should allocate a buffer 42251 for stdin in the container runtime. 42252 If this is not set, reads from stdin 42253 in the container will always result 42254 in EOF. Default is false. 42255 type: boolean 42256 stdinOnce: 42257 description: Deprecated. This field will 42258 be removed in a future release. Whether 42259 the container runtime should close the 42260 stdin channel after it has been opened 42261 by a single attach. When stdin is true 42262 the stdin stream will remain open across 42263 multiple attach sessions. If stdinOnce 42264 is set to true, stdin is opened on container 42265 start, is empty until the first client 42266 attaches to stdin, and then remains 42267 open and accepts data until the client 42268 disconnects, at which time stdin is 42269 closed and remains closed until the 42270 container is restarted. If this flag 42271 is false, a container processes that 42272 reads from stdin will never receive 42273 an EOF. Default is false 42274 type: boolean 42275 stdoutConfig: 42276 description: Stores configuration for 42277 the stdout stream of the step. 42278 properties: 42279 path: 42280 description: Path to duplicate stdout 42281 stream to on container's local filesystem. 42282 type: string 42283 type: object 42284 terminationMessagePath: 42285 description: Deprecated. This field will 42286 be removed in a future release and can't 42287 be meaningfully used. 42288 type: string 42289 terminationMessagePolicy: 42290 description: Deprecated. This field will 42291 be removed in a future release and can't 42292 be meaningfully used. 42293 type: string 42294 timeout: 42295 description: 'Timeout is the time after 42296 which the step times out. Defaults to 42297 never. Refer to Go''s ParseDuration 42298 documentation for expected format: https://golang.org/pkg/time/#ParseDuration' 42299 type: string 42300 tty: 42301 description: Deprecated. This field will 42302 be removed in a future release. Whether 42303 this container should allocate a DeprecatedTTY 42304 for itself, also requires 'stdin' to 42305 be true. Default is false. 42306 type: boolean 42307 volumeDevices: 42308 description: volumeDevices is the list 42309 of block devices to be used by the Step. 42310 items: 42311 description: volumeDevice describes 42312 a mapping of a raw block device within 42313 a container. 42314 properties: 42315 devicePath: 42316 description: devicePath is the path 42317 inside of the container that the 42318 device will be mapped to. 42319 type: string 42320 name: 42321 description: name must match the 42322 name of a persistentVolumeClaim 42323 in the pod 42324 type: string 42325 required: 42326 - devicePath 42327 - name 42328 type: object 42329 type: array 42330 x-kubernetes-list-type: atomic 42331 volumeMounts: 42332 description: Volumes to mount into the 42333 Step's filesystem. Cannot be updated. 42334 items: 42335 description: VolumeMount describes a 42336 mounting of a Volume within a container. 42337 properties: 42338 mountPath: 42339 description: Path within the container 42340 at which the volume should be 42341 mounted. Must not contain ':'. 42342 type: string 42343 mountPropagation: 42344 description: mountPropagation determines 42345 how mounts are propagated from 42346 the host to container and the 42347 other way around. When not set, 42348 MountPropagationNone is used. 42349 This field is beta in 1.10. 42350 type: string 42351 name: 42352 description: This must match the 42353 Name of a Volume. 42354 type: string 42355 readOnly: 42356 description: Mounted read-only if 42357 true, read-write otherwise (false 42358 or unspecified). Defaults to false. 42359 type: boolean 42360 subPath: 42361 description: Path within the volume 42362 from which the container's volume 42363 should be mounted. Defaults to 42364 "" (volume's root). 42365 type: string 42366 subPathExpr: 42367 description: Expanded path within 42368 the volume from which the container's 42369 volume should be mounted. Behaves 42370 similarly to SubPath but environment 42371 variable references $(VAR_NAME) 42372 are expanded using the container's 42373 environment. Defaults to "" (volume's 42374 root). SubPathExpr and SubPath 42375 are mutually exclusive. 42376 type: string 42377 required: 42378 - mountPath 42379 - name 42380 type: object 42381 type: array 42382 x-kubernetes-list-type: atomic 42383 workingDir: 42384 description: Step's working directory. 42385 If not specified, the container runtime's 42386 default will be used, which might be 42387 configured in the container image. Cannot 42388 be updated. 42389 type: string 42390 workspaces: 42391 description: "This is an alpha field. 42392 You must set the \"enable-api-fields\" 42393 feature flag to \"alpha\" for this field 42394 to be supported. \n Workspaces is a 42395 list of workspaces from the Task that 42396 this Step wants exclusive access to. 42397 Adding a workspace to this list means 42398 that any other Step or Sidecar that 42399 does not also request this Workspace 42400 will not have access to it." 42401 items: 42402 description: WorkspaceUsage is used 42403 by a Step or Sidecar to declare that 42404 it wants isolated access to a Workspace 42405 defined in a Task. 42406 properties: 42407 mountPath: 42408 description: MountPath is the path 42409 that the workspace should be mounted 42410 to inside the Step or Sidecar, 42411 overriding any MountPath specified 42412 in the Task's WorkspaceDeclaration. 42413 type: string 42414 name: 42415 description: Name is the name of 42416 the workspace this Step or Sidecar 42417 wants access to. 42418 type: string 42419 required: 42420 - mountPath 42421 - name 42422 type: object 42423 type: array 42424 x-kubernetes-list-type: atomic 42425 required: 42426 - name 42427 type: object 42428 type: array 42429 x-kubernetes-list-type: atomic 42430 volumes: 42431 description: Volumes is a collection of volumes 42432 that are available to mount into the steps 42433 of the build. 42434 items: 42435 description: Volume represents a named volume 42436 in a pod that may be accessed by any container 42437 in the pod. 42438 properties: 42439 awsElasticBlockStore: 42440 description: 'awsElasticBlockStore represents 42441 an AWS Disk resource that is attached 42442 to a kubelet''s host machine and then 42443 exposed to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore' 42444 properties: 42445 fsType: 42446 description: 'fsType is the filesystem 42447 type of the volume that you want 42448 to mount. Tip: Ensure that the filesystem 42449 type is supported by the host operating 42450 system. Examples: "ext4", "xfs", 42451 "ntfs". Implicitly inferred to be 42452 "ext4" if unspecified. More info: 42453 https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore 42454 TODO: how do we prevent errors in 42455 the filesystem from compromising 42456 the machine' 42457 type: string 42458 partition: 42459 description: 'partition is the partition 42460 in the volume that you want to mount. 42461 If omitted, the default is to mount 42462 by volume name. Examples: For volume 42463 /dev/sda1, you specify the partition 42464 as "1". Similarly, the volume partition 42465 for /dev/sda is "0" (or you can 42466 leave the property empty).' 42467 format: int32 42468 type: integer 42469 readOnly: 42470 description: 'readOnly value true 42471 will force the readOnly setting 42472 in VolumeMounts. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore' 42473 type: boolean 42474 volumeID: 42475 description: 'volumeID is unique ID 42476 of the persistent disk resource 42477 in AWS (Amazon EBS volume). More 42478 info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore' 42479 type: string 42480 required: 42481 - volumeID 42482 type: object 42483 azureDisk: 42484 description: azureDisk represents an Azure 42485 Data Disk mount on the host and bind 42486 mount to the pod. 42487 properties: 42488 cachingMode: 42489 description: 'cachingMode is the Host 42490 Caching mode: None, Read Only, Read 42491 Write.' 42492 type: string 42493 diskName: 42494 description: diskName is the Name 42495 of the data disk in the blob storage 42496 type: string 42497 diskURI: 42498 description: diskURI is the URI of 42499 data disk in the blob storage 42500 type: string 42501 fsType: 42502 description: fsType is Filesystem 42503 type to mount. Must be a filesystem 42504 type supported by the host operating 42505 system. Ex. "ext4", "xfs", "ntfs". 42506 Implicitly inferred to be "ext4" 42507 if unspecified. 42508 type: string 42509 kind: 42510 description: 'kind expected values 42511 are Shared: multiple blob disks 42512 per storage account Dedicated: 42513 single blob disk per storage account Managed: 42514 azure managed data disk (only in 42515 managed availability set). defaults 42516 to shared' 42517 type: string 42518 readOnly: 42519 description: readOnly Defaults to 42520 false (read/write). ReadOnly here 42521 will force the ReadOnly setting 42522 in VolumeMounts. 42523 type: boolean 42524 required: 42525 - diskName 42526 - diskURI 42527 type: object 42528 azureFile: 42529 description: azureFile represents an Azure 42530 File Service mount on the host and bind 42531 mount to the pod. 42532 properties: 42533 readOnly: 42534 description: readOnly defaults to 42535 false (read/write). ReadOnly here 42536 will force the ReadOnly setting 42537 in VolumeMounts. 42538 type: boolean 42539 secretName: 42540 description: secretName is the name 42541 of secret that contains Azure Storage 42542 Account Name and Key 42543 type: string 42544 shareName: 42545 description: shareName is the azure 42546 share Name 42547 type: string 42548 required: 42549 - secretName 42550 - shareName 42551 type: object 42552 cephfs: 42553 description: cephFS represents a Ceph 42554 FS mount on the host that shares a pod's 42555 lifetime 42556 properties: 42557 monitors: 42558 description: 'monitors is Required: 42559 Monitors is a collection of Ceph 42560 monitors More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it' 42561 items: 42562 type: string 42563 type: array 42564 path: 42565 description: 'path is Optional: Used 42566 as the mounted root, rather than 42567 the full Ceph tree, default is /' 42568 type: string 42569 readOnly: 42570 description: 'readOnly is Optional: 42571 Defaults to false (read/write). 42572 ReadOnly here will force the ReadOnly 42573 setting in VolumeMounts. More info: 42574 https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it' 42575 type: boolean 42576 secretFile: 42577 description: 'secretFile is Optional: 42578 SecretFile is the path to key ring 42579 for User, default is /etc/ceph/user.secret 42580 More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it' 42581 type: string 42582 secretRef: 42583 description: 'secretRef is Optional: 42584 SecretRef is reference to the authentication 42585 secret for User, default is empty. 42586 More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it' 42587 properties: 42588 name: 42589 description: 'Name of the referent. 42590 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 42591 TODO: Add other useful fields. 42592 apiVersion, kind, uid?' 42593 type: string 42594 type: object 42595 user: 42596 description: 'user is optional: User 42597 is the rados user name, default 42598 is admin More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it' 42599 type: string 42600 required: 42601 - monitors 42602 type: object 42603 cinder: 42604 description: 'cinder represents a cinder 42605 volume attached and mounted on kubelets 42606 host machine. More info: https://examples.k8s.io/mysql-cinder-pd/README.md' 42607 properties: 42608 fsType: 42609 description: 'fsType is the filesystem 42610 type to mount. Must be a filesystem 42611 type supported by the host operating 42612 system. Examples: "ext4", "xfs", 42613 "ntfs". Implicitly inferred to be 42614 "ext4" if unspecified. More info: 42615 https://examples.k8s.io/mysql-cinder-pd/README.md' 42616 type: string 42617 readOnly: 42618 description: 'readOnly defaults to 42619 false (read/write). ReadOnly here 42620 will force the ReadOnly setting 42621 in VolumeMounts. More info: https://examples.k8s.io/mysql-cinder-pd/README.md' 42622 type: boolean 42623 secretRef: 42624 description: 'secretRef is optional: 42625 points to a secret object containing 42626 parameters used to connect to OpenStack.' 42627 properties: 42628 name: 42629 description: 'Name of the referent. 42630 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 42631 TODO: Add other useful fields. 42632 apiVersion, kind, uid?' 42633 type: string 42634 type: object 42635 volumeID: 42636 description: 'volumeID used to identify 42637 the volume in cinder. More info: 42638 https://examples.k8s.io/mysql-cinder-pd/README.md' 42639 type: string 42640 required: 42641 - volumeID 42642 type: object 42643 configMap: 42644 description: configMap represents a configMap 42645 that should populate this volume 42646 properties: 42647 defaultMode: 42648 description: 'defaultMode is optional: 42649 mode bits used to set permissions 42650 on created files by default. Must 42651 be an octal value between 0000 and 42652 0777 or a decimal value between 42653 0 and 511. YAML accepts both octal 42654 and decimal values, JSON requires 42655 decimal values for mode bits. Defaults 42656 to 0644. Directories within the 42657 path are not affected by this setting. 42658 This might be in conflict with other 42659 options that affect the file mode, 42660 like fsGroup, and the result can 42661 be other mode bits set.' 42662 format: int32 42663 type: integer 42664 items: 42665 description: items if unspecified, 42666 each key-value pair in the Data 42667 field of the referenced ConfigMap 42668 will be projected into the volume 42669 as a file whose name is the key 42670 and content is the value. If specified, 42671 the listed keys will be projected 42672 into the specified paths, and unlisted 42673 keys will not be present. If a key 42674 is specified which is not present 42675 in the ConfigMap, the volume setup 42676 will error unless it is marked optional. 42677 Paths must be relative and may not 42678 contain the '..' path or start with 42679 '..'. 42680 items: 42681 description: Maps a string key to 42682 a path within a volume. 42683 properties: 42684 key: 42685 description: key is the key 42686 to project. 42687 type: string 42688 mode: 42689 description: 'mode is Optional: 42690 mode bits used to set permissions 42691 on this file. Must be an octal 42692 value between 0000 and 0777 42693 or a decimal value between 42694 0 and 511. YAML accepts both 42695 octal and decimal values, 42696 JSON requires decimal values 42697 for mode bits. If not specified, 42698 the volume defaultMode will 42699 be used. This might be in 42700 conflict with other options 42701 that affect the file mode, 42702 like fsGroup, and the result 42703 can be other mode bits set.' 42704 format: int32 42705 type: integer 42706 path: 42707 description: path is the relative 42708 path of the file to map the 42709 key to. May not be an absolute 42710 path. May not contain the 42711 path element '..'. May not 42712 start with the string '..'. 42713 type: string 42714 required: 42715 - key 42716 - path 42717 type: object 42718 type: array 42719 name: 42720 description: 'Name of the referent. 42721 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 42722 TODO: Add other useful fields. apiVersion, 42723 kind, uid?' 42724 type: string 42725 optional: 42726 description: optional specify whether 42727 the ConfigMap or its keys must be 42728 defined 42729 type: boolean 42730 type: object 42731 csi: 42732 description: csi (Container Storage Interface) 42733 represents ephemeral storage that is 42734 handled by certain external CSI drivers 42735 (Beta feature). 42736 properties: 42737 driver: 42738 description: driver is the name of 42739 the CSI driver that handles this 42740 volume. Consult with your admin 42741 for the correct name as registered 42742 in the cluster. 42743 type: string 42744 fsType: 42745 description: fsType to mount. Ex. 42746 "ext4", "xfs", "ntfs". If not provided, 42747 the empty value is passed to the 42748 associated CSI driver which will 42749 determine the default filesystem 42750 to apply. 42751 type: string 42752 nodePublishSecretRef: 42753 description: nodePublishSecretRef 42754 is a reference to the secret object 42755 containing sensitive information 42756 to pass to the CSI driver to complete 42757 the CSI NodePublishVolume and NodeUnpublishVolume 42758 calls. This field is optional, and may 42759 be empty if no secret is required. 42760 If the secret object contains more 42761 than one secret, all secret references 42762 are passed. 42763 properties: 42764 name: 42765 description: 'Name of the referent. 42766 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 42767 TODO: Add other useful fields. 42768 apiVersion, kind, uid?' 42769 type: string 42770 type: object 42771 readOnly: 42772 description: readOnly specifies a 42773 read-only configuration for the 42774 volume. Defaults to false (read/write). 42775 type: boolean 42776 volumeAttributes: 42777 additionalProperties: 42778 type: string 42779 description: volumeAttributes stores 42780 driver-specific properties that 42781 are passed to the CSI driver. Consult 42782 your driver's documentation for 42783 supported values. 42784 type: object 42785 required: 42786 - driver 42787 type: object 42788 downwardAPI: 42789 description: downwardAPI represents downward 42790 API about the pod that should populate 42791 this volume 42792 properties: 42793 defaultMode: 42794 description: 'Optional: mode bits 42795 to use on created files by default. 42796 Must be a Optional: mode bits used 42797 to set permissions on created files 42798 by default. Must be an octal value 42799 between 0000 and 0777 or a decimal 42800 value between 0 and 511. YAML accepts 42801 both octal and decimal values, JSON 42802 requires decimal values for mode 42803 bits. Defaults to 0644. Directories 42804 within the path are not affected 42805 by this setting. This might be in 42806 conflict with other options that 42807 affect the file mode, like fsGroup, 42808 and the result can be other mode 42809 bits set.' 42810 format: int32 42811 type: integer 42812 items: 42813 description: Items is a list of downward 42814 API volume file 42815 items: 42816 description: DownwardAPIVolumeFile 42817 represents information to create 42818 the file containing the pod field 42819 properties: 42820 fieldRef: 42821 description: 'Required: Selects 42822 a field of the pod: only annotations, 42823 labels, name and namespace 42824 are supported.' 42825 properties: 42826 apiVersion: 42827 description: Version of 42828 the schema the FieldPath 42829 is written in terms of, 42830 defaults to "v1". 42831 type: string 42832 fieldPath: 42833 description: Path of the 42834 field to select in the 42835 specified API version. 42836 type: string 42837 required: 42838 - fieldPath 42839 type: object 42840 mode: 42841 description: 'Optional: mode 42842 bits used to set permissions 42843 on this file, must be an octal 42844 value between 0000 and 0777 42845 or a decimal value between 42846 0 and 511. YAML accepts both 42847 octal and decimal values, 42848 JSON requires decimal values 42849 for mode bits. If not specified, 42850 the volume defaultMode will 42851 be used. This might be in 42852 conflict with other options 42853 that affect the file mode, 42854 like fsGroup, and the result 42855 can be other mode bits set.' 42856 format: int32 42857 type: integer 42858 path: 42859 description: 'Required: Path 42860 is the relative path name 42861 of the file to be created. 42862 Must not be absolute or contain 42863 the ''..'' path. Must be utf-8 42864 encoded. The first item of 42865 the relative path must not 42866 start with ''..''' 42867 type: string 42868 resourceFieldRef: 42869 description: 'Selects a resource 42870 of the container: only resources 42871 limits and requests (limits.cpu, 42872 limits.memory, requests.cpu 42873 and requests.memory) are currently 42874 supported.' 42875 properties: 42876 containerName: 42877 description: 'Container 42878 name: required for volumes, 42879 optional for env vars' 42880 type: string 42881 divisor: 42882 anyOf: 42883 - type: integer 42884 - type: string 42885 description: Specifies the 42886 output format of the exposed 42887 resources, defaults to 42888 "1" 42889 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 42890 x-kubernetes-int-or-string: true 42891 resource: 42892 description: 'Required: 42893 resource to select' 42894 type: string 42895 required: 42896 - resource 42897 type: object 42898 required: 42899 - path 42900 type: object 42901 type: array 42902 type: object 42903 emptyDir: 42904 description: 'emptyDir represents a temporary 42905 directory that shares a pod''s lifetime. 42906 More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir' 42907 properties: 42908 medium: 42909 description: 'medium represents what 42910 type of storage medium should back 42911 this directory. The default is "" 42912 which means to use the node''s default 42913 medium. Must be an empty string 42914 (default) or Memory. More info: 42915 https://kubernetes.io/docs/concepts/storage/volumes#emptydir' 42916 type: string 42917 sizeLimit: 42918 anyOf: 42919 - type: integer 42920 - type: string 42921 description: 'sizeLimit is the total 42922 amount of local storage required 42923 for this EmptyDir volume. The size 42924 limit is also applicable for memory 42925 medium. The maximum usage on memory 42926 medium EmptyDir would be the minimum 42927 value between the SizeLimit specified 42928 here and the sum of memory limits 42929 of all containers in a pod. The 42930 default is nil which means that 42931 the limit is undefined. More info: 42932 http://kubernetes.io/docs/user-guide/volumes#emptydir' 42933 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 42934 x-kubernetes-int-or-string: true 42935 type: object 42936 ephemeral: 42937 description: "ephemeral represents a volume 42938 that is handled by a cluster storage 42939 driver. The volume's lifecycle is tied 42940 to the pod that defines it - it will 42941 be created before the pod starts, and 42942 deleted when the pod is removed. \n 42943 Use this if: a) the volume is only needed 42944 while the pod runs, b) features of normal 42945 volumes like restoring from snapshot 42946 or capacity tracking are needed, 42947 c) the storage driver is specified through 42948 a storage class, and d) the storage 42949 driver supports dynamic volume provisioning 42950 through a PersistentVolumeClaim (see 42951 EphemeralVolumeSource for more information 42952 on the connection between this volume 42953 type and PersistentVolumeClaim). 42954 \n Use PersistentVolumeClaim or one 42955 of the vendor-specific APIs for volumes 42956 that persist for longer than the lifecycle 42957 of an individual pod. \n Use CSI for 42958 light-weight local ephemeral volumes 42959 if the CSI driver is meant to be used 42960 that way - see the documentation of 42961 the driver for more information. \n 42962 A pod can use both types of ephemeral 42963 volumes and persistent volumes at the 42964 same time." 42965 properties: 42966 volumeClaimTemplate: 42967 description: "Will be used to create 42968 a stand-alone PVC to provision the 42969 volume. The pod in which this EphemeralVolumeSource 42970 is embedded will be the owner of 42971 the PVC, i.e. the PVC will be deleted 42972 together with the pod. The name 42973 of the PVC will be `<pod name>-<volume 42974 name>` where `<volume name>` is 42975 the name from the `PodSpec.Volumes` 42976 array entry. Pod validation will 42977 reject the pod if the concatenated 42978 name is not valid for a PVC (for 42979 example, too long). \n An existing 42980 PVC with that name that is not owned 42981 by the pod will *not* be used for 42982 the pod to avoid using an unrelated 42983 volume by mistake. Starting the 42984 pod is then blocked until the unrelated 42985 PVC is removed. If such a pre-created 42986 PVC is meant to be used by the pod, 42987 the PVC has to updated with an owner 42988 reference to the pod once the pod 42989 exists. Normally this should not 42990 be necessary, but it may be useful 42991 when manually reconstructing a broken 42992 cluster. \n This field is read-only 42993 and no changes will be made by Kubernetes 42994 to the PVC after it has been created. 42995 \n Required, must not be nil." 42996 properties: 42997 metadata: 42998 description: May contain labels 42999 and annotations that will be 43000 copied into the PVC when creating 43001 it. No other fields are allowed 43002 and will be rejected during 43003 validation. 43004 type: object 43005 spec: 43006 description: The specification 43007 for the PersistentVolumeClaim. 43008 The entire content is copied 43009 unchanged into the PVC that 43010 gets created from this template. 43011 The same fields as in a PersistentVolumeClaim 43012 are also valid here. 43013 properties: 43014 accessModes: 43015 description: 'accessModes 43016 contains the desired access 43017 modes the volume should 43018 have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1' 43019 items: 43020 type: string 43021 type: array 43022 dataSource: 43023 description: 'dataSource field 43024 can be used to specify either: 43025 * An existing VolumeSnapshot 43026 object (snapshot.storage.k8s.io/VolumeSnapshot) 43027 * An existing PVC (PersistentVolumeClaim) 43028 If the provisioner or an 43029 external controller can 43030 support the specified data 43031 source, it will create a 43032 new volume based on the 43033 contents of the specified 43034 data source. If the AnyVolumeDataSource 43035 feature gate is enabled, 43036 this field will always have 43037 the same contents as the 43038 DataSourceRef field.' 43039 properties: 43040 apiGroup: 43041 description: APIGroup 43042 is the group for the 43043 resource being referenced. 43044 If APIGroup is not specified, 43045 the specified Kind must 43046 be in the core API group. 43047 For any other third-party 43048 types, APIGroup is required. 43049 type: string 43050 kind: 43051 description: Kind is the 43052 type of resource being 43053 referenced 43054 type: string 43055 name: 43056 description: Name is the 43057 name of resource being 43058 referenced 43059 type: string 43060 required: 43061 - kind 43062 - name 43063 type: object 43064 dataSourceRef: 43065 description: 'dataSourceRef 43066 specifies the object from 43067 which to populate the volume 43068 with data, if a non-empty 43069 volume is desired. This 43070 may be any local object 43071 from a non-empty API group 43072 (non core object) or a PersistentVolumeClaim 43073 object. When this field 43074 is specified, volume binding 43075 will only succeed if the 43076 type of the specified object 43077 matches some installed volume 43078 populator or dynamic provisioner. 43079 This field will replace 43080 the functionality of the 43081 DataSource field and as 43082 such if both fields are 43083 non-empty, they must have 43084 the same value. For backwards 43085 compatibility, both fields 43086 (DataSource and DataSourceRef) 43087 will be set to the same 43088 value automatically if one 43089 of them is empty and the 43090 other is non-empty. There 43091 are two important differences 43092 between DataSource and DataSourceRef: 43093 * While DataSource only 43094 allows two specific types 43095 of objects, DataSourceRef allows 43096 any non-core object, as 43097 well as PersistentVolumeClaim 43098 objects. * While DataSource 43099 ignores disallowed values 43100 (dropping them), DataSourceRef preserves 43101 all values, and generates 43102 an error if a disallowed 43103 value is specified. (Beta) 43104 Using this field requires 43105 the AnyVolumeDataSource 43106 feature gate to be enabled.' 43107 properties: 43108 apiGroup: 43109 description: APIGroup 43110 is the group for the 43111 resource being referenced. 43112 If APIGroup is not specified, 43113 the specified Kind must 43114 be in the core API group. 43115 For any other third-party 43116 types, APIGroup is required. 43117 type: string 43118 kind: 43119 description: Kind is the 43120 type of resource being 43121 referenced 43122 type: string 43123 name: 43124 description: Name is the 43125 name of resource being 43126 referenced 43127 type: string 43128 required: 43129 - kind 43130 - name 43131 type: object 43132 resources: 43133 description: 'resources represents 43134 the minimum resources the 43135 volume should have. If RecoverVolumeExpansionFailure 43136 feature is enabled users 43137 are allowed to specify resource 43138 requirements that are lower 43139 than previous value but 43140 must still be higher than 43141 capacity recorded in the 43142 status field of the claim. 43143 More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources' 43144 properties: 43145 limits: 43146 additionalProperties: 43147 anyOf: 43148 - type: integer 43149 - type: string 43150 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 43151 x-kubernetes-int-or-string: true 43152 description: 'Limits describes 43153 the maximum amount of 43154 compute resources allowed. 43155 More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' 43156 type: object 43157 requests: 43158 additionalProperties: 43159 anyOf: 43160 - type: integer 43161 - type: string 43162 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 43163 x-kubernetes-int-or-string: true 43164 description: 'Requests 43165 describes the minimum 43166 amount of compute resources 43167 required. If Requests 43168 is omitted for a container, 43169 it defaults to Limits 43170 if that is explicitly 43171 specified, otherwise 43172 to an implementation-defined 43173 value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' 43174 type: object 43175 type: object 43176 selector: 43177 description: selector is a 43178 label query over volumes 43179 to consider for binding. 43180 properties: 43181 matchExpressions: 43182 description: matchExpressions 43183 is a list of label selector 43184 requirements. The requirements 43185 are ANDed. 43186 items: 43187 description: A label 43188 selector requirement 43189 is a selector that 43190 contains values, a 43191 key, and an operator 43192 that relates the key 43193 and values. 43194 properties: 43195 key: 43196 description: key 43197 is the label key 43198 that the selector 43199 applies to. 43200 type: string 43201 operator: 43202 description: operator 43203 represents a key's 43204 relationship to 43205 a set of values. 43206 Valid operators 43207 are In, NotIn, 43208 Exists and DoesNotExist. 43209 type: string 43210 values: 43211 description: values 43212 is an array of 43213 string values. 43214 If the operator 43215 is In or NotIn, 43216 the values array 43217 must be non-empty. 43218 If the operator 43219 is Exists or DoesNotExist, 43220 the values array 43221 must be empty. 43222 This array is 43223 replaced during 43224 a strategic merge 43225 patch. 43226 items: 43227 type: string 43228 type: array 43229 required: 43230 - key 43231 - operator 43232 type: object 43233 type: array 43234 matchLabels: 43235 additionalProperties: 43236 type: string 43237 description: matchLabels 43238 is a map of {key,value} 43239 pairs. A single {key,value} 43240 in the matchLabels map 43241 is equivalent to an 43242 element of matchExpressions, 43243 whose key field is "key", 43244 the operator is "In", 43245 and the values array 43246 contains only "value". 43247 The requirements are 43248 ANDed. 43249 type: object 43250 type: object 43251 storageClassName: 43252 description: 'storageClassName 43253 is the name of the StorageClass 43254 required by the claim. More 43255 info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1' 43256 type: string 43257 volumeMode: 43258 description: volumeMode defines 43259 what type of volume is required 43260 by the claim. Value of Filesystem 43261 is implied when not included 43262 in claim spec. 43263 type: string 43264 volumeName: 43265 description: volumeName is 43266 the binding reference to 43267 the PersistentVolume backing 43268 this claim. 43269 type: string 43270 type: object 43271 required: 43272 - spec 43273 type: object 43274 type: object 43275 fc: 43276 description: fc represents a Fibre Channel 43277 resource that is attached to a kubelet's 43278 host machine and then exposed to the 43279 pod. 43280 properties: 43281 fsType: 43282 description: 'fsType is the filesystem 43283 type to mount. Must be a filesystem 43284 type supported by the host operating 43285 system. Ex. "ext4", "xfs", "ntfs". 43286 Implicitly inferred to be "ext4" 43287 if unspecified. TODO: how do we 43288 prevent errors in the filesystem 43289 from compromising the machine' 43290 type: string 43291 lun: 43292 description: 'lun is Optional: FC 43293 target lun number' 43294 format: int32 43295 type: integer 43296 readOnly: 43297 description: 'readOnly is Optional: 43298 Defaults to false (read/write). 43299 ReadOnly here will force the ReadOnly 43300 setting in VolumeMounts.' 43301 type: boolean 43302 targetWWNs: 43303 description: 'targetWWNs is Optional: 43304 FC target worldwide names (WWNs)' 43305 items: 43306 type: string 43307 type: array 43308 wwids: 43309 description: 'wwids Optional: FC volume 43310 world wide identifiers (wwids) Either 43311 wwids or combination of targetWWNs 43312 and lun must be set, but not both 43313 simultaneously.' 43314 items: 43315 type: string 43316 type: array 43317 type: object 43318 flexVolume: 43319 description: flexVolume represents a generic 43320 volume resource that is provisioned/attached 43321 using an exec based plugin. 43322 properties: 43323 driver: 43324 description: driver is the name of 43325 the driver to use for this volume. 43326 type: string 43327 fsType: 43328 description: fsType is the filesystem 43329 type to mount. Must be a filesystem 43330 type supported by the host operating 43331 system. Ex. "ext4", "xfs", "ntfs". 43332 The default filesystem depends on 43333 FlexVolume script. 43334 type: string 43335 options: 43336 additionalProperties: 43337 type: string 43338 description: 'options is Optional: 43339 this field holds extra command options 43340 if any.' 43341 type: object 43342 readOnly: 43343 description: 'readOnly is Optional: 43344 defaults to false (read/write). 43345 ReadOnly here will force the ReadOnly 43346 setting in VolumeMounts.' 43347 type: boolean 43348 secretRef: 43349 description: 'secretRef is Optional: 43350 secretRef is reference to the secret 43351 object containing sensitive information 43352 to pass to the plugin scripts. This 43353 may be empty if no secret object 43354 is specified. If the secret object 43355 contains more than one secret, all 43356 secrets are passed to the plugin 43357 scripts.' 43358 properties: 43359 name: 43360 description: 'Name of the referent. 43361 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 43362 TODO: Add other useful fields. 43363 apiVersion, kind, uid?' 43364 type: string 43365 type: object 43366 required: 43367 - driver 43368 type: object 43369 flocker: 43370 description: flocker represents a Flocker 43371 volume attached to a kubelet's host 43372 machine. This depends on the Flocker 43373 control service being running 43374 properties: 43375 datasetName: 43376 description: datasetName is Name of 43377 the dataset stored as metadata -> 43378 name on the dataset for Flocker 43379 should be considered as deprecated 43380 type: string 43381 datasetUUID: 43382 description: datasetUUID is the UUID 43383 of the dataset. This is unique identifier 43384 of a Flocker dataset 43385 type: string 43386 type: object 43387 gcePersistentDisk: 43388 description: 'gcePersistentDisk represents 43389 a GCE Disk resource that is attached 43390 to a kubelet''s host machine and then 43391 exposed to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk' 43392 properties: 43393 fsType: 43394 description: 'fsType is filesystem 43395 type of the volume that you want 43396 to mount. Tip: Ensure that the filesystem 43397 type is supported by the host operating 43398 system. Examples: "ext4", "xfs", 43399 "ntfs". Implicitly inferred to be 43400 "ext4" if unspecified. More info: 43401 https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk 43402 TODO: how do we prevent errors in 43403 the filesystem from compromising 43404 the machine' 43405 type: string 43406 partition: 43407 description: 'partition is the partition 43408 in the volume that you want to mount. 43409 If omitted, the default is to mount 43410 by volume name. Examples: For volume 43411 /dev/sda1, you specify the partition 43412 as "1". Similarly, the volume partition 43413 for /dev/sda is "0" (or you can 43414 leave the property empty). More 43415 info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk' 43416 format: int32 43417 type: integer 43418 pdName: 43419 description: 'pdName is unique name 43420 of the PD resource in GCE. Used 43421 to identify the disk in GCE. More 43422 info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk' 43423 type: string 43424 readOnly: 43425 description: 'readOnly here will force 43426 the ReadOnly setting in VolumeMounts. 43427 Defaults to false. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk' 43428 type: boolean 43429 required: 43430 - pdName 43431 type: object 43432 gitRepo: 43433 description: 'gitRepo represents a git 43434 repository at a particular revision. 43435 DEPRECATED: GitRepo is deprecated. To 43436 provision a container with a git repo, 43437 mount an EmptyDir into an InitContainer 43438 that clones the repo using git, then 43439 mount the EmptyDir into the Pod''s container.' 43440 properties: 43441 directory: 43442 description: directory is the target 43443 directory name. Must not contain 43444 or start with '..'. If '.' is supplied, 43445 the volume directory will be the 43446 git repository. Otherwise, if specified, 43447 the volume will contain the git 43448 repository in the subdirectory with 43449 the given name. 43450 type: string 43451 repository: 43452 description: repository is the URL 43453 type: string 43454 revision: 43455 description: revision is the commit 43456 hash for the specified revision. 43457 type: string 43458 required: 43459 - repository 43460 type: object 43461 glusterfs: 43462 description: 'glusterfs represents a Glusterfs 43463 mount on the host that shares a pod''s 43464 lifetime. More info: https://examples.k8s.io/volumes/glusterfs/README.md' 43465 properties: 43466 endpoints: 43467 description: 'endpoints is the endpoint 43468 name that details Glusterfs topology. 43469 More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod' 43470 type: string 43471 path: 43472 description: 'path is the Glusterfs 43473 volume path. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod' 43474 type: string 43475 readOnly: 43476 description: 'readOnly here will force 43477 the Glusterfs volume to be mounted 43478 with read-only permissions. Defaults 43479 to false. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod' 43480 type: boolean 43481 required: 43482 - endpoints 43483 - path 43484 type: object 43485 hostPath: 43486 description: 'hostPath represents a pre-existing 43487 file or directory on the host machine 43488 that is directly exposed to the container. 43489 This is generally used for system agents 43490 or other privileged things that are 43491 allowed to see the host machine. Most 43492 containers will NOT need this. More 43493 info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath 43494 --- TODO(jonesdl) We need to restrict 43495 who can use host directory mounts and 43496 who can/can not mount host directories 43497 as read/write.' 43498 properties: 43499 path: 43500 description: 'path of the directory 43501 on the host. If the path is a symlink, 43502 it will follow the link to the real 43503 path. More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath' 43504 type: string 43505 type: 43506 description: 'type for HostPath Volume 43507 Defaults to "" More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath' 43508 type: string 43509 required: 43510 - path 43511 type: object 43512 iscsi: 43513 description: 'iscsi represents an ISCSI 43514 Disk resource that is attached to a 43515 kubelet''s host machine and then exposed 43516 to the pod. More info: https://examples.k8s.io/volumes/iscsi/README.md' 43517 properties: 43518 chapAuthDiscovery: 43519 description: chapAuthDiscovery defines 43520 whether support iSCSI Discovery 43521 CHAP authentication 43522 type: boolean 43523 chapAuthSession: 43524 description: chapAuthSession defines 43525 whether support iSCSI Session CHAP 43526 authentication 43527 type: boolean 43528 fsType: 43529 description: 'fsType is the filesystem 43530 type of the volume that you want 43531 to mount. Tip: Ensure that the filesystem 43532 type is supported by the host operating 43533 system. Examples: "ext4", "xfs", 43534 "ntfs". Implicitly inferred to be 43535 "ext4" if unspecified. More info: 43536 https://kubernetes.io/docs/concepts/storage/volumes#iscsi 43537 TODO: how do we prevent errors in 43538 the filesystem from compromising 43539 the machine' 43540 type: string 43541 initiatorName: 43542 description: initiatorName is the 43543 custom iSCSI Initiator Name. If 43544 initiatorName is specified with 43545 iscsiInterface simultaneously, new 43546 iSCSI interface <target portal>:<volume 43547 name> will be created for the connection. 43548 type: string 43549 iqn: 43550 description: iqn is the target iSCSI 43551 Qualified Name. 43552 type: string 43553 iscsiInterface: 43554 description: iscsiInterface is the 43555 interface Name that uses an iSCSI 43556 transport. Defaults to 'default' 43557 (tcp). 43558 type: string 43559 lun: 43560 description: lun represents iSCSI 43561 Target Lun number. 43562 format: int32 43563 type: integer 43564 portals: 43565 description: portals is the iSCSI 43566 Target Portal List. The portal is 43567 either an IP or ip_addr:port if 43568 the port is other than default (typically 43569 TCP ports 860 and 3260). 43570 items: 43571 type: string 43572 type: array 43573 readOnly: 43574 description: readOnly here will force 43575 the ReadOnly setting in VolumeMounts. 43576 Defaults to false. 43577 type: boolean 43578 secretRef: 43579 description: secretRef is the CHAP 43580 Secret for iSCSI target and initiator 43581 authentication 43582 properties: 43583 name: 43584 description: 'Name of the referent. 43585 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 43586 TODO: Add other useful fields. 43587 apiVersion, kind, uid?' 43588 type: string 43589 type: object 43590 targetPortal: 43591 description: targetPortal is iSCSI 43592 Target Portal. The Portal is either 43593 an IP or ip_addr:port if the port 43594 is other than default (typically 43595 TCP ports 860 and 3260). 43596 type: string 43597 required: 43598 - iqn 43599 - lun 43600 - targetPortal 43601 type: object 43602 name: 43603 description: 'name of the volume. Must 43604 be a DNS_LABEL and unique within the 43605 pod. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' 43606 type: string 43607 nfs: 43608 description: 'nfs represents an NFS mount 43609 on the host that shares a pod''s lifetime 43610 More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs' 43611 properties: 43612 path: 43613 description: 'path that is exported 43614 by the NFS server. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs' 43615 type: string 43616 readOnly: 43617 description: 'readOnly here will force 43618 the NFS export to be mounted with 43619 read-only permissions. Defaults 43620 to false. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs' 43621 type: boolean 43622 server: 43623 description: 'server is the hostname 43624 or IP address of the NFS server. 43625 More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs' 43626 type: string 43627 required: 43628 - path 43629 - server 43630 type: object 43631 persistentVolumeClaim: 43632 description: 'persistentVolumeClaimVolumeSource 43633 represents a reference to a PersistentVolumeClaim 43634 in the same namespace. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims' 43635 properties: 43636 claimName: 43637 description: 'claimName is the name 43638 of a PersistentVolumeClaim in the 43639 same namespace as the pod using 43640 this volume. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims' 43641 type: string 43642 readOnly: 43643 description: readOnly Will force the 43644 ReadOnly setting in VolumeMounts. 43645 Default false. 43646 type: boolean 43647 required: 43648 - claimName 43649 type: object 43650 photonPersistentDisk: 43651 description: photonPersistentDisk represents 43652 a PhotonController persistent disk attached 43653 and mounted on kubelets host machine 43654 properties: 43655 fsType: 43656 description: fsType is the filesystem 43657 type to mount. Must be a filesystem 43658 type supported by the host operating 43659 system. Ex. "ext4", "xfs", "ntfs". 43660 Implicitly inferred to be "ext4" 43661 if unspecified. 43662 type: string 43663 pdID: 43664 description: pdID is the ID that identifies 43665 Photon Controller persistent disk 43666 type: string 43667 required: 43668 - pdID 43669 type: object 43670 portworxVolume: 43671 description: portworxVolume represents 43672 a portworx volume attached and mounted 43673 on kubelets host machine 43674 properties: 43675 fsType: 43676 description: fSType represents the 43677 filesystem type to mount Must be 43678 a filesystem type supported by the 43679 host operating system. Ex. "ext4", 43680 "xfs". Implicitly inferred to be 43681 "ext4" if unspecified. 43682 type: string 43683 readOnly: 43684 description: readOnly defaults to 43685 false (read/write). ReadOnly here 43686 will force the ReadOnly setting 43687 in VolumeMounts. 43688 type: boolean 43689 volumeID: 43690 description: volumeID uniquely identifies 43691 a Portworx volume 43692 type: string 43693 required: 43694 - volumeID 43695 type: object 43696 projected: 43697 description: projected items for all in 43698 one resources secrets, configmaps, and 43699 downward API 43700 properties: 43701 defaultMode: 43702 description: defaultMode are the mode 43703 bits used to set permissions on 43704 created files by default. Must be 43705 an octal value between 0000 and 43706 0777 or a decimal value between 43707 0 and 511. YAML accepts both octal 43708 and decimal values, JSON requires 43709 decimal values for mode bits. Directories 43710 within the path are not affected 43711 by this setting. This might be in 43712 conflict with other options that 43713 affect the file mode, like fsGroup, 43714 and the result can be other mode 43715 bits set. 43716 format: int32 43717 type: integer 43718 sources: 43719 description: sources is the list of 43720 volume projections 43721 items: 43722 description: Projection that may 43723 be projected along with other 43724 supported volume types 43725 properties: 43726 configMap: 43727 description: configMap information 43728 about the configMap data to 43729 project 43730 properties: 43731 items: 43732 description: items if unspecified, 43733 each key-value pair in 43734 the Data field of the 43735 referenced ConfigMap will 43736 be projected into the 43737 volume as a file whose 43738 name is the key and content 43739 is the value. If specified, 43740 the listed keys will be 43741 projected into the specified 43742 paths, and unlisted keys 43743 will not be present. If 43744 a key is specified which 43745 is not present in the 43746 ConfigMap, the volume 43747 setup will error unless 43748 it is marked optional. 43749 Paths must be relative 43750 and may not contain the 43751 '..' path or start with 43752 '..'. 43753 items: 43754 description: Maps a string 43755 key to a path within 43756 a volume. 43757 properties: 43758 key: 43759 description: key is 43760 the key to project. 43761 type: string 43762 mode: 43763 description: 'mode 43764 is Optional: mode 43765 bits used to set 43766 permissions on this 43767 file. Must be an 43768 octal value between 43769 0000 and 0777 or 43770 a decimal value 43771 between 0 and 511. 43772 YAML accepts both 43773 octal and decimal 43774 values, JSON requires 43775 decimal values for 43776 mode bits. If not 43777 specified, the volume 43778 defaultMode will 43779 be used. This might 43780 be in conflict with 43781 other options that 43782 affect the file 43783 mode, like fsGroup, 43784 and the result can 43785 be other mode bits 43786 set.' 43787 format: int32 43788 type: integer 43789 path: 43790 description: path 43791 is the relative 43792 path of the file 43793 to map the key to. 43794 May not be an absolute 43795 path. May not contain 43796 the path element 43797 '..'. May not start 43798 with the string 43799 '..'. 43800 type: string 43801 required: 43802 - key 43803 - path 43804 type: object 43805 type: array 43806 name: 43807 description: 'Name of the 43808 referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 43809 TODO: Add other useful 43810 fields. apiVersion, kind, 43811 uid?' 43812 type: string 43813 optional: 43814 description: optional specify 43815 whether the ConfigMap 43816 or its keys must be defined 43817 type: boolean 43818 type: object 43819 downwardAPI: 43820 description: downwardAPI information 43821 about the downwardAPI data 43822 to project 43823 properties: 43824 items: 43825 description: Items is a 43826 list of DownwardAPIVolume 43827 file 43828 items: 43829 description: DownwardAPIVolumeFile 43830 represents information 43831 to create the file containing 43832 the pod field 43833 properties: 43834 fieldRef: 43835 description: 'Required: 43836 Selects a field 43837 of the pod: only 43838 annotations, labels, 43839 name and namespace 43840 are supported.' 43841 properties: 43842 apiVersion: 43843 description: Version 43844 of the schema 43845 the FieldPath 43846 is written in 43847 terms of, defaults 43848 to "v1". 43849 type: string 43850 fieldPath: 43851 description: Path 43852 of the field 43853 to select in 43854 the specified 43855 API version. 43856 type: string 43857 required: 43858 - fieldPath 43859 type: object 43860 mode: 43861 description: 'Optional: 43862 mode bits used to 43863 set permissions 43864 on this file, must 43865 be an octal value 43866 between 0000 and 43867 0777 or a decimal 43868 value between 0 43869 and 511. YAML accepts 43870 both octal and decimal 43871 values, JSON requires 43872 decimal values for 43873 mode bits. If not 43874 specified, the volume 43875 defaultMode will 43876 be used. This might 43877 be in conflict with 43878 other options that 43879 affect the file 43880 mode, like fsGroup, 43881 and the result can 43882 be other mode bits 43883 set.' 43884 format: int32 43885 type: integer 43886 path: 43887 description: 'Required: 43888 Path is the relative 43889 path name of the 43890 file to be created. 43891 Must not be absolute 43892 or contain the ''..'' 43893 path. Must be utf-8 43894 encoded. The first 43895 item of the relative 43896 path must not start 43897 with ''..''' 43898 type: string 43899 resourceFieldRef: 43900 description: 'Selects 43901 a resource of the 43902 container: only 43903 resources limits 43904 and requests (limits.cpu, 43905 limits.memory, requests.cpu 43906 and requests.memory) 43907 are currently supported.' 43908 properties: 43909 containerName: 43910 description: 'Container 43911 name: required 43912 for volumes, 43913 optional for 43914 env vars' 43915 type: string 43916 divisor: 43917 anyOf: 43918 - type: integer 43919 - type: string 43920 description: Specifies 43921 the output format 43922 of the exposed 43923 resources, defaults 43924 to "1" 43925 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 43926 x-kubernetes-int-or-string: true 43927 resource: 43928 description: 'Required: 43929 resource to 43930 select' 43931 type: string 43932 required: 43933 - resource 43934 type: object 43935 required: 43936 - path 43937 type: object 43938 type: array 43939 type: object 43940 secret: 43941 description: secret information 43942 about the secret data to project 43943 properties: 43944 items: 43945 description: items if unspecified, 43946 each key-value pair in 43947 the Data field of the 43948 referenced Secret will 43949 be projected into the 43950 volume as a file whose 43951 name is the key and content 43952 is the value. If specified, 43953 the listed keys will be 43954 projected into the specified 43955 paths, and unlisted keys 43956 will not be present. If 43957 a key is specified which 43958 is not present in the 43959 Secret, the volume setup 43960 will error unless it is 43961 marked optional. Paths 43962 must be relative and may 43963 not contain the '..' path 43964 or start with '..'. 43965 items: 43966 description: Maps a string 43967 key to a path within 43968 a volume. 43969 properties: 43970 key: 43971 description: key is 43972 the key to project. 43973 type: string 43974 mode: 43975 description: 'mode 43976 is Optional: mode 43977 bits used to set 43978 permissions on this 43979 file. Must be an 43980 octal value between 43981 0000 and 0777 or 43982 a decimal value 43983 between 0 and 511. 43984 YAML accepts both 43985 octal and decimal 43986 values, JSON requires 43987 decimal values for 43988 mode bits. If not 43989 specified, the volume 43990 defaultMode will 43991 be used. This might 43992 be in conflict with 43993 other options that 43994 affect the file 43995 mode, like fsGroup, 43996 and the result can 43997 be other mode bits 43998 set.' 43999 format: int32 44000 type: integer 44001 path: 44002 description: path 44003 is the relative 44004 path of the file 44005 to map the key to. 44006 May not be an absolute 44007 path. May not contain 44008 the path element 44009 '..'. May not start 44010 with the string 44011 '..'. 44012 type: string 44013 required: 44014 - key 44015 - path 44016 type: object 44017 type: array 44018 name: 44019 description: 'Name of the 44020 referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 44021 TODO: Add other useful 44022 fields. apiVersion, kind, 44023 uid?' 44024 type: string 44025 optional: 44026 description: optional field 44027 specify whether the Secret 44028 or its key must be defined 44029 type: boolean 44030 type: object 44031 serviceAccountToken: 44032 description: serviceAccountToken 44033 is information about the serviceAccountToken 44034 data to project 44035 properties: 44036 audience: 44037 description: audience is 44038 the intended audience 44039 of the token. A recipient 44040 of a token must identify 44041 itself with an identifier 44042 specified in the audience 44043 of the token, and otherwise 44044 should reject the token. 44045 The audience defaults 44046 to the identifier of the 44047 apiserver. 44048 type: string 44049 expirationSeconds: 44050 description: expirationSeconds 44051 is the requested duration 44052 of validity of the service 44053 account token. As the 44054 token approaches expiration, 44055 the kubelet volume plugin 44056 will proactively rotate 44057 the service account token. 44058 The kubelet will start 44059 trying to rotate the token 44060 if the token is older 44061 than 80 percent of its 44062 time to live or if the 44063 token is older than 24 44064 hours.Defaults to 1 hour 44065 and must be at least 10 44066 minutes. 44067 format: int64 44068 type: integer 44069 path: 44070 description: path is the 44071 path relative to the mount 44072 point of the file to project 44073 the token into. 44074 type: string 44075 required: 44076 - path 44077 type: object 44078 type: object 44079 type: array 44080 type: object 44081 quobyte: 44082 description: quobyte represents a Quobyte 44083 mount on the host that shares a pod's 44084 lifetime 44085 properties: 44086 group: 44087 description: group to map volume access 44088 to Default is no group 44089 type: string 44090 readOnly: 44091 description: readOnly here will force 44092 the Quobyte volume to be mounted 44093 with read-only permissions. Defaults 44094 to false. 44095 type: boolean 44096 registry: 44097 description: registry represents a 44098 single or multiple Quobyte Registry 44099 services specified as a string as 44100 host:port pair (multiple entries 44101 are separated with commas) which 44102 acts as the central registry for 44103 volumes 44104 type: string 44105 tenant: 44106 description: tenant owning the given 44107 Quobyte volume in the Backend Used 44108 with dynamically provisioned Quobyte 44109 volumes, value is set by the plugin 44110 type: string 44111 user: 44112 description: user to map volume access 44113 to Defaults to serivceaccount user 44114 type: string 44115 volume: 44116 description: volume is a string that 44117 references an already created Quobyte 44118 volume by name. 44119 type: string 44120 required: 44121 - registry 44122 - volume 44123 type: object 44124 rbd: 44125 description: 'rbd represents a Rados Block 44126 Device mount on the host that shares 44127 a pod''s lifetime. More info: https://examples.k8s.io/volumes/rbd/README.md' 44128 properties: 44129 fsType: 44130 description: 'fsType is the filesystem 44131 type of the volume that you want 44132 to mount. Tip: Ensure that the filesystem 44133 type is supported by the host operating 44134 system. Examples: "ext4", "xfs", 44135 "ntfs". Implicitly inferred to be 44136 "ext4" if unspecified. More info: 44137 https://kubernetes.io/docs/concepts/storage/volumes#rbd 44138 TODO: how do we prevent errors in 44139 the filesystem from compromising 44140 the machine' 44141 type: string 44142 image: 44143 description: 'image is the rados image 44144 name. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it' 44145 type: string 44146 keyring: 44147 description: 'keyring is the path 44148 to key ring for RBDUser. Default 44149 is /etc/ceph/keyring. More info: 44150 https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it' 44151 type: string 44152 monitors: 44153 description: 'monitors is a collection 44154 of Ceph monitors. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it' 44155 items: 44156 type: string 44157 type: array 44158 pool: 44159 description: 'pool is the rados pool 44160 name. Default is rbd. More info: 44161 https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it' 44162 type: string 44163 readOnly: 44164 description: 'readOnly here will force 44165 the ReadOnly setting in VolumeMounts. 44166 Defaults to false. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it' 44167 type: boolean 44168 secretRef: 44169 description: 'secretRef is name of 44170 the authentication secret for RBDUser. 44171 If provided overrides keyring. Default 44172 is nil. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it' 44173 properties: 44174 name: 44175 description: 'Name of the referent. 44176 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 44177 TODO: Add other useful fields. 44178 apiVersion, kind, uid?' 44179 type: string 44180 type: object 44181 user: 44182 description: 'user is the rados user 44183 name. Default is admin. More info: 44184 https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it' 44185 type: string 44186 required: 44187 - image 44188 - monitors 44189 type: object 44190 scaleIO: 44191 description: scaleIO represents a ScaleIO 44192 persistent volume attached and mounted 44193 on Kubernetes nodes. 44194 properties: 44195 fsType: 44196 description: fsType is the filesystem 44197 type to mount. Must be a filesystem 44198 type supported by the host operating 44199 system. Ex. "ext4", "xfs", "ntfs". 44200 Default is "xfs". 44201 type: string 44202 gateway: 44203 description: gateway is the host address 44204 of the ScaleIO API Gateway. 44205 type: string 44206 protectionDomain: 44207 description: protectionDomain is the 44208 name of the ScaleIO Protection Domain 44209 for the configured storage. 44210 type: string 44211 readOnly: 44212 description: readOnly Defaults to 44213 false (read/write). ReadOnly here 44214 will force the ReadOnly setting 44215 in VolumeMounts. 44216 type: boolean 44217 secretRef: 44218 description: secretRef references 44219 to the secret for ScaleIO user and 44220 other sensitive information. If 44221 this is not provided, Login operation 44222 will fail. 44223 properties: 44224 name: 44225 description: 'Name of the referent. 44226 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 44227 TODO: Add other useful fields. 44228 apiVersion, kind, uid?' 44229 type: string 44230 type: object 44231 sslEnabled: 44232 description: sslEnabled Flag enable/disable 44233 SSL communication with Gateway, 44234 default false 44235 type: boolean 44236 storageMode: 44237 description: storageMode indicates 44238 whether the storage for a volume 44239 should be ThickProvisioned or ThinProvisioned. 44240 Default is ThinProvisioned. 44241 type: string 44242 storagePool: 44243 description: storagePool is the ScaleIO 44244 Storage Pool associated with the 44245 protection domain. 44246 type: string 44247 system: 44248 description: system is the name of 44249 the storage system as configured 44250 in ScaleIO. 44251 type: string 44252 volumeName: 44253 description: volumeName is the name 44254 of a volume already created in the 44255 ScaleIO system that is associated 44256 with this volume source. 44257 type: string 44258 required: 44259 - gateway 44260 - secretRef 44261 - system 44262 type: object 44263 secret: 44264 description: 'secret represents a secret 44265 that should populate this volume. More 44266 info: https://kubernetes.io/docs/concepts/storage/volumes#secret' 44267 properties: 44268 defaultMode: 44269 description: 'defaultMode is Optional: 44270 mode bits used to set permissions 44271 on created files by default. Must 44272 be an octal value between 0000 and 44273 0777 or a decimal value between 44274 0 and 511. YAML accepts both octal 44275 and decimal values, JSON requires 44276 decimal values for mode bits. Defaults 44277 to 0644. Directories within the 44278 path are not affected by this setting. 44279 This might be in conflict with other 44280 options that affect the file mode, 44281 like fsGroup, and the result can 44282 be other mode bits set.' 44283 format: int32 44284 type: integer 44285 items: 44286 description: items If unspecified, 44287 each key-value pair in the Data 44288 field of the referenced Secret will 44289 be projected into the volume as 44290 a file whose name is the key and 44291 content is the value. If specified, 44292 the listed keys will be projected 44293 into the specified paths, and unlisted 44294 keys will not be present. If a key 44295 is specified which is not present 44296 in the Secret, the volume setup 44297 will error unless it is marked optional. 44298 Paths must be relative and may not 44299 contain the '..' path or start with 44300 '..'. 44301 items: 44302 description: Maps a string key to 44303 a path within a volume. 44304 properties: 44305 key: 44306 description: key is the key 44307 to project. 44308 type: string 44309 mode: 44310 description: 'mode is Optional: 44311 mode bits used to set permissions 44312 on this file. Must be an octal 44313 value between 0000 and 0777 44314 or a decimal value between 44315 0 and 511. YAML accepts both 44316 octal and decimal values, 44317 JSON requires decimal values 44318 for mode bits. If not specified, 44319 the volume defaultMode will 44320 be used. This might be in 44321 conflict with other options 44322 that affect the file mode, 44323 like fsGroup, and the result 44324 can be other mode bits set.' 44325 format: int32 44326 type: integer 44327 path: 44328 description: path is the relative 44329 path of the file to map the 44330 key to. May not be an absolute 44331 path. May not contain the 44332 path element '..'. May not 44333 start with the string '..'. 44334 type: string 44335 required: 44336 - key 44337 - path 44338 type: object 44339 type: array 44340 optional: 44341 description: optional field specify 44342 whether the Secret or its keys must 44343 be defined 44344 type: boolean 44345 secretName: 44346 description: 'secretName is the name 44347 of the secret in the pod''s namespace 44348 to use. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret' 44349 type: string 44350 type: object 44351 storageos: 44352 description: storageOS represents a StorageOS 44353 volume attached and mounted on Kubernetes 44354 nodes. 44355 properties: 44356 fsType: 44357 description: fsType is the filesystem 44358 type to mount. Must be a filesystem 44359 type supported by the host operating 44360 system. Ex. "ext4", "xfs", "ntfs". 44361 Implicitly inferred to be "ext4" 44362 if unspecified. 44363 type: string 44364 readOnly: 44365 description: readOnly defaults to 44366 false (read/write). ReadOnly here 44367 will force the ReadOnly setting 44368 in VolumeMounts. 44369 type: boolean 44370 secretRef: 44371 description: secretRef specifies the 44372 secret to use for obtaining the 44373 StorageOS API credentials. If not 44374 specified, default values will be 44375 attempted. 44376 properties: 44377 name: 44378 description: 'Name of the referent. 44379 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 44380 TODO: Add other useful fields. 44381 apiVersion, kind, uid?' 44382 type: string 44383 type: object 44384 volumeName: 44385 description: volumeName is the human-readable 44386 name of the StorageOS volume. Volume 44387 names are only unique within a namespace. 44388 type: string 44389 volumeNamespace: 44390 description: volumeNamespace specifies 44391 the scope of the volume within StorageOS. If 44392 no namespace is specified then the 44393 Pod's namespace will be used. This 44394 allows the Kubernetes name scoping 44395 to be mirrored within StorageOS 44396 for tighter integration. Set VolumeName 44397 to any name to override the default 44398 behaviour. Set to "default" if you 44399 are not using namespaces within 44400 StorageOS. Namespaces that do not 44401 pre-exist within StorageOS will 44402 be created. 44403 type: string 44404 type: object 44405 vsphereVolume: 44406 description: vsphereVolume represents 44407 a vSphere volume attached and mounted 44408 on kubelets host machine 44409 properties: 44410 fsType: 44411 description: fsType is filesystem 44412 type to mount. Must be a filesystem 44413 type supported by the host operating 44414 system. Ex. "ext4", "xfs", "ntfs". 44415 Implicitly inferred to be "ext4" 44416 if unspecified. 44417 type: string 44418 storagePolicyID: 44419 description: storagePolicyID is the 44420 storage Policy Based Management 44421 (SPBM) profile ID associated with 44422 the StoragePolicyName. 44423 type: string 44424 storagePolicyName: 44425 description: storagePolicyName is 44426 the storage Policy Based Management 44427 (SPBM) profile name. 44428 type: string 44429 volumePath: 44430 description: volumePath is the path 44431 that identifies vSphere volume vmdk 44432 type: string 44433 required: 44434 - volumePath 44435 type: object 44436 required: 44437 - name 44438 type: object 44439 type: array 44440 x-kubernetes-list-type: atomic 44441 workspaces: 44442 description: Workspaces are the volumes that 44443 this Task requires. 44444 items: 44445 description: WorkspaceDeclaration is a declaration 44446 of a volume that a Task requires. 44447 properties: 44448 description: 44449 description: Description is an optional 44450 human readable description of this volume. 44451 type: string 44452 mountPath: 44453 description: MountPath overrides the directory 44454 that the volume will be made available 44455 at. 44456 type: string 44457 name: 44458 description: Name is the name by which 44459 you can bind the volume at runtime. 44460 type: string 44461 optional: 44462 description: Optional marks a Workspace 44463 as not being required in TaskRuns. By 44464 default this field is false and so declared 44465 workspaces are required. 44466 type: boolean 44467 readOnly: 44468 description: ReadOnly dictates whether 44469 a mounted volume is writable. By default 44470 this field is false and so mounted volumes 44471 are writable. 44472 type: boolean 44473 required: 44474 - name 44475 type: object 44476 type: array 44477 x-kubernetes-list-type: atomic 44478 type: object 44479 timeout: 44480 description: 'Time after which the TaskRun times 44481 out. Defaults to 1 hour. Specified TaskRun timeout 44482 should be less than 24h. Refer Go''s ParseDuration 44483 documentation for expected format: https://golang.org/pkg/time/#ParseDuration' 44484 type: string 44485 when: 44486 description: WhenExpressions is a list of when expressions 44487 that need to be true for the task to run 44488 items: 44489 description: WhenExpression allows a PipelineTask 44490 to declare expressions to be evaluated before 44491 the Task is run to determine whether the Task 44492 should be executed or skipped 44493 properties: 44494 input: 44495 description: Input is the string for guard 44496 checking which can be a static input or 44497 an output from a parent Task 44498 type: string 44499 operator: 44500 description: Operator that represents an Input's 44501 relationship to the values 44502 type: string 44503 values: 44504 description: Values is an array of strings, 44505 which is compared against the input, for 44506 guard checking It must be non-empty 44507 items: 44508 type: string 44509 type: array 44510 x-kubernetes-list-type: atomic 44511 required: 44512 - input 44513 - operator 44514 - values 44515 type: object 44516 type: array 44517 workspaces: 44518 description: Workspaces maps workspaces from the 44519 pipeline spec to the workspaces declared in the 44520 Task. 44521 items: 44522 description: WorkspacePipelineTaskBinding describes 44523 how a workspace passed into the pipeline should 44524 be mapped to a task's declared workspace. 44525 properties: 44526 name: 44527 description: Name is the name of the workspace 44528 as declared by the task 44529 type: string 44530 subPath: 44531 description: SubPath is optionally a directory 44532 on the volume which should be used for this 44533 binding (i.e. the volume will be mounted 44534 at this sub directory). 44535 type: string 44536 workspace: 44537 description: Workspace is the name of the 44538 workspace declared by the pipeline 44539 type: string 44540 required: 44541 - name 44542 type: object 44543 type: array 44544 x-kubernetes-list-type: atomic 44545 type: object 44546 type: array 44547 x-kubernetes-list-type: atomic 44548 workspaces: 44549 description: Workspaces declares a set of named workspaces 44550 that are expected to be provided by a PipelineRun. 44551 items: 44552 description: PipelineWorkspaceDeclaration creates a 44553 named slot in a Pipeline that a PipelineRun is expected 44554 to populate with a workspace binding. 44555 properties: 44556 description: 44557 description: Description is a human readable string 44558 describing how the workspace will be used in the 44559 Pipeline. It can be useful to include a bit of 44560 detail about which tasks are intended to have 44561 access to the data on the workspace. 44562 type: string 44563 name: 44564 description: Name is the name of a workspace to 44565 be provided by a PipelineRun. 44566 type: string 44567 optional: 44568 description: Optional marks a Workspace as not being 44569 required in PipelineRuns. By default this field 44570 is false and so declared workspaces are required. 44571 type: boolean 44572 required: 44573 - name 44574 type: object 44575 type: array 44576 x-kubernetes-list-type: atomic 44577 type: object 44578 podTemplate: 44579 description: PodTemplate holds pod specific configuration 44580 properties: 44581 affinity: 44582 description: If specified, the pod's scheduling constraints 44583 properties: 44584 nodeAffinity: 44585 description: Describes node affinity scheduling rules 44586 for the pod. 44587 properties: 44588 preferredDuringSchedulingIgnoredDuringExecution: 44589 description: The scheduler will prefer to schedule 44590 pods to nodes that satisfy the affinity expressions 44591 specified by this field, but it may choose a 44592 node that violates one or more of the expressions. 44593 The node that is most preferred is the one with 44594 the greatest sum of weights, i.e. for each node 44595 that meets all of the scheduling requirements 44596 (resource request, requiredDuringScheduling 44597 affinity expressions, etc.), compute a sum by 44598 iterating through the elements of this field 44599 and adding "weight" to the sum if the node matches 44600 the corresponding matchExpressions; the node(s) 44601 with the highest sum are the most preferred. 44602 items: 44603 description: An empty preferred scheduling term 44604 matches all objects with implicit weight 0 44605 (i.e. it's a no-op). A null preferred scheduling 44606 term matches no objects (i.e. is also a no-op). 44607 properties: 44608 preference: 44609 description: A node selector term, associated 44610 with the corresponding weight. 44611 properties: 44612 matchExpressions: 44613 description: A list of node selector 44614 requirements by node's labels. 44615 items: 44616 description: A node selector requirement 44617 is a selector that contains values, 44618 a key, and an operator that relates 44619 the key and values. 44620 properties: 44621 key: 44622 description: The label key that 44623 the selector applies to. 44624 type: string 44625 operator: 44626 description: Represents a key's 44627 relationship to a set of values. 44628 Valid operators are In, NotIn, 44629 Exists, DoesNotExist. Gt, and 44630 Lt. 44631 type: string 44632 values: 44633 description: An array of string 44634 values. If the operator is In 44635 or NotIn, the values array must 44636 be non-empty. If the operator 44637 is Exists or DoesNotExist, the 44638 values array must be empty. 44639 If the operator is Gt or Lt, 44640 the values array must have a 44641 single element, which will be 44642 interpreted as an integer. This 44643 array is replaced during a strategic 44644 merge patch. 44645 items: 44646 type: string 44647 type: array 44648 required: 44649 - key 44650 - operator 44651 type: object 44652 type: array 44653 matchFields: 44654 description: A list of node selector 44655 requirements by node's fields. 44656 items: 44657 description: A node selector requirement 44658 is a selector that contains values, 44659 a key, and an operator that relates 44660 the key and values. 44661 properties: 44662 key: 44663 description: The label key that 44664 the selector applies to. 44665 type: string 44666 operator: 44667 description: Represents a key's 44668 relationship to a set of values. 44669 Valid operators are In, NotIn, 44670 Exists, DoesNotExist. Gt, and 44671 Lt. 44672 type: string 44673 values: 44674 description: An array of string 44675 values. If the operator is In 44676 or NotIn, the values array must 44677 be non-empty. If the operator 44678 is Exists or DoesNotExist, the 44679 values array must be empty. 44680 If the operator is Gt or Lt, 44681 the values array must have a 44682 single element, which will be 44683 interpreted as an integer. This 44684 array is replaced during a strategic 44685 merge patch. 44686 items: 44687 type: string 44688 type: array 44689 required: 44690 - key 44691 - operator 44692 type: object 44693 type: array 44694 type: object 44695 weight: 44696 description: Weight associated with matching 44697 the corresponding nodeSelectorTerm, in 44698 the range 1-100. 44699 format: int32 44700 type: integer 44701 required: 44702 - preference 44703 - weight 44704 type: object 44705 type: array 44706 requiredDuringSchedulingIgnoredDuringExecution: 44707 description: If the affinity requirements specified 44708 by this field are not met at scheduling time, 44709 the pod will not be scheduled onto the node. 44710 If the affinity requirements specified by this 44711 field cease to be met at some point during pod 44712 execution (e.g. due to an update), the system 44713 may or may not try to eventually evict the pod 44714 from its node. 44715 properties: 44716 nodeSelectorTerms: 44717 description: Required. A list of node selector 44718 terms. The terms are ORed. 44719 items: 44720 description: A null or empty node selector 44721 term matches no objects. The requirements 44722 of them are ANDed. The TopologySelectorTerm 44723 type implements a subset of the NodeSelectorTerm. 44724 properties: 44725 matchExpressions: 44726 description: A list of node selector 44727 requirements by node's labels. 44728 items: 44729 description: A node selector requirement 44730 is a selector that contains values, 44731 a key, and an operator that relates 44732 the key and values. 44733 properties: 44734 key: 44735 description: The label key that 44736 the selector applies to. 44737 type: string 44738 operator: 44739 description: Represents a key's 44740 relationship to a set of values. 44741 Valid operators are In, NotIn, 44742 Exists, DoesNotExist. Gt, and 44743 Lt. 44744 type: string 44745 values: 44746 description: An array of string 44747 values. If the operator is In 44748 or NotIn, the values array must 44749 be non-empty. If the operator 44750 is Exists or DoesNotExist, the 44751 values array must be empty. 44752 If the operator is Gt or Lt, 44753 the values array must have a 44754 single element, which will be 44755 interpreted as an integer. This 44756 array is replaced during a strategic 44757 merge patch. 44758 items: 44759 type: string 44760 type: array 44761 required: 44762 - key 44763 - operator 44764 type: object 44765 type: array 44766 matchFields: 44767 description: A list of node selector 44768 requirements by node's fields. 44769 items: 44770 description: A node selector requirement 44771 is a selector that contains values, 44772 a key, and an operator that relates 44773 the key and values. 44774 properties: 44775 key: 44776 description: The label key that 44777 the selector applies to. 44778 type: string 44779 operator: 44780 description: Represents a key's 44781 relationship to a set of values. 44782 Valid operators are In, NotIn, 44783 Exists, DoesNotExist. Gt, and 44784 Lt. 44785 type: string 44786 values: 44787 description: An array of string 44788 values. If the operator is In 44789 or NotIn, the values array must 44790 be non-empty. If the operator 44791 is Exists or DoesNotExist, the 44792 values array must be empty. 44793 If the operator is Gt or Lt, 44794 the values array must have a 44795 single element, which will be 44796 interpreted as an integer. This 44797 array is replaced during a strategic 44798 merge patch. 44799 items: 44800 type: string 44801 type: array 44802 required: 44803 - key 44804 - operator 44805 type: object 44806 type: array 44807 type: object 44808 type: array 44809 required: 44810 - nodeSelectorTerms 44811 type: object 44812 type: object 44813 podAffinity: 44814 description: Describes pod affinity scheduling rules 44815 (e.g. co-locate this pod in the same node, zone, 44816 etc. as some other pod(s)). 44817 properties: 44818 preferredDuringSchedulingIgnoredDuringExecution: 44819 description: The scheduler will prefer to schedule 44820 pods to nodes that satisfy the affinity expressions 44821 specified by this field, but it may choose a 44822 node that violates one or more of the expressions. 44823 The node that is most preferred is the one with 44824 the greatest sum of weights, i.e. for each node 44825 that meets all of the scheduling requirements 44826 (resource request, requiredDuringScheduling 44827 affinity expressions, etc.), compute a sum by 44828 iterating through the elements of this field 44829 and adding "weight" to the sum if the node has 44830 pods which matches the corresponding podAffinityTerm; 44831 the node(s) with the highest sum are the most 44832 preferred. 44833 items: 44834 description: The weights of all of the matched 44835 WeightedPodAffinityTerm fields are added per-node 44836 to find the most preferred node(s) 44837 properties: 44838 podAffinityTerm: 44839 description: Required. A pod affinity term, 44840 associated with the corresponding weight. 44841 properties: 44842 labelSelector: 44843 description: A label query over a set 44844 of resources, in this case pods. 44845 properties: 44846 matchExpressions: 44847 description: matchExpressions is 44848 a list of label selector requirements. 44849 The requirements are ANDed. 44850 items: 44851 description: A label selector 44852 requirement is a selector that 44853 contains values, a key, and 44854 an operator that relates the 44855 key and values. 44856 properties: 44857 key: 44858 description: key is the label 44859 key that the selector applies 44860 to. 44861 type: string 44862 operator: 44863 description: operator represents 44864 a key's relationship to 44865 a set of values. Valid operators 44866 are In, NotIn, Exists and 44867 DoesNotExist. 44868 type: string 44869 values: 44870 description: values is an 44871 array of string values. 44872 If the operator is In or 44873 NotIn, the values array 44874 must be non-empty. If the 44875 operator is Exists or DoesNotExist, 44876 the values array must be 44877 empty. This array is replaced 44878 during a strategic merge 44879 patch. 44880 items: 44881 type: string 44882 type: array 44883 required: 44884 - key 44885 - operator 44886 type: object 44887 type: array 44888 matchLabels: 44889 additionalProperties: 44890 type: string 44891 description: matchLabels is a map 44892 of {key,value} pairs. A single 44893 {key,value} in the matchLabels 44894 map is equivalent to an element 44895 of matchExpressions, whose key 44896 field is "key", the operator is 44897 "In", and the values array contains 44898 only "value". The requirements 44899 are ANDed. 44900 type: object 44901 type: object 44902 namespaceSelector: 44903 description: A label query over the 44904 set of namespaces that the term applies 44905 to. The term is applied to the union 44906 of the namespaces selected by this 44907 field and the ones listed in the namespaces 44908 field. null selector and null or empty 44909 namespaces list means "this pod's 44910 namespace". An empty selector ({}) 44911 matches all namespaces. 44912 properties: 44913 matchExpressions: 44914 description: matchExpressions is 44915 a list of label selector requirements. 44916 The requirements are ANDed. 44917 items: 44918 description: A label selector 44919 requirement is a selector that 44920 contains values, a key, and 44921 an operator that relates the 44922 key and values. 44923 properties: 44924 key: 44925 description: key is the label 44926 key that the selector applies 44927 to. 44928 type: string 44929 operator: 44930 description: operator represents 44931 a key's relationship to 44932 a set of values. Valid operators 44933 are In, NotIn, Exists and 44934 DoesNotExist. 44935 type: string 44936 values: 44937 description: values is an 44938 array of string values. 44939 If the operator is In or 44940 NotIn, the values array 44941 must be non-empty. If the 44942 operator is Exists or DoesNotExist, 44943 the values array must be 44944 empty. This array is replaced 44945 during a strategic merge 44946 patch. 44947 items: 44948 type: string 44949 type: array 44950 required: 44951 - key 44952 - operator 44953 type: object 44954 type: array 44955 matchLabels: 44956 additionalProperties: 44957 type: string 44958 description: matchLabels is a map 44959 of {key,value} pairs. A single 44960 {key,value} in the matchLabels 44961 map is equivalent to an element 44962 of matchExpressions, whose key 44963 field is "key", the operator is 44964 "In", and the values array contains 44965 only "value". The requirements 44966 are ANDed. 44967 type: object 44968 type: object 44969 namespaces: 44970 description: namespaces specifies a 44971 static list of namespace names that 44972 the term applies to. The term is applied 44973 to the union of the namespaces listed 44974 in this field and the ones selected 44975 by namespaceSelector. null or empty 44976 namespaces list and null namespaceSelector 44977 means "this pod's namespace". 44978 items: 44979 type: string 44980 type: array 44981 topologyKey: 44982 description: This pod should be co-located 44983 (affinity) or not co-located (anti-affinity) 44984 with the pods matching the labelSelector 44985 in the specified namespaces, where 44986 co-located is defined as running on 44987 a node whose value of the label with 44988 key topologyKey matches that of any 44989 node on which any of the selected 44990 pods is running. Empty topologyKey 44991 is not allowed. 44992 type: string 44993 required: 44994 - topologyKey 44995 type: object 44996 weight: 44997 description: weight associated with matching 44998 the corresponding podAffinityTerm, in 44999 the range 1-100. 45000 format: int32 45001 type: integer 45002 required: 45003 - podAffinityTerm 45004 - weight 45005 type: object 45006 type: array 45007 requiredDuringSchedulingIgnoredDuringExecution: 45008 description: If the affinity requirements specified 45009 by this field are not met at scheduling time, 45010 the pod will not be scheduled onto the node. 45011 If the affinity requirements specified by this 45012 field cease to be met at some point during pod 45013 execution (e.g. due to a pod label update), 45014 the system may or may not try to eventually 45015 evict the pod from its node. When there are 45016 multiple elements, the lists of nodes corresponding 45017 to each podAffinityTerm are intersected, i.e. 45018 all terms must be satisfied. 45019 items: 45020 description: Defines a set of pods (namely those 45021 matching the labelSelector relative to the 45022 given namespace(s)) that this pod should be 45023 co-located (affinity) or not co-located (anti-affinity) 45024 with, where co-located is defined as running 45025 on a node whose value of the label with key 45026 <topologyKey> matches that of any node on 45027 which a pod of the set of pods is running 45028 properties: 45029 labelSelector: 45030 description: A label query over a set of 45031 resources, in this case pods. 45032 properties: 45033 matchExpressions: 45034 description: matchExpressions is a list 45035 of label selector requirements. The 45036 requirements are ANDed. 45037 items: 45038 description: A label selector requirement 45039 is a selector that contains values, 45040 a key, and an operator that relates 45041 the key and values. 45042 properties: 45043 key: 45044 description: key is the label 45045 key that the selector applies 45046 to. 45047 type: string 45048 operator: 45049 description: operator represents 45050 a key's relationship to a set 45051 of values. Valid operators are 45052 In, NotIn, Exists and DoesNotExist. 45053 type: string 45054 values: 45055 description: values is an array 45056 of string values. If the operator 45057 is In or NotIn, the values array 45058 must be non-empty. If the operator 45059 is Exists or DoesNotExist, the 45060 values array must be empty. 45061 This array is replaced during 45062 a strategic merge patch. 45063 items: 45064 type: string 45065 type: array 45066 required: 45067 - key 45068 - operator 45069 type: object 45070 type: array 45071 matchLabels: 45072 additionalProperties: 45073 type: string 45074 description: matchLabels is a map of 45075 {key,value} pairs. A single {key,value} 45076 in the matchLabels map is equivalent 45077 to an element of matchExpressions, 45078 whose key field is "key", the operator 45079 is "In", and the values array contains 45080 only "value". The requirements are 45081 ANDed. 45082 type: object 45083 type: object 45084 namespaceSelector: 45085 description: A label query over the set 45086 of namespaces that the term applies to. 45087 The term is applied to the union of the 45088 namespaces selected by this field and 45089 the ones listed in the namespaces field. 45090 null selector and null or empty namespaces 45091 list means "this pod's namespace". An 45092 empty selector ({}) matches all namespaces. 45093 properties: 45094 matchExpressions: 45095 description: matchExpressions is a list 45096 of label selector requirements. The 45097 requirements are ANDed. 45098 items: 45099 description: A label selector requirement 45100 is a selector that contains values, 45101 a key, and an operator that relates 45102 the key and values. 45103 properties: 45104 key: 45105 description: key is the label 45106 key that the selector applies 45107 to. 45108 type: string 45109 operator: 45110 description: operator represents 45111 a key's relationship to a set 45112 of values. Valid operators are 45113 In, NotIn, Exists and DoesNotExist. 45114 type: string 45115 values: 45116 description: values is an array 45117 of string values. If the operator 45118 is In or NotIn, the values array 45119 must be non-empty. If the operator 45120 is Exists or DoesNotExist, the 45121 values array must be empty. 45122 This array is replaced during 45123 a strategic merge patch. 45124 items: 45125 type: string 45126 type: array 45127 required: 45128 - key 45129 - operator 45130 type: object 45131 type: array 45132 matchLabels: 45133 additionalProperties: 45134 type: string 45135 description: matchLabels is a map of 45136 {key,value} pairs. A single {key,value} 45137 in the matchLabels map is equivalent 45138 to an element of matchExpressions, 45139 whose key field is "key", the operator 45140 is "In", and the values array contains 45141 only "value". The requirements are 45142 ANDed. 45143 type: object 45144 type: object 45145 namespaces: 45146 description: namespaces specifies a static 45147 list of namespace names that the term 45148 applies to. The term is applied to the 45149 union of the namespaces listed in this 45150 field and the ones selected by namespaceSelector. 45151 null or empty namespaces list and null 45152 namespaceSelector means "this pod's namespace". 45153 items: 45154 type: string 45155 type: array 45156 topologyKey: 45157 description: This pod should be co-located 45158 (affinity) or not co-located (anti-affinity) 45159 with the pods matching the labelSelector 45160 in the specified namespaces, where co-located 45161 is defined as running on a node whose 45162 value of the label with key topologyKey 45163 matches that of any node on which any 45164 of the selected pods is running. Empty 45165 topologyKey is not allowed. 45166 type: string 45167 required: 45168 - topologyKey 45169 type: object 45170 type: array 45171 type: object 45172 podAntiAffinity: 45173 description: Describes pod anti-affinity scheduling 45174 rules (e.g. avoid putting this pod in the same node, 45175 zone, etc. as some other pod(s)). 45176 properties: 45177 preferredDuringSchedulingIgnoredDuringExecution: 45178 description: The scheduler will prefer to schedule 45179 pods to nodes that satisfy the anti-affinity 45180 expressions specified by this field, but it 45181 may choose a node that violates one or more 45182 of the expressions. The node that is most preferred 45183 is the one with the greatest sum of weights, 45184 i.e. for each node that meets all of the scheduling 45185 requirements (resource request, requiredDuringScheduling 45186 anti-affinity expressions, etc.), compute a 45187 sum by iterating through the elements of this 45188 field and adding "weight" to the sum if the 45189 node has pods which matches the corresponding 45190 podAffinityTerm; the node(s) with the highest 45191 sum are the most preferred. 45192 items: 45193 description: The weights of all of the matched 45194 WeightedPodAffinityTerm fields are added per-node 45195 to find the most preferred node(s) 45196 properties: 45197 podAffinityTerm: 45198 description: Required. A pod affinity term, 45199 associated with the corresponding weight. 45200 properties: 45201 labelSelector: 45202 description: A label query over a set 45203 of resources, in this case pods. 45204 properties: 45205 matchExpressions: 45206 description: matchExpressions is 45207 a list of label selector requirements. 45208 The requirements are ANDed. 45209 items: 45210 description: A label selector 45211 requirement is a selector that 45212 contains values, a key, and 45213 an operator that relates the 45214 key and values. 45215 properties: 45216 key: 45217 description: key is the label 45218 key that the selector applies 45219 to. 45220 type: string 45221 operator: 45222 description: operator represents 45223 a key's relationship to 45224 a set of values. Valid operators 45225 are In, NotIn, Exists and 45226 DoesNotExist. 45227 type: string 45228 values: 45229 description: values is an 45230 array of string values. 45231 If the operator is In or 45232 NotIn, the values array 45233 must be non-empty. If the 45234 operator is Exists or DoesNotExist, 45235 the values array must be 45236 empty. This array is replaced 45237 during a strategic merge 45238 patch. 45239 items: 45240 type: string 45241 type: array 45242 required: 45243 - key 45244 - operator 45245 type: object 45246 type: array 45247 matchLabels: 45248 additionalProperties: 45249 type: string 45250 description: matchLabels is a map 45251 of {key,value} pairs. A single 45252 {key,value} in the matchLabels 45253 map is equivalent to an element 45254 of matchExpressions, whose key 45255 field is "key", the operator is 45256 "In", and the values array contains 45257 only "value". The requirements 45258 are ANDed. 45259 type: object 45260 type: object 45261 namespaceSelector: 45262 description: A label query over the 45263 set of namespaces that the term applies 45264 to. The term is applied to the union 45265 of the namespaces selected by this 45266 field and the ones listed in the namespaces 45267 field. null selector and null or empty 45268 namespaces list means "this pod's 45269 namespace". An empty selector ({}) 45270 matches all namespaces. 45271 properties: 45272 matchExpressions: 45273 description: matchExpressions is 45274 a list of label selector requirements. 45275 The requirements are ANDed. 45276 items: 45277 description: A label selector 45278 requirement is a selector that 45279 contains values, a key, and 45280 an operator that relates the 45281 key and values. 45282 properties: 45283 key: 45284 description: key is the label 45285 key that the selector applies 45286 to. 45287 type: string 45288 operator: 45289 description: operator represents 45290 a key's relationship to 45291 a set of values. Valid operators 45292 are In, NotIn, Exists and 45293 DoesNotExist. 45294 type: string 45295 values: 45296 description: values is an 45297 array of string values. 45298 If the operator is In or 45299 NotIn, the values array 45300 must be non-empty. If the 45301 operator is Exists or DoesNotExist, 45302 the values array must be 45303 empty. This array is replaced 45304 during a strategic merge 45305 patch. 45306 items: 45307 type: string 45308 type: array 45309 required: 45310 - key 45311 - operator 45312 type: object 45313 type: array 45314 matchLabels: 45315 additionalProperties: 45316 type: string 45317 description: matchLabels is a map 45318 of {key,value} pairs. A single 45319 {key,value} in the matchLabels 45320 map is equivalent to an element 45321 of matchExpressions, whose key 45322 field is "key", the operator is 45323 "In", and the values array contains 45324 only "value". The requirements 45325 are ANDed. 45326 type: object 45327 type: object 45328 namespaces: 45329 description: namespaces specifies a 45330 static list of namespace names that 45331 the term applies to. The term is applied 45332 to the union of the namespaces listed 45333 in this field and the ones selected 45334 by namespaceSelector. null or empty 45335 namespaces list and null namespaceSelector 45336 means "this pod's namespace". 45337 items: 45338 type: string 45339 type: array 45340 topologyKey: 45341 description: This pod should be co-located 45342 (affinity) or not co-located (anti-affinity) 45343 with the pods matching the labelSelector 45344 in the specified namespaces, where 45345 co-located is defined as running on 45346 a node whose value of the label with 45347 key topologyKey matches that of any 45348 node on which any of the selected 45349 pods is running. Empty topologyKey 45350 is not allowed. 45351 type: string 45352 required: 45353 - topologyKey 45354 type: object 45355 weight: 45356 description: weight associated with matching 45357 the corresponding podAffinityTerm, in 45358 the range 1-100. 45359 format: int32 45360 type: integer 45361 required: 45362 - podAffinityTerm 45363 - weight 45364 type: object 45365 type: array 45366 requiredDuringSchedulingIgnoredDuringExecution: 45367 description: If the anti-affinity requirements 45368 specified by this field are not met at scheduling 45369 time, the pod will not be scheduled onto the 45370 node. If the anti-affinity requirements specified 45371 by this field cease to be met at some point 45372 during pod execution (e.g. due to a pod label 45373 update), the system may or may not try to eventually 45374 evict the pod from its node. When there are 45375 multiple elements, the lists of nodes corresponding 45376 to each podAffinityTerm are intersected, i.e. 45377 all terms must be satisfied. 45378 items: 45379 description: Defines a set of pods (namely those 45380 matching the labelSelector relative to the 45381 given namespace(s)) that this pod should be 45382 co-located (affinity) or not co-located (anti-affinity) 45383 with, where co-located is defined as running 45384 on a node whose value of the label with key 45385 <topologyKey> matches that of any node on 45386 which a pod of the set of pods is running 45387 properties: 45388 labelSelector: 45389 description: A label query over a set of 45390 resources, in this case pods. 45391 properties: 45392 matchExpressions: 45393 description: matchExpressions is a list 45394 of label selector requirements. The 45395 requirements are ANDed. 45396 items: 45397 description: A label selector requirement 45398 is a selector that contains values, 45399 a key, and an operator that relates 45400 the key and values. 45401 properties: 45402 key: 45403 description: key is the label 45404 key that the selector applies 45405 to. 45406 type: string 45407 operator: 45408 description: operator represents 45409 a key's relationship to a set 45410 of values. Valid operators are 45411 In, NotIn, Exists and DoesNotExist. 45412 type: string 45413 values: 45414 description: values is an array 45415 of string values. If the operator 45416 is In or NotIn, the values array 45417 must be non-empty. If the operator 45418 is Exists or DoesNotExist, the 45419 values array must be empty. 45420 This array is replaced during 45421 a strategic merge patch. 45422 items: 45423 type: string 45424 type: array 45425 required: 45426 - key 45427 - operator 45428 type: object 45429 type: array 45430 matchLabels: 45431 additionalProperties: 45432 type: string 45433 description: matchLabels is a map of 45434 {key,value} pairs. A single {key,value} 45435 in the matchLabels map is equivalent 45436 to an element of matchExpressions, 45437 whose key field is "key", the operator 45438 is "In", and the values array contains 45439 only "value". The requirements are 45440 ANDed. 45441 type: object 45442 type: object 45443 namespaceSelector: 45444 description: A label query over the set 45445 of namespaces that the term applies to. 45446 The term is applied to the union of the 45447 namespaces selected by this field and 45448 the ones listed in the namespaces field. 45449 null selector and null or empty namespaces 45450 list means "this pod's namespace". An 45451 empty selector ({}) matches all namespaces. 45452 properties: 45453 matchExpressions: 45454 description: matchExpressions is a list 45455 of label selector requirements. The 45456 requirements are ANDed. 45457 items: 45458 description: A label selector requirement 45459 is a selector that contains values, 45460 a key, and an operator that relates 45461 the key and values. 45462 properties: 45463 key: 45464 description: key is the label 45465 key that the selector applies 45466 to. 45467 type: string 45468 operator: 45469 description: operator represents 45470 a key's relationship to a set 45471 of values. Valid operators are 45472 In, NotIn, Exists and DoesNotExist. 45473 type: string 45474 values: 45475 description: values is an array 45476 of string values. If the operator 45477 is In or NotIn, the values array 45478 must be non-empty. If the operator 45479 is Exists or DoesNotExist, the 45480 values array must be empty. 45481 This array is replaced during 45482 a strategic merge patch. 45483 items: 45484 type: string 45485 type: array 45486 required: 45487 - key 45488 - operator 45489 type: object 45490 type: array 45491 matchLabels: 45492 additionalProperties: 45493 type: string 45494 description: matchLabels is a map of 45495 {key,value} pairs. A single {key,value} 45496 in the matchLabels map is equivalent 45497 to an element of matchExpressions, 45498 whose key field is "key", the operator 45499 is "In", and the values array contains 45500 only "value". The requirements are 45501 ANDed. 45502 type: object 45503 type: object 45504 namespaces: 45505 description: namespaces specifies a static 45506 list of namespace names that the term 45507 applies to. The term is applied to the 45508 union of the namespaces listed in this 45509 field and the ones selected by namespaceSelector. 45510 null or empty namespaces list and null 45511 namespaceSelector means "this pod's namespace". 45512 items: 45513 type: string 45514 type: array 45515 topologyKey: 45516 description: This pod should be co-located 45517 (affinity) or not co-located (anti-affinity) 45518 with the pods matching the labelSelector 45519 in the specified namespaces, where co-located 45520 is defined as running on a node whose 45521 value of the label with key topologyKey 45522 matches that of any node on which any 45523 of the selected pods is running. Empty 45524 topologyKey is not allowed. 45525 type: string 45526 required: 45527 - topologyKey 45528 type: object 45529 type: array 45530 type: object 45531 type: object 45532 automountServiceAccountToken: 45533 description: AutomountServiceAccountToken indicates whether 45534 pods running as this service account should have an 45535 API token automatically mounted. 45536 type: boolean 45537 dnsConfig: 45538 description: Specifies the DNS parameters of a pod. Parameters 45539 specified here will be merged to the generated DNS configuration 45540 based on DNSPolicy. 45541 properties: 45542 nameservers: 45543 description: A list of DNS name server IP addresses. 45544 This will be appended to the base nameservers generated 45545 from DNSPolicy. Duplicated nameservers will be removed. 45546 items: 45547 type: string 45548 type: array 45549 options: 45550 description: A list of DNS resolver options. This 45551 will be merged with the base options generated from 45552 DNSPolicy. Duplicated entries will be removed. Resolution 45553 options given in Options will override those that 45554 appear in the base DNSPolicy. 45555 items: 45556 description: PodDNSConfigOption defines DNS resolver 45557 options of a pod. 45558 properties: 45559 name: 45560 description: Required. 45561 type: string 45562 value: 45563 type: string 45564 type: object 45565 type: array 45566 searches: 45567 description: A list of DNS search domains for host-name 45568 lookup. This will be appended to the base search 45569 paths generated from DNSPolicy. Duplicated search 45570 paths will be removed. 45571 items: 45572 type: string 45573 type: array 45574 type: object 45575 dnsPolicy: 45576 description: Set DNS policy for the pod. Defaults to "ClusterFirst". 45577 Valid values are 'ClusterFirst', 'Default' or 'None'. 45578 DNS parameters given in DNSConfig will be merged with 45579 the policy selected with DNSPolicy. 45580 type: string 45581 enableServiceLinks: 45582 description: 'EnableServiceLinks indicates whether information 45583 about services should be injected into pod''s environment 45584 variables, matching the syntax of Docker links. Optional: 45585 Defaults to true.' 45586 type: boolean 45587 env: 45588 description: List of environment variables that can be 45589 provided to the containers belonging to the pod. 45590 items: 45591 description: EnvVar represents an environment variable 45592 present in a Container. 45593 properties: 45594 name: 45595 description: Name of the environment variable. Must 45596 be a C_IDENTIFIER. 45597 type: string 45598 value: 45599 description: 'Variable references $(VAR_NAME) are 45600 expanded using the previously defined environment 45601 variables in the container and any service environment 45602 variables. If a variable cannot be resolved, the 45603 reference in the input string will be unchanged. 45604 Double $$ are reduced to a single $, which allows 45605 for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" 45606 will produce the string literal "$(VAR_NAME)". 45607 Escaped references will never be expanded, regardless 45608 of whether the variable exists or not. Defaults 45609 to "".' 45610 type: string 45611 valueFrom: 45612 description: Source for the environment variable's 45613 value. Cannot be used if value is not empty. 45614 properties: 45615 configMapKeyRef: 45616 description: Selects a key of a ConfigMap. 45617 properties: 45618 key: 45619 description: The key to select. 45620 type: string 45621 name: 45622 description: 'Name of the referent. More 45623 info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 45624 TODO: Add other useful fields. apiVersion, 45625 kind, uid?' 45626 type: string 45627 optional: 45628 description: Specify whether the ConfigMap 45629 or its key must be defined 45630 type: boolean 45631 required: 45632 - key 45633 type: object 45634 fieldRef: 45635 description: 'Selects a field of the pod: supports 45636 metadata.name, metadata.namespace, `metadata.labels[''<KEY>'']`, 45637 `metadata.annotations[''<KEY>'']`, spec.nodeName, 45638 spec.serviceAccountName, status.hostIP, status.podIP, 45639 status.podIPs.' 45640 properties: 45641 apiVersion: 45642 description: Version of the schema the FieldPath 45643 is written in terms of, defaults to "v1". 45644 type: string 45645 fieldPath: 45646 description: Path of the field to select 45647 in the specified API version. 45648 type: string 45649 required: 45650 - fieldPath 45651 type: object 45652 resourceFieldRef: 45653 description: 'Selects a resource of the container: 45654 only resources limits and requests (limits.cpu, 45655 limits.memory, limits.ephemeral-storage, requests.cpu, 45656 requests.memory and requests.ephemeral-storage) 45657 are currently supported.' 45658 properties: 45659 containerName: 45660 description: 'Container name: required for 45661 volumes, optional for env vars' 45662 type: string 45663 divisor: 45664 anyOf: 45665 - type: integer 45666 - type: string 45667 description: Specifies the output format 45668 of the exposed resources, defaults to 45669 "1" 45670 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 45671 x-kubernetes-int-or-string: true 45672 resource: 45673 description: 'Required: resource to select' 45674 type: string 45675 required: 45676 - resource 45677 type: object 45678 secretKeyRef: 45679 description: Selects a key of a secret in the 45680 pod's namespace 45681 properties: 45682 key: 45683 description: The key of the secret to select 45684 from. Must be a valid secret key. 45685 type: string 45686 name: 45687 description: 'Name of the referent. More 45688 info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 45689 TODO: Add other useful fields. apiVersion, 45690 kind, uid?' 45691 type: string 45692 optional: 45693 description: Specify whether the Secret 45694 or its key must be defined 45695 type: boolean 45696 required: 45697 - key 45698 type: object 45699 type: object 45700 required: 45701 - name 45702 type: object 45703 type: array 45704 x-kubernetes-list-type: atomic 45705 hostAliases: 45706 description: HostAliases is an optional list of hosts 45707 and IPs that will be injected into the pod's hosts file 45708 if specified. This is only valid for non-hostNetwork 45709 pods. 45710 items: 45711 description: HostAlias holds the mapping between IP 45712 and hostnames that will be injected as an entry in 45713 the pod's hosts file. 45714 properties: 45715 hostnames: 45716 description: Hostnames for the above IP address. 45717 items: 45718 type: string 45719 type: array 45720 ip: 45721 description: IP address of the host file entry. 45722 type: string 45723 type: object 45724 type: array 45725 x-kubernetes-list-type: atomic 45726 hostNetwork: 45727 description: HostNetwork specifies whether the pod may 45728 use the node network namespace 45729 type: boolean 45730 imagePullSecrets: 45731 description: ImagePullSecrets gives the name of the secret 45732 used by the pod to pull the image if specified 45733 items: 45734 description: LocalObjectReference contains enough information 45735 to let you locate the referenced object inside the 45736 same namespace. 45737 properties: 45738 name: 45739 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 45740 TODO: Add other useful fields. apiVersion, kind, 45741 uid?' 45742 type: string 45743 type: object 45744 type: array 45745 x-kubernetes-list-type: atomic 45746 nodeSelector: 45747 additionalProperties: 45748 type: string 45749 description: 'NodeSelector is a selector which must be 45750 true for the pod to fit on a node. Selector which must 45751 match a node''s labels for the pod to be scheduled on 45752 that node. More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/' 45753 type: object 45754 priorityClassName: 45755 description: If specified, indicates the pod's priority. 45756 "system-node-critical" and "system-cluster-critical" 45757 are two special keywords which indicate the highest 45758 priorities with the former being the highest priority. 45759 Any other name must be defined by creating a PriorityClass 45760 object with that name. If not specified, the pod priority 45761 will be default or zero if there is no default. 45762 type: string 45763 runtimeClassName: 45764 description: 'RuntimeClassName refers to a RuntimeClass 45765 object in the node.k8s.io group, which should be used 45766 to run this pod. If no RuntimeClass resource matches 45767 the named class, the pod will not be run. If unset or 45768 empty, the "legacy" RuntimeClass will be used, which 45769 is an implicit class with an empty definition that uses 45770 the default runtime handler. More info: https://git.k8s.io/enhancements/keps/sig-node/runtime-class.md 45771 This is a beta feature as of Kubernetes v1.14.' 45772 type: string 45773 schedulerName: 45774 description: SchedulerName specifies the scheduler to 45775 be used to dispatch the Pod 45776 type: string 45777 securityContext: 45778 description: 'SecurityContext holds pod-level security 45779 attributes and common container settings. Optional: 45780 Defaults to empty. See type description for default 45781 values of each field.' 45782 properties: 45783 fsGroup: 45784 description: "A special supplemental group that applies 45785 to all containers in a pod. Some volume types allow 45786 the Kubelet to change the ownership of that volume 45787 to be owned by the pod: \n 1. The owning GID will 45788 be the FSGroup 2. The setgid bit is set (new files 45789 created in the volume will be owned by FSGroup) 45790 3. The permission bits are OR'd with rw-rw---- \n 45791 If unset, the Kubelet will not modify the ownership 45792 and permissions of any volume. Note that this field 45793 cannot be set when spec.os.name is windows." 45794 format: int64 45795 type: integer 45796 fsGroupChangePolicy: 45797 description: 'fsGroupChangePolicy defines behavior 45798 of changing ownership and permission of the volume 45799 before being exposed inside Pod. This field will 45800 only apply to volume types which support fsGroup 45801 based ownership(and permissions). It will have no 45802 effect on ephemeral volume types such as: secret, 45803 configmaps and emptydir. Valid values are "OnRootMismatch" 45804 and "Always". If not specified, "Always" is used. 45805 Note that this field cannot be set when spec.os.name 45806 is windows.' 45807 type: string 45808 runAsGroup: 45809 description: The GID to run the entrypoint of the 45810 container process. Uses runtime default if unset. 45811 May also be set in SecurityContext. If set in both 45812 SecurityContext and PodSecurityContext, the value 45813 specified in SecurityContext takes precedence for 45814 that container. Note that this field cannot be set 45815 when spec.os.name is windows. 45816 format: int64 45817 type: integer 45818 runAsNonRoot: 45819 description: Indicates that the container must run 45820 as a non-root user. If true, the Kubelet will validate 45821 the image at runtime to ensure that it does not 45822 run as UID 0 (root) and fail to start the container 45823 if it does. If unset or false, no such validation 45824 will be performed. May also be set in SecurityContext. If 45825 set in both SecurityContext and PodSecurityContext, 45826 the value specified in SecurityContext takes precedence. 45827 type: boolean 45828 runAsUser: 45829 description: The UID to run the entrypoint of the 45830 container process. Defaults to user specified in 45831 image metadata if unspecified. May also be set in 45832 SecurityContext. If set in both SecurityContext 45833 and PodSecurityContext, the value specified in SecurityContext 45834 takes precedence for that container. Note that this 45835 field cannot be set when spec.os.name is windows. 45836 format: int64 45837 type: integer 45838 seLinuxOptions: 45839 description: The SELinux context to be applied to 45840 all containers. If unspecified, the container runtime 45841 will allocate a random SELinux context for each 45842 container. May also be set in SecurityContext. If 45843 set in both SecurityContext and PodSecurityContext, 45844 the value specified in SecurityContext takes precedence 45845 for that container. Note that this field cannot 45846 be set when spec.os.name is windows. 45847 properties: 45848 level: 45849 description: Level is SELinux level label that 45850 applies to the container. 45851 type: string 45852 role: 45853 description: Role is a SELinux role label that 45854 applies to the container. 45855 type: string 45856 type: 45857 description: Type is a SELinux type label that 45858 applies to the container. 45859 type: string 45860 user: 45861 description: User is a SELinux user label that 45862 applies to the container. 45863 type: string 45864 type: object 45865 seccompProfile: 45866 description: The seccomp options to use by the containers 45867 in this pod. Note that this field cannot be set 45868 when spec.os.name is windows. 45869 properties: 45870 localhostProfile: 45871 description: localhostProfile indicates a profile 45872 defined in a file on the node should be used. 45873 The profile must be preconfigured on the node 45874 to work. Must be a descending path, relative 45875 to the kubelet's configured seccomp profile 45876 location. Must only be set if type is "Localhost". 45877 type: string 45878 type: 45879 description: "type indicates which kind of seccomp 45880 profile will be applied. Valid options are: 45881 \n Localhost - a profile defined in a file on 45882 the node should be used. RuntimeDefault - the 45883 container runtime default profile should be 45884 used. Unconfined - no profile should be applied." 45885 type: string 45886 required: 45887 - type 45888 type: object 45889 supplementalGroups: 45890 description: A list of groups applied to the first 45891 process run in each container, in addition to the 45892 container's primary GID. If unspecified, no groups 45893 will be added to any container. Note that this field 45894 cannot be set when spec.os.name is windows. 45895 items: 45896 format: int64 45897 type: integer 45898 type: array 45899 sysctls: 45900 description: Sysctls hold a list of namespaced sysctls 45901 used for the pod. Pods with unsupported sysctls 45902 (by the container runtime) might fail to launch. 45903 Note that this field cannot be set when spec.os.name 45904 is windows. 45905 items: 45906 description: Sysctl defines a kernel parameter to 45907 be set 45908 properties: 45909 name: 45910 description: Name of a property to set 45911 type: string 45912 value: 45913 description: Value of a property to set 45914 type: string 45915 required: 45916 - name 45917 - value 45918 type: object 45919 type: array 45920 windowsOptions: 45921 description: The Windows specific settings applied 45922 to all containers. If unspecified, the options within 45923 a container's SecurityContext will be used. If set 45924 in both SecurityContext and PodSecurityContext, 45925 the value specified in SecurityContext takes precedence. 45926 Note that this field cannot be set when spec.os.name 45927 is linux. 45928 properties: 45929 gmsaCredentialSpec: 45930 description: GMSACredentialSpec is where the GMSA 45931 admission webhook (https://github.com/kubernetes-sigs/windows-gmsa) 45932 inlines the contents of the GMSA credential 45933 spec named by the GMSACredentialSpecName field. 45934 type: string 45935 gmsaCredentialSpecName: 45936 description: GMSACredentialSpecName is the name 45937 of the GMSA credential spec to use. 45938 type: string 45939 hostProcess: 45940 description: HostProcess determines if a container 45941 should be run as a 'Host Process' container. 45942 This field is alpha-level and will only be honored 45943 by components that enable the WindowsHostProcessContainers 45944 feature flag. Setting this field without the 45945 feature flag will result in errors when validating 45946 the Pod. All of a Pod's containers must have 45947 the same effective HostProcess value (it is 45948 not allowed to have a mix of HostProcess containers 45949 and non-HostProcess containers). In addition, 45950 if HostProcess is true then HostNetwork must 45951 also be set to true. 45952 type: boolean 45953 runAsUserName: 45954 description: The UserName in Windows to run the 45955 entrypoint of the container process. Defaults 45956 to the user specified in image metadata if unspecified. 45957 May also be set in PodSecurityContext. If set 45958 in both SecurityContext and PodSecurityContext, 45959 the value specified in SecurityContext takes 45960 precedence. 45961 type: string 45962 type: object 45963 type: object 45964 tolerations: 45965 description: If specified, the pod's tolerations. 45966 items: 45967 description: The pod this Toleration is attached to 45968 tolerates any taint that matches the triple <key,value,effect> 45969 using the matching operator <operator>. 45970 properties: 45971 effect: 45972 description: Effect indicates the taint effect to 45973 match. Empty means match all taint effects. When 45974 specified, allowed values are NoSchedule, PreferNoSchedule 45975 and NoExecute. 45976 type: string 45977 key: 45978 description: Key is the taint key that the toleration 45979 applies to. Empty means match all taint keys. 45980 If the key is empty, operator must be Exists; 45981 this combination means to match all values and 45982 all keys. 45983 type: string 45984 operator: 45985 description: Operator represents a key's relationship 45986 to the value. Valid operators are Exists and Equal. 45987 Defaults to Equal. Exists is equivalent to wildcard 45988 for value, so that a pod can tolerate all taints 45989 of a particular category. 45990 type: string 45991 tolerationSeconds: 45992 description: TolerationSeconds represents the period 45993 of time the toleration (which must be of effect 45994 NoExecute, otherwise this field is ignored) tolerates 45995 the taint. By default, it is not set, which means 45996 tolerate the taint forever (do not evict). Zero 45997 and negative values will be treated as 0 (evict 45998 immediately) by the system. 45999 format: int64 46000 type: integer 46001 value: 46002 description: Value is the taint value the toleration 46003 matches to. If the operator is Exists, the value 46004 should be empty, otherwise just a regular string. 46005 type: string 46006 type: object 46007 type: array 46008 x-kubernetes-list-type: atomic 46009 topologySpreadConstraints: 46010 description: TopologySpreadConstraints controls how Pods 46011 are spread across your cluster among failure-domains 46012 such as regions, zones, nodes, and other user-defined 46013 topology domains. 46014 items: 46015 description: TopologySpreadConstraint specifies how 46016 to spread matching pods among the given topology. 46017 properties: 46018 labelSelector: 46019 description: LabelSelector is used to find matching 46020 pods. Pods that match this label selector are 46021 counted to determine the number of pods in their 46022 corresponding topology domain. 46023 properties: 46024 matchExpressions: 46025 description: matchExpressions is a list of label 46026 selector requirements. The requirements are 46027 ANDed. 46028 items: 46029 description: A label selector requirement 46030 is a selector that contains values, a key, 46031 and an operator that relates the key and 46032 values. 46033 properties: 46034 key: 46035 description: key is the label key that 46036 the selector applies to. 46037 type: string 46038 operator: 46039 description: operator represents a key's 46040 relationship to a set of values. Valid 46041 operators are In, NotIn, Exists and 46042 DoesNotExist. 46043 type: string 46044 values: 46045 description: values is an array of string 46046 values. If the operator is In or NotIn, 46047 the values array must be non-empty. 46048 If the operator is Exists or DoesNotExist, 46049 the values array must be empty. This 46050 array is replaced during a strategic 46051 merge patch. 46052 items: 46053 type: string 46054 type: array 46055 required: 46056 - key 46057 - operator 46058 type: object 46059 type: array 46060 matchLabels: 46061 additionalProperties: 46062 type: string 46063 description: matchLabels is a map of {key,value} 46064 pairs. A single {key,value} in the matchLabels 46065 map is equivalent to an element of matchExpressions, 46066 whose key field is "key", the operator is 46067 "In", and the values array contains only "value". 46068 The requirements are ANDed. 46069 type: object 46070 type: object 46071 matchLabelKeys: 46072 description: MatchLabelKeys is a set of pod label 46073 keys to select the pods over which spreading will 46074 be calculated. The keys are used to lookup values 46075 from the incoming pod labels, those key-value 46076 labels are ANDed with labelSelector to select 46077 the group of existing pods over which spreading 46078 will be calculated for the incoming pod. Keys 46079 that don't exist in the incoming pod labels will 46080 be ignored. A null or empty list means only match 46081 against labelSelector. 46082 items: 46083 type: string 46084 type: array 46085 x-kubernetes-list-type: atomic 46086 maxSkew: 46087 description: 'MaxSkew describes the degree to which 46088 pods may be unevenly distributed. When `whenUnsatisfiable=DoNotSchedule`, 46089 it is the maximum permitted difference between 46090 the number of matching pods in the target topology 46091 and the global minimum. The global minimum is 46092 the minimum number of matching pods in an eligible 46093 domain or zero if the number of eligible domains 46094 is less than MinDomains. For example, in a 3-zone 46095 cluster, MaxSkew is set to 1, and pods with the 46096 same labelSelector spread as 2/2/1: In this case, 46097 the global minimum is 1. | zone1 | zone2 | zone3 46098 | | P P | P P | P | - if MaxSkew is 1, 46099 incoming pod can only be scheduled to zone3 to 46100 become 2/2/2; scheduling it onto zone1(zone2) 46101 would make the ActualSkew(3-1) on zone1(zone2) 46102 violate MaxSkew(1). - if MaxSkew is 2, incoming 46103 pod can be scheduled onto any zone. When `whenUnsatisfiable=ScheduleAnyway`, 46104 it is used to give higher precedence to topologies 46105 that satisfy it. It''s a required field. Default 46106 value is 1 and 0 is not allowed.' 46107 format: int32 46108 type: integer 46109 minDomains: 46110 description: "MinDomains indicates a minimum number 46111 of eligible domains. When the number of eligible 46112 domains with matching topology keys is less than 46113 minDomains, Pod Topology Spread treats \"global 46114 minimum\" as 0, and then the calculation of Skew 46115 is performed. And when the number of eligible 46116 domains with matching topology keys equals or 46117 greater than minDomains, this value has no effect 46118 on scheduling. As a result, when the number of 46119 eligible domains is less than minDomains, scheduler 46120 won't schedule more than maxSkew Pods to those 46121 domains. If value is nil, the constraint behaves 46122 as if MinDomains is equal to 1. Valid values are 46123 integers greater than 0. When value is not nil, 46124 WhenUnsatisfiable must be DoNotSchedule. \n For 46125 example, in a 3-zone cluster, MaxSkew is set to 46126 2, MinDomains is set to 5 and pods with the same 46127 labelSelector spread as 2/2/2: | zone1 | zone2 46128 | zone3 | | P P | P P | P P | The number 46129 of domains is less than 5(MinDomains), so \"global 46130 minimum\" is treated as 0. In this situation, 46131 new pod with the same labelSelector cannot be 46132 scheduled, because computed skew will be 3(3 - 46133 0) if new Pod is scheduled to any of the three 46134 zones, it will violate MaxSkew. \n This is a beta 46135 field and requires the MinDomainsInPodTopologySpread 46136 feature gate to be enabled (enabled by default)." 46137 format: int32 46138 type: integer 46139 nodeAffinityPolicy: 46140 description: "NodeAffinityPolicy indicates how we 46141 will treat Pod's nodeAffinity/nodeSelector when 46142 calculating pod topology spread skew. Options 46143 are: - Honor: only nodes matching nodeAffinity/nodeSelector 46144 are included in the calculations. - Ignore: nodeAffinity/nodeSelector 46145 are ignored. All nodes are included in the calculations. 46146 \n If this value is nil, the behavior is equivalent 46147 to the Honor policy. This is a alpha-level feature 46148 enabled by the NodeInclusionPolicyInPodTopologySpread 46149 feature flag." 46150 type: string 46151 nodeTaintsPolicy: 46152 description: "NodeTaintsPolicy indicates how we 46153 will treat node taints when calculating pod topology 46154 spread skew. Options are: - Honor: nodes without 46155 taints, along with tainted nodes for which the 46156 incoming pod has a toleration, are included. - 46157 Ignore: node taints are ignored. All nodes are 46158 included. \n If this value is nil, the behavior 46159 is equivalent to the Ignore policy. This is a 46160 alpha-level feature enabled by the NodeInclusionPolicyInPodTopologySpread 46161 feature flag." 46162 type: string 46163 topologyKey: 46164 description: TopologyKey is the key of node labels. 46165 Nodes that have a label with this key and identical 46166 values are considered to be in the same topology. 46167 We consider each <key, value> as a "bucket", and 46168 try to put balanced number of pods into each bucket. 46169 We define a domain as a particular instance of 46170 a topology. Also, we define an eligible domain 46171 as a domain whose nodes meet the requirements 46172 of nodeAffinityPolicy and nodeTaintsPolicy. e.g. 46173 If TopologyKey is "kubernetes.io/hostname", each 46174 Node is a domain of that topology. And, if TopologyKey 46175 is "topology.kubernetes.io/zone", each zone is 46176 a domain of that topology. It's a required field. 46177 type: string 46178 whenUnsatisfiable: 46179 description: 'WhenUnsatisfiable indicates how to 46180 deal with a pod if it doesn''t satisfy the spread 46181 constraint. - DoNotSchedule (default) tells the 46182 scheduler not to schedule it. - ScheduleAnyway 46183 tells the scheduler to schedule the pod in any 46184 location, but giving higher precedence to topologies 46185 that would help reduce the skew. A constraint 46186 is considered "Unsatisfiable" for an incoming 46187 pod if and only if every possible node assignment 46188 for that pod would violate "MaxSkew" on some topology. 46189 For example, in a 3-zone cluster, MaxSkew is set 46190 to 1, and pods with the same labelSelector spread 46191 as 3/1/1: | zone1 | zone2 | zone3 | | P P P | P | P | 46192 If WhenUnsatisfiable is set to DoNotSchedule, 46193 incoming pod can only be scheduled to zone2(zone3) 46194 to become 3/2/1(3/1/2) as ActualSkew(2-1) on zone2(zone3) 46195 satisfies MaxSkew(1). In other words, the cluster 46196 can still be imbalanced, but scheduler won''t 46197 make it *more* imbalanced. It''s a required field.' 46198 type: string 46199 required: 46200 - maxSkew 46201 - topologyKey 46202 - whenUnsatisfiable 46203 type: object 46204 type: array 46205 x-kubernetes-list-type: atomic 46206 volumes: 46207 description: 'List of volumes that can be mounted by containers 46208 belonging to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes' 46209 items: 46210 description: Volume represents a named volume in a pod 46211 that may be accessed by any container in the pod. 46212 properties: 46213 awsElasticBlockStore: 46214 description: 'awsElasticBlockStore represents an 46215 AWS Disk resource that is attached to a kubelet''s 46216 host machine and then exposed to the pod. More 46217 info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore' 46218 properties: 46219 fsType: 46220 description: 'fsType is the filesystem type 46221 of the volume that you want to mount. Tip: 46222 Ensure that the filesystem type is supported 46223 by the host operating system. Examples: "ext4", 46224 "xfs", "ntfs". Implicitly inferred to be "ext4" 46225 if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore 46226 TODO: how do we prevent errors in the filesystem 46227 from compromising the machine' 46228 type: string 46229 partition: 46230 description: 'partition is the partition in 46231 the volume that you want to mount. If omitted, 46232 the default is to mount by volume name. Examples: 46233 For volume /dev/sda1, you specify the partition 46234 as "1". Similarly, the volume partition for 46235 /dev/sda is "0" (or you can leave the property 46236 empty).' 46237 format: int32 46238 type: integer 46239 readOnly: 46240 description: 'readOnly value true will force 46241 the readOnly setting in VolumeMounts. More 46242 info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore' 46243 type: boolean 46244 volumeID: 46245 description: 'volumeID is unique ID of the persistent 46246 disk resource in AWS (Amazon EBS volume). 46247 More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore' 46248 type: string 46249 required: 46250 - volumeID 46251 type: object 46252 azureDisk: 46253 description: azureDisk represents an Azure Data 46254 Disk mount on the host and bind mount to the pod. 46255 properties: 46256 cachingMode: 46257 description: 'cachingMode is the Host Caching 46258 mode: None, Read Only, Read Write.' 46259 type: string 46260 diskName: 46261 description: diskName is the Name of the data 46262 disk in the blob storage 46263 type: string 46264 diskURI: 46265 description: diskURI is the URI of data disk 46266 in the blob storage 46267 type: string 46268 fsType: 46269 description: fsType is Filesystem type to mount. 46270 Must be a filesystem type supported by the 46271 host operating system. Ex. "ext4", "xfs", 46272 "ntfs". Implicitly inferred to be "ext4" if 46273 unspecified. 46274 type: string 46275 kind: 46276 description: 'kind expected values are Shared: 46277 multiple blob disks per storage account Dedicated: 46278 single blob disk per storage account Managed: 46279 azure managed data disk (only in managed availability 46280 set). defaults to shared' 46281 type: string 46282 readOnly: 46283 description: readOnly Defaults to false (read/write). 46284 ReadOnly here will force the ReadOnly setting 46285 in VolumeMounts. 46286 type: boolean 46287 required: 46288 - diskName 46289 - diskURI 46290 type: object 46291 azureFile: 46292 description: azureFile represents an Azure File 46293 Service mount on the host and bind mount to the 46294 pod. 46295 properties: 46296 readOnly: 46297 description: readOnly defaults to false (read/write). 46298 ReadOnly here will force the ReadOnly setting 46299 in VolumeMounts. 46300 type: boolean 46301 secretName: 46302 description: secretName is the name of secret 46303 that contains Azure Storage Account Name and 46304 Key 46305 type: string 46306 shareName: 46307 description: shareName is the azure share Name 46308 type: string 46309 required: 46310 - secretName 46311 - shareName 46312 type: object 46313 cephfs: 46314 description: cephFS represents a Ceph FS mount on 46315 the host that shares a pod's lifetime 46316 properties: 46317 monitors: 46318 description: 'monitors is Required: Monitors 46319 is a collection of Ceph monitors More info: 46320 https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it' 46321 items: 46322 type: string 46323 type: array 46324 path: 46325 description: 'path is Optional: Used as the 46326 mounted root, rather than the full Ceph tree, 46327 default is /' 46328 type: string 46329 readOnly: 46330 description: 'readOnly is Optional: Defaults 46331 to false (read/write). ReadOnly here will 46332 force the ReadOnly setting in VolumeMounts. 46333 More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it' 46334 type: boolean 46335 secretFile: 46336 description: 'secretFile is Optional: SecretFile 46337 is the path to key ring for User, default 46338 is /etc/ceph/user.secret More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it' 46339 type: string 46340 secretRef: 46341 description: 'secretRef is Optional: SecretRef 46342 is reference to the authentication secret 46343 for User, default is empty. More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it' 46344 properties: 46345 name: 46346 description: 'Name of the referent. More 46347 info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 46348 TODO: Add other useful fields. apiVersion, 46349 kind, uid?' 46350 type: string 46351 type: object 46352 user: 46353 description: 'user is optional: User is the 46354 rados user name, default is admin More info: 46355 https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it' 46356 type: string 46357 required: 46358 - monitors 46359 type: object 46360 cinder: 46361 description: 'cinder represents a cinder volume 46362 attached and mounted on kubelets host machine. 46363 More info: https://examples.k8s.io/mysql-cinder-pd/README.md' 46364 properties: 46365 fsType: 46366 description: 'fsType is the filesystem type 46367 to mount. Must be a filesystem type supported 46368 by the host operating system. Examples: "ext4", 46369 "xfs", "ntfs". Implicitly inferred to be "ext4" 46370 if unspecified. More info: https://examples.k8s.io/mysql-cinder-pd/README.md' 46371 type: string 46372 readOnly: 46373 description: 'readOnly defaults to false (read/write). 46374 ReadOnly here will force the ReadOnly setting 46375 in VolumeMounts. More info: https://examples.k8s.io/mysql-cinder-pd/README.md' 46376 type: boolean 46377 secretRef: 46378 description: 'secretRef is optional: points 46379 to a secret object containing parameters used 46380 to connect to OpenStack.' 46381 properties: 46382 name: 46383 description: 'Name of the referent. More 46384 info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 46385 TODO: Add other useful fields. apiVersion, 46386 kind, uid?' 46387 type: string 46388 type: object 46389 volumeID: 46390 description: 'volumeID used to identify the 46391 volume in cinder. More info: https://examples.k8s.io/mysql-cinder-pd/README.md' 46392 type: string 46393 required: 46394 - volumeID 46395 type: object 46396 configMap: 46397 description: configMap represents a configMap that 46398 should populate this volume 46399 properties: 46400 defaultMode: 46401 description: 'defaultMode is optional: mode 46402 bits used to set permissions on created files 46403 by default. Must be an octal value between 46404 0000 and 0777 or a decimal value between 0 46405 and 511. YAML accepts both octal and decimal 46406 values, JSON requires decimal values for mode 46407 bits. Defaults to 0644. Directories within 46408 the path are not affected by this setting. 46409 This might be in conflict with other options 46410 that affect the file mode, like fsGroup, and 46411 the result can be other mode bits set.' 46412 format: int32 46413 type: integer 46414 items: 46415 description: items if unspecified, each key-value 46416 pair in the Data field of the referenced ConfigMap 46417 will be projected into the volume as a file 46418 whose name is the key and content is the value. 46419 If specified, the listed keys will be projected 46420 into the specified paths, and unlisted keys 46421 will not be present. If a key is specified 46422 which is not present in the ConfigMap, the 46423 volume setup will error unless it is marked 46424 optional. Paths must be relative and may not 46425 contain the '..' path or start with '..'. 46426 items: 46427 description: Maps a string key to a path within 46428 a volume. 46429 properties: 46430 key: 46431 description: key is the key to project. 46432 type: string 46433 mode: 46434 description: 'mode is Optional: mode bits 46435 used to set permissions on this file. 46436 Must be an octal value between 0000 46437 and 0777 or a decimal value between 46438 0 and 511. YAML accepts both octal and 46439 decimal values, JSON requires decimal 46440 values for mode bits. If not specified, 46441 the volume defaultMode will be used. 46442 This might be in conflict with other 46443 options that affect the file mode, like 46444 fsGroup, and the result can be other 46445 mode bits set.' 46446 format: int32 46447 type: integer 46448 path: 46449 description: path is the relative path 46450 of the file to map the key to. May not 46451 be an absolute path. May not contain 46452 the path element '..'. May not start 46453 with the string '..'. 46454 type: string 46455 required: 46456 - key 46457 - path 46458 type: object 46459 type: array 46460 name: 46461 description: 'Name of the referent. More info: 46462 https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 46463 TODO: Add other useful fields. apiVersion, 46464 kind, uid?' 46465 type: string 46466 optional: 46467 description: optional specify whether the ConfigMap 46468 or its keys must be defined 46469 type: boolean 46470 type: object 46471 csi: 46472 description: csi (Container Storage Interface) represents 46473 ephemeral storage that is handled by certain external 46474 CSI drivers (Beta feature). 46475 properties: 46476 driver: 46477 description: driver is the name of the CSI driver 46478 that handles this volume. Consult with your 46479 admin for the correct name as registered in 46480 the cluster. 46481 type: string 46482 fsType: 46483 description: fsType to mount. Ex. "ext4", "xfs", 46484 "ntfs". If not provided, the empty value is 46485 passed to the associated CSI driver which 46486 will determine the default filesystem to apply. 46487 type: string 46488 nodePublishSecretRef: 46489 description: nodePublishSecretRef is a reference 46490 to the secret object containing sensitive 46491 information to pass to the CSI driver to complete 46492 the CSI NodePublishVolume and NodeUnpublishVolume 46493 calls. This field is optional, and may be 46494 empty if no secret is required. If the secret 46495 object contains more than one secret, all 46496 secret references are passed. 46497 properties: 46498 name: 46499 description: 'Name of the referent. More 46500 info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 46501 TODO: Add other useful fields. apiVersion, 46502 kind, uid?' 46503 type: string 46504 type: object 46505 readOnly: 46506 description: readOnly specifies a read-only 46507 configuration for the volume. Defaults to 46508 false (read/write). 46509 type: boolean 46510 volumeAttributes: 46511 additionalProperties: 46512 type: string 46513 description: volumeAttributes stores driver-specific 46514 properties that are passed to the CSI driver. 46515 Consult your driver's documentation for supported 46516 values. 46517 type: object 46518 required: 46519 - driver 46520 type: object 46521 downwardAPI: 46522 description: downwardAPI represents downward API 46523 about the pod that should populate this volume 46524 properties: 46525 defaultMode: 46526 description: 'Optional: mode bits to use on 46527 created files by default. Must be a Optional: 46528 mode bits used to set permissions on created 46529 files by default. Must be an octal value between 46530 0000 and 0777 or a decimal value between 0 46531 and 511. YAML accepts both octal and decimal 46532 values, JSON requires decimal values for mode 46533 bits. Defaults to 0644. Directories within 46534 the path are not affected by this setting. 46535 This might be in conflict with other options 46536 that affect the file mode, like fsGroup, and 46537 the result can be other mode bits set.' 46538 format: int32 46539 type: integer 46540 items: 46541 description: Items is a list of downward API 46542 volume file 46543 items: 46544 description: DownwardAPIVolumeFile represents 46545 information to create the file containing 46546 the pod field 46547 properties: 46548 fieldRef: 46549 description: 'Required: Selects a field 46550 of the pod: only annotations, labels, 46551 name and namespace are supported.' 46552 properties: 46553 apiVersion: 46554 description: Version of the schema 46555 the FieldPath is written in terms 46556 of, defaults to "v1". 46557 type: string 46558 fieldPath: 46559 description: Path of the field to 46560 select in the specified API version. 46561 type: string 46562 required: 46563 - fieldPath 46564 type: object 46565 mode: 46566 description: 'Optional: mode bits used 46567 to set permissions on this file, must 46568 be an octal value between 0000 and 0777 46569 or a decimal value between 0 and 511. 46570 YAML accepts both octal and decimal 46571 values, JSON requires decimal values 46572 for mode bits. If not specified, the 46573 volume defaultMode will be used. This 46574 might be in conflict with other options 46575 that affect the file mode, like fsGroup, 46576 and the result can be other mode bits 46577 set.' 46578 format: int32 46579 type: integer 46580 path: 46581 description: 'Required: Path is the relative 46582 path name of the file to be created. 46583 Must not be absolute or contain the 46584 ''..'' path. Must be utf-8 encoded. 46585 The first item of the relative path 46586 must not start with ''..''' 46587 type: string 46588 resourceFieldRef: 46589 description: 'Selects a resource of the 46590 container: only resources limits and 46591 requests (limits.cpu, limits.memory, 46592 requests.cpu and requests.memory) are 46593 currently supported.' 46594 properties: 46595 containerName: 46596 description: 'Container name: required 46597 for volumes, optional for env vars' 46598 type: string 46599 divisor: 46600 anyOf: 46601 - type: integer 46602 - type: string 46603 description: Specifies the output 46604 format of the exposed resources, 46605 defaults to "1" 46606 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 46607 x-kubernetes-int-or-string: true 46608 resource: 46609 description: 'Required: resource to 46610 select' 46611 type: string 46612 required: 46613 - resource 46614 type: object 46615 required: 46616 - path 46617 type: object 46618 type: array 46619 type: object 46620 emptyDir: 46621 description: 'emptyDir represents a temporary directory 46622 that shares a pod''s lifetime. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir' 46623 properties: 46624 medium: 46625 description: 'medium represents what type of 46626 storage medium should back this directory. 46627 The default is "" which means to use the node''s 46628 default medium. Must be an empty string (default) 46629 or Memory. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir' 46630 type: string 46631 sizeLimit: 46632 anyOf: 46633 - type: integer 46634 - type: string 46635 description: 'sizeLimit is the total amount 46636 of local storage required for this EmptyDir 46637 volume. The size limit is also applicable 46638 for memory medium. The maximum usage on memory 46639 medium EmptyDir would be the minimum value 46640 between the SizeLimit specified here and the 46641 sum of memory limits of all containers in 46642 a pod. The default is nil which means that 46643 the limit is undefined. More info: http://kubernetes.io/docs/user-guide/volumes#emptydir' 46644 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 46645 x-kubernetes-int-or-string: true 46646 type: object 46647 ephemeral: 46648 description: "ephemeral represents a volume that 46649 is handled by a cluster storage driver. The volume's 46650 lifecycle is tied to the pod that defines it - 46651 it will be created before the pod starts, and 46652 deleted when the pod is removed. \n Use this if: 46653 a) the volume is only needed while the pod runs, 46654 b) features of normal volumes like restoring from 46655 snapshot or capacity tracking are needed, c) 46656 the storage driver is specified through a storage 46657 class, and d) the storage driver supports dynamic 46658 volume provisioning through a PersistentVolumeClaim 46659 (see EphemeralVolumeSource for more information 46660 on the connection between this volume type and 46661 PersistentVolumeClaim). \n Use PersistentVolumeClaim 46662 or one of the vendor-specific APIs for volumes 46663 that persist for longer than the lifecycle of 46664 an individual pod. \n Use CSI for light-weight 46665 local ephemeral volumes if the CSI driver is meant 46666 to be used that way - see the documentation of 46667 the driver for more information. \n A pod can 46668 use both types of ephemeral volumes and persistent 46669 volumes at the same time." 46670 properties: 46671 volumeClaimTemplate: 46672 description: "Will be used to create a stand-alone 46673 PVC to provision the volume. The pod in which 46674 this EphemeralVolumeSource is embedded will 46675 be the owner of the PVC, i.e. the PVC will 46676 be deleted together with the pod. The name 46677 of the PVC will be `<pod name>-<volume name>` 46678 where `<volume name>` is the name from the 46679 `PodSpec.Volumes` array entry. Pod validation 46680 will reject the pod if the concatenated name 46681 is not valid for a PVC (for example, too long). 46682 \n An existing PVC with that name that is 46683 not owned by the pod will *not* be used for 46684 the pod to avoid using an unrelated volume 46685 by mistake. Starting the pod is then blocked 46686 until the unrelated PVC is removed. If such 46687 a pre-created PVC is meant to be used by the 46688 pod, the PVC has to updated with an owner 46689 reference to the pod once the pod exists. 46690 Normally this should not be necessary, but 46691 it may be useful when manually reconstructing 46692 a broken cluster. \n This field is read-only 46693 and no changes will be made by Kubernetes 46694 to the PVC after it has been created. \n Required, 46695 must not be nil." 46696 properties: 46697 metadata: 46698 description: May contain labels and annotations 46699 that will be copied into the PVC when 46700 creating it. No other fields are allowed 46701 and will be rejected during validation. 46702 type: object 46703 spec: 46704 description: The specification for the PersistentVolumeClaim. 46705 The entire content is copied unchanged 46706 into the PVC that gets created from this 46707 template. The same fields as in a PersistentVolumeClaim 46708 are also valid here. 46709 properties: 46710 accessModes: 46711 description: 'accessModes contains the 46712 desired access modes the volume should 46713 have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1' 46714 items: 46715 type: string 46716 type: array 46717 dataSource: 46718 description: 'dataSource field can be 46719 used to specify either: * An existing 46720 VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot) 46721 * An existing PVC (PersistentVolumeClaim) 46722 If the provisioner or an external 46723 controller can support the specified 46724 data source, it will create a new 46725 volume based on the contents of the 46726 specified data source. If the AnyVolumeDataSource 46727 feature gate is enabled, this field 46728 will always have the same contents 46729 as the DataSourceRef field.' 46730 properties: 46731 apiGroup: 46732 description: APIGroup is the group 46733 for the resource being referenced. 46734 If APIGroup is not specified, 46735 the specified Kind must be in 46736 the core API group. For any other 46737 third-party types, APIGroup is 46738 required. 46739 type: string 46740 kind: 46741 description: Kind is the type of 46742 resource being referenced 46743 type: string 46744 name: 46745 description: Name is the name of 46746 resource being referenced 46747 type: string 46748 required: 46749 - kind 46750 - name 46751 type: object 46752 dataSourceRef: 46753 description: 'dataSourceRef specifies 46754 the object from which to populate 46755 the volume with data, if a non-empty 46756 volume is desired. This may be any 46757 local object from a non-empty API 46758 group (non core object) or a PersistentVolumeClaim 46759 object. When this field is specified, 46760 volume binding will only succeed if 46761 the type of the specified object matches 46762 some installed volume populator or 46763 dynamic provisioner. This field will 46764 replace the functionality of the DataSource 46765 field and as such if both fields are 46766 non-empty, they must have the same 46767 value. For backwards compatibility, 46768 both fields (DataSource and DataSourceRef) 46769 will be set to the same value automatically 46770 if one of them is empty and the other 46771 is non-empty. There are two important 46772 differences between DataSource and 46773 DataSourceRef: * While DataSource 46774 only allows two specific types of 46775 objects, DataSourceRef allows any 46776 non-core object, as well as PersistentVolumeClaim 46777 objects. * While DataSource ignores 46778 disallowed values (dropping them), 46779 DataSourceRef preserves all values, 46780 and generates an error if a disallowed 46781 value is specified. (Beta) Using 46782 this field requires the AnyVolumeDataSource 46783 feature gate to be enabled.' 46784 properties: 46785 apiGroup: 46786 description: APIGroup is the group 46787 for the resource being referenced. 46788 If APIGroup is not specified, 46789 the specified Kind must be in 46790 the core API group. For any other 46791 third-party types, APIGroup is 46792 required. 46793 type: string 46794 kind: 46795 description: Kind is the type of 46796 resource being referenced 46797 type: string 46798 name: 46799 description: Name is the name of 46800 resource being referenced 46801 type: string 46802 required: 46803 - kind 46804 - name 46805 type: object 46806 resources: 46807 description: 'resources represents the 46808 minimum resources the volume should 46809 have. If RecoverVolumeExpansionFailure 46810 feature is enabled users are allowed 46811 to specify resource requirements that 46812 are lower than previous value but 46813 must still be higher than capacity 46814 recorded in the status field of the 46815 claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources' 46816 properties: 46817 limits: 46818 additionalProperties: 46819 anyOf: 46820 - type: integer 46821 - type: string 46822 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 46823 x-kubernetes-int-or-string: true 46824 description: 'Limits describes the 46825 maximum amount of compute resources 46826 allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' 46827 type: object 46828 requests: 46829 additionalProperties: 46830 anyOf: 46831 - type: integer 46832 - type: string 46833 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 46834 x-kubernetes-int-or-string: true 46835 description: 'Requests describes 46836 the minimum amount of compute 46837 resources required. If Requests 46838 is omitted for a container, it 46839 defaults to Limits if that is 46840 explicitly specified, otherwise 46841 to an implementation-defined value. 46842 More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' 46843 type: object 46844 type: object 46845 selector: 46846 description: selector is a label query 46847 over volumes to consider for binding. 46848 properties: 46849 matchExpressions: 46850 description: matchExpressions is 46851 a list of label selector requirements. 46852 The requirements are ANDed. 46853 items: 46854 description: A label selector 46855 requirement is a selector that 46856 contains values, a key, and 46857 an operator that relates the 46858 key and values. 46859 properties: 46860 key: 46861 description: key is the label 46862 key that the selector applies 46863 to. 46864 type: string 46865 operator: 46866 description: operator represents 46867 a key's relationship to 46868 a set of values. Valid operators 46869 are In, NotIn, Exists and 46870 DoesNotExist. 46871 type: string 46872 values: 46873 description: values is an 46874 array of string values. 46875 If the operator is In or 46876 NotIn, the values array 46877 must be non-empty. If the 46878 operator is Exists or DoesNotExist, 46879 the values array must be 46880 empty. This array is replaced 46881 during a strategic merge 46882 patch. 46883 items: 46884 type: string 46885 type: array 46886 required: 46887 - key 46888 - operator 46889 type: object 46890 type: array 46891 matchLabels: 46892 additionalProperties: 46893 type: string 46894 description: matchLabels is a map 46895 of {key,value} pairs. A single 46896 {key,value} in the matchLabels 46897 map is equivalent to an element 46898 of matchExpressions, whose key 46899 field is "key", the operator is 46900 "In", and the values array contains 46901 only "value". The requirements 46902 are ANDed. 46903 type: object 46904 type: object 46905 storageClassName: 46906 description: 'storageClassName is the 46907 name of the StorageClass required 46908 by the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1' 46909 type: string 46910 volumeMode: 46911 description: volumeMode defines what 46912 type of volume is required by the 46913 claim. Value of Filesystem is implied 46914 when not included in claim spec. 46915 type: string 46916 volumeName: 46917 description: volumeName is the binding 46918 reference to the PersistentVolume 46919 backing this claim. 46920 type: string 46921 type: object 46922 required: 46923 - spec 46924 type: object 46925 type: object 46926 fc: 46927 description: fc represents a Fibre Channel resource 46928 that is attached to a kubelet's host machine and 46929 then exposed to the pod. 46930 properties: 46931 fsType: 46932 description: 'fsType is the filesystem type 46933 to mount. Must be a filesystem type supported 46934 by the host operating system. Ex. "ext4", 46935 "xfs", "ntfs". Implicitly inferred to be "ext4" 46936 if unspecified. TODO: how do we prevent errors 46937 in the filesystem from compromising the machine' 46938 type: string 46939 lun: 46940 description: 'lun is Optional: FC target lun 46941 number' 46942 format: int32 46943 type: integer 46944 readOnly: 46945 description: 'readOnly is Optional: Defaults 46946 to false (read/write). ReadOnly here will 46947 force the ReadOnly setting in VolumeMounts.' 46948 type: boolean 46949 targetWWNs: 46950 description: 'targetWWNs is Optional: FC target 46951 worldwide names (WWNs)' 46952 items: 46953 type: string 46954 type: array 46955 wwids: 46956 description: 'wwids Optional: FC volume world 46957 wide identifiers (wwids) Either wwids or combination 46958 of targetWWNs and lun must be set, but not 46959 both simultaneously.' 46960 items: 46961 type: string 46962 type: array 46963 type: object 46964 flexVolume: 46965 description: flexVolume represents a generic volume 46966 resource that is provisioned/attached using an 46967 exec based plugin. 46968 properties: 46969 driver: 46970 description: driver is the name of the driver 46971 to use for this volume. 46972 type: string 46973 fsType: 46974 description: fsType is the filesystem type to 46975 mount. Must be a filesystem type supported 46976 by the host operating system. Ex. "ext4", 46977 "xfs", "ntfs". The default filesystem depends 46978 on FlexVolume script. 46979 type: string 46980 options: 46981 additionalProperties: 46982 type: string 46983 description: 'options is Optional: this field 46984 holds extra command options if any.' 46985 type: object 46986 readOnly: 46987 description: 'readOnly is Optional: defaults 46988 to false (read/write). ReadOnly here will 46989 force the ReadOnly setting in VolumeMounts.' 46990 type: boolean 46991 secretRef: 46992 description: 'secretRef is Optional: secretRef 46993 is reference to the secret object containing 46994 sensitive information to pass to the plugin 46995 scripts. This may be empty if no secret object 46996 is specified. If the secret object contains 46997 more than one secret, all secrets are passed 46998 to the plugin scripts.' 46999 properties: 47000 name: 47001 description: 'Name of the referent. More 47002 info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 47003 TODO: Add other useful fields. apiVersion, 47004 kind, uid?' 47005 type: string 47006 type: object 47007 required: 47008 - driver 47009 type: object 47010 flocker: 47011 description: flocker represents a Flocker volume 47012 attached to a kubelet's host machine. This depends 47013 on the Flocker control service being running 47014 properties: 47015 datasetName: 47016 description: datasetName is Name of the dataset 47017 stored as metadata -> name on the dataset 47018 for Flocker should be considered as deprecated 47019 type: string 47020 datasetUUID: 47021 description: datasetUUID is the UUID of the 47022 dataset. This is unique identifier of a Flocker 47023 dataset 47024 type: string 47025 type: object 47026 gcePersistentDisk: 47027 description: 'gcePersistentDisk represents a GCE 47028 Disk resource that is attached to a kubelet''s 47029 host machine and then exposed to the pod. More 47030 info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk' 47031 properties: 47032 fsType: 47033 description: 'fsType is filesystem type of the 47034 volume that you want to mount. Tip: Ensure 47035 that the filesystem type is supported by the 47036 host operating system. Examples: "ext4", "xfs", 47037 "ntfs". Implicitly inferred to be "ext4" if 47038 unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk 47039 TODO: how do we prevent errors in the filesystem 47040 from compromising the machine' 47041 type: string 47042 partition: 47043 description: 'partition is the partition in 47044 the volume that you want to mount. If omitted, 47045 the default is to mount by volume name. Examples: 47046 For volume /dev/sda1, you specify the partition 47047 as "1". Similarly, the volume partition for 47048 /dev/sda is "0" (or you can leave the property 47049 empty). More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk' 47050 format: int32 47051 type: integer 47052 pdName: 47053 description: 'pdName is unique name of the PD 47054 resource in GCE. Used to identify the disk 47055 in GCE. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk' 47056 type: string 47057 readOnly: 47058 description: 'readOnly here will force the ReadOnly 47059 setting in VolumeMounts. Defaults to false. 47060 More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk' 47061 type: boolean 47062 required: 47063 - pdName 47064 type: object 47065 gitRepo: 47066 description: 'gitRepo represents a git repository 47067 at a particular revision. DEPRECATED: GitRepo 47068 is deprecated. To provision a container with a 47069 git repo, mount an EmptyDir into an InitContainer 47070 that clones the repo using git, then mount the 47071 EmptyDir into the Pod''s container.' 47072 properties: 47073 directory: 47074 description: directory is the target directory 47075 name. Must not contain or start with '..'. If 47076 '.' is supplied, the volume directory will 47077 be the git repository. Otherwise, if specified, 47078 the volume will contain the git repository 47079 in the subdirectory with the given name. 47080 type: string 47081 repository: 47082 description: repository is the URL 47083 type: string 47084 revision: 47085 description: revision is the commit hash for 47086 the specified revision. 47087 type: string 47088 required: 47089 - repository 47090 type: object 47091 glusterfs: 47092 description: 'glusterfs represents a Glusterfs mount 47093 on the host that shares a pod''s lifetime. More 47094 info: https://examples.k8s.io/volumes/glusterfs/README.md' 47095 properties: 47096 endpoints: 47097 description: 'endpoints is the endpoint name 47098 that details Glusterfs topology. More info: 47099 https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod' 47100 type: string 47101 path: 47102 description: 'path is the Glusterfs volume path. 47103 More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod' 47104 type: string 47105 readOnly: 47106 description: 'readOnly here will force the Glusterfs 47107 volume to be mounted with read-only permissions. 47108 Defaults to false. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod' 47109 type: boolean 47110 required: 47111 - endpoints 47112 - path 47113 type: object 47114 hostPath: 47115 description: 'hostPath represents a pre-existing 47116 file or directory on the host machine that is 47117 directly exposed to the container. This is generally 47118 used for system agents or other privileged things 47119 that are allowed to see the host machine. Most 47120 containers will NOT need this. More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath 47121 --- TODO(jonesdl) We need to restrict who can 47122 use host directory mounts and who can/can not 47123 mount host directories as read/write.' 47124 properties: 47125 path: 47126 description: 'path of the directory on the host. 47127 If the path is a symlink, it will follow the 47128 link to the real path. More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath' 47129 type: string 47130 type: 47131 description: 'type for HostPath Volume Defaults 47132 to "" More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath' 47133 type: string 47134 required: 47135 - path 47136 type: object 47137 iscsi: 47138 description: 'iscsi represents an ISCSI Disk resource 47139 that is attached to a kubelet''s host machine 47140 and then exposed to the pod. More info: https://examples.k8s.io/volumes/iscsi/README.md' 47141 properties: 47142 chapAuthDiscovery: 47143 description: chapAuthDiscovery defines whether 47144 support iSCSI Discovery CHAP authentication 47145 type: boolean 47146 chapAuthSession: 47147 description: chapAuthSession defines whether 47148 support iSCSI Session CHAP authentication 47149 type: boolean 47150 fsType: 47151 description: 'fsType is the filesystem type 47152 of the volume that you want to mount. Tip: 47153 Ensure that the filesystem type is supported 47154 by the host operating system. Examples: "ext4", 47155 "xfs", "ntfs". Implicitly inferred to be "ext4" 47156 if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#iscsi 47157 TODO: how do we prevent errors in the filesystem 47158 from compromising the machine' 47159 type: string 47160 initiatorName: 47161 description: initiatorName is the custom iSCSI 47162 Initiator Name. If initiatorName is specified 47163 with iscsiInterface simultaneously, new iSCSI 47164 interface <target portal>:<volume name> will 47165 be created for the connection. 47166 type: string 47167 iqn: 47168 description: iqn is the target iSCSI Qualified 47169 Name. 47170 type: string 47171 iscsiInterface: 47172 description: iscsiInterface is the interface 47173 Name that uses an iSCSI transport. Defaults 47174 to 'default' (tcp). 47175 type: string 47176 lun: 47177 description: lun represents iSCSI Target Lun 47178 number. 47179 format: int32 47180 type: integer 47181 portals: 47182 description: portals is the iSCSI Target Portal 47183 List. The portal is either an IP or ip_addr:port 47184 if the port is other than default (typically 47185 TCP ports 860 and 3260). 47186 items: 47187 type: string 47188 type: array 47189 readOnly: 47190 description: readOnly here will force the ReadOnly 47191 setting in VolumeMounts. Defaults to false. 47192 type: boolean 47193 secretRef: 47194 description: secretRef is the CHAP Secret for 47195 iSCSI target and initiator authentication 47196 properties: 47197 name: 47198 description: 'Name of the referent. More 47199 info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 47200 TODO: Add other useful fields. apiVersion, 47201 kind, uid?' 47202 type: string 47203 type: object 47204 targetPortal: 47205 description: targetPortal is iSCSI Target Portal. 47206 The Portal is either an IP or ip_addr:port 47207 if the port is other than default (typically 47208 TCP ports 860 and 3260). 47209 type: string 47210 required: 47211 - iqn 47212 - lun 47213 - targetPortal 47214 type: object 47215 name: 47216 description: 'name of the volume. Must be a DNS_LABEL 47217 and unique within the pod. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' 47218 type: string 47219 nfs: 47220 description: 'nfs represents an NFS mount on the 47221 host that shares a pod''s lifetime More info: 47222 https://kubernetes.io/docs/concepts/storage/volumes#nfs' 47223 properties: 47224 path: 47225 description: 'path that is exported by the NFS 47226 server. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs' 47227 type: string 47228 readOnly: 47229 description: 'readOnly here will force the NFS 47230 export to be mounted with read-only permissions. 47231 Defaults to false. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs' 47232 type: boolean 47233 server: 47234 description: 'server is the hostname or IP address 47235 of the NFS server. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs' 47236 type: string 47237 required: 47238 - path 47239 - server 47240 type: object 47241 persistentVolumeClaim: 47242 description: 'persistentVolumeClaimVolumeSource 47243 represents a reference to a PersistentVolumeClaim 47244 in the same namespace. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims' 47245 properties: 47246 claimName: 47247 description: 'claimName is the name of a PersistentVolumeClaim 47248 in the same namespace as the pod using this 47249 volume. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims' 47250 type: string 47251 readOnly: 47252 description: readOnly Will force the ReadOnly 47253 setting in VolumeMounts. Default false. 47254 type: boolean 47255 required: 47256 - claimName 47257 type: object 47258 photonPersistentDisk: 47259 description: photonPersistentDisk represents a PhotonController 47260 persistent disk attached and mounted on kubelets 47261 host machine 47262 properties: 47263 fsType: 47264 description: fsType is the filesystem type to 47265 mount. Must be a filesystem type supported 47266 by the host operating system. Ex. "ext4", 47267 "xfs", "ntfs". Implicitly inferred to be "ext4" 47268 if unspecified. 47269 type: string 47270 pdID: 47271 description: pdID is the ID that identifies 47272 Photon Controller persistent disk 47273 type: string 47274 required: 47275 - pdID 47276 type: object 47277 portworxVolume: 47278 description: portworxVolume represents a portworx 47279 volume attached and mounted on kubelets host machine 47280 properties: 47281 fsType: 47282 description: fSType represents the filesystem 47283 type to mount Must be a filesystem type supported 47284 by the host operating system. Ex. "ext4", 47285 "xfs". Implicitly inferred to be "ext4" if 47286 unspecified. 47287 type: string 47288 readOnly: 47289 description: readOnly defaults to false (read/write). 47290 ReadOnly here will force the ReadOnly setting 47291 in VolumeMounts. 47292 type: boolean 47293 volumeID: 47294 description: volumeID uniquely identifies a 47295 Portworx volume 47296 type: string 47297 required: 47298 - volumeID 47299 type: object 47300 projected: 47301 description: projected items for all in one resources 47302 secrets, configmaps, and downward API 47303 properties: 47304 defaultMode: 47305 description: defaultMode are the mode bits used 47306 to set permissions on created files by default. 47307 Must be an octal value between 0000 and 0777 47308 or a decimal value between 0 and 511. YAML 47309 accepts both octal and decimal values, JSON 47310 requires decimal values for mode bits. Directories 47311 within the path are not affected by this setting. 47312 This might be in conflict with other options 47313 that affect the file mode, like fsGroup, and 47314 the result can be other mode bits set. 47315 format: int32 47316 type: integer 47317 sources: 47318 description: sources is the list of volume projections 47319 items: 47320 description: Projection that may be projected 47321 along with other supported volume types 47322 properties: 47323 configMap: 47324 description: configMap information about 47325 the configMap data to project 47326 properties: 47327 items: 47328 description: items if unspecified, 47329 each key-value pair in the Data 47330 field of the referenced ConfigMap 47331 will be projected into the volume 47332 as a file whose name is the key 47333 and content is the value. If specified, 47334 the listed keys will be projected 47335 into the specified paths, and unlisted 47336 keys will not be present. If a key 47337 is specified which is not present 47338 in the ConfigMap, the volume setup 47339 will error unless it is marked optional. 47340 Paths must be relative and may not 47341 contain the '..' path or start with 47342 '..'. 47343 items: 47344 description: Maps a string key to 47345 a path within a volume. 47346 properties: 47347 key: 47348 description: key is the key 47349 to project. 47350 type: string 47351 mode: 47352 description: 'mode is Optional: 47353 mode bits used to set permissions 47354 on this file. Must be an octal 47355 value between 0000 and 0777 47356 or a decimal value between 47357 0 and 511. YAML accepts both 47358 octal and decimal values, 47359 JSON requires decimal values 47360 for mode bits. If not specified, 47361 the volume defaultMode will 47362 be used. This might be in 47363 conflict with other options 47364 that affect the file mode, 47365 like fsGroup, and the result 47366 can be other mode bits set.' 47367 format: int32 47368 type: integer 47369 path: 47370 description: path is the relative 47371 path of the file to map the 47372 key to. May not be an absolute 47373 path. May not contain the 47374 path element '..'. May not 47375 start with the string '..'. 47376 type: string 47377 required: 47378 - key 47379 - path 47380 type: object 47381 type: array 47382 name: 47383 description: 'Name of the referent. 47384 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 47385 TODO: Add other useful fields. apiVersion, 47386 kind, uid?' 47387 type: string 47388 optional: 47389 description: optional specify whether 47390 the ConfigMap or its keys must be 47391 defined 47392 type: boolean 47393 type: object 47394 downwardAPI: 47395 description: downwardAPI information about 47396 the downwardAPI data to project 47397 properties: 47398 items: 47399 description: Items is a list of DownwardAPIVolume 47400 file 47401 items: 47402 description: DownwardAPIVolumeFile 47403 represents information to create 47404 the file containing the pod field 47405 properties: 47406 fieldRef: 47407 description: 'Required: Selects 47408 a field of the pod: only annotations, 47409 labels, name and namespace 47410 are supported.' 47411 properties: 47412 apiVersion: 47413 description: Version of 47414 the schema the FieldPath 47415 is written in terms of, 47416 defaults to "v1". 47417 type: string 47418 fieldPath: 47419 description: Path of the 47420 field to select in the 47421 specified API version. 47422 type: string 47423 required: 47424 - fieldPath 47425 type: object 47426 mode: 47427 description: 'Optional: mode 47428 bits used to set permissions 47429 on this file, must be an octal 47430 value between 0000 and 0777 47431 or a decimal value between 47432 0 and 511. YAML accepts both 47433 octal and decimal values, 47434 JSON requires decimal values 47435 for mode bits. If not specified, 47436 the volume defaultMode will 47437 be used. This might be in 47438 conflict with other options 47439 that affect the file mode, 47440 like fsGroup, and the result 47441 can be other mode bits set.' 47442 format: int32 47443 type: integer 47444 path: 47445 description: 'Required: Path 47446 is the relative path name 47447 of the file to be created. 47448 Must not be absolute or contain 47449 the ''..'' path. Must be utf-8 47450 encoded. The first item of 47451 the relative path must not 47452 start with ''..''' 47453 type: string 47454 resourceFieldRef: 47455 description: 'Selects a resource 47456 of the container: only resources 47457 limits and requests (limits.cpu, 47458 limits.memory, requests.cpu 47459 and requests.memory) are currently 47460 supported.' 47461 properties: 47462 containerName: 47463 description: 'Container 47464 name: required for volumes, 47465 optional for env vars' 47466 type: string 47467 divisor: 47468 anyOf: 47469 - type: integer 47470 - type: string 47471 description: Specifies the 47472 output format of the exposed 47473 resources, defaults to 47474 "1" 47475 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 47476 x-kubernetes-int-or-string: true 47477 resource: 47478 description: 'Required: 47479 resource to select' 47480 type: string 47481 required: 47482 - resource 47483 type: object 47484 required: 47485 - path 47486 type: object 47487 type: array 47488 type: object 47489 secret: 47490 description: secret information about 47491 the secret data to project 47492 properties: 47493 items: 47494 description: items if unspecified, 47495 each key-value pair in the Data 47496 field of the referenced Secret will 47497 be projected into the volume as 47498 a file whose name is the key and 47499 content is the value. If specified, 47500 the listed keys will be projected 47501 into the specified paths, and unlisted 47502 keys will not be present. If a key 47503 is specified which is not present 47504 in the Secret, the volume setup 47505 will error unless it is marked optional. 47506 Paths must be relative and may not 47507 contain the '..' path or start with 47508 '..'. 47509 items: 47510 description: Maps a string key to 47511 a path within a volume. 47512 properties: 47513 key: 47514 description: key is the key 47515 to project. 47516 type: string 47517 mode: 47518 description: 'mode is Optional: 47519 mode bits used to set permissions 47520 on this file. Must be an octal 47521 value between 0000 and 0777 47522 or a decimal value between 47523 0 and 511. YAML accepts both 47524 octal and decimal values, 47525 JSON requires decimal values 47526 for mode bits. If not specified, 47527 the volume defaultMode will 47528 be used. This might be in 47529 conflict with other options 47530 that affect the file mode, 47531 like fsGroup, and the result 47532 can be other mode bits set.' 47533 format: int32 47534 type: integer 47535 path: 47536 description: path is the relative 47537 path of the file to map the 47538 key to. May not be an absolute 47539 path. May not contain the 47540 path element '..'. May not 47541 start with the string '..'. 47542 type: string 47543 required: 47544 - key 47545 - path 47546 type: object 47547 type: array 47548 name: 47549 description: 'Name of the referent. 47550 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 47551 TODO: Add other useful fields. apiVersion, 47552 kind, uid?' 47553 type: string 47554 optional: 47555 description: optional field specify 47556 whether the Secret or its key must 47557 be defined 47558 type: boolean 47559 type: object 47560 serviceAccountToken: 47561 description: serviceAccountToken is information 47562 about the serviceAccountToken data to 47563 project 47564 properties: 47565 audience: 47566 description: audience is the intended 47567 audience of the token. A recipient 47568 of a token must identify itself 47569 with an identifier specified in 47570 the audience of the token, and otherwise 47571 should reject the token. The audience 47572 defaults to the identifier of the 47573 apiserver. 47574 type: string 47575 expirationSeconds: 47576 description: expirationSeconds is 47577 the requested duration of validity 47578 of the service account token. As 47579 the token approaches expiration, 47580 the kubelet volume plugin will proactively 47581 rotate the service account token. 47582 The kubelet will start trying to 47583 rotate the token if the token is 47584 older than 80 percent of its time 47585 to live or if the token is older 47586 than 24 hours.Defaults to 1 hour 47587 and must be at least 10 minutes. 47588 format: int64 47589 type: integer 47590 path: 47591 description: path is the path relative 47592 to the mount point of the file to 47593 project the token into. 47594 type: string 47595 required: 47596 - path 47597 type: object 47598 type: object 47599 type: array 47600 type: object 47601 quobyte: 47602 description: quobyte represents a Quobyte mount 47603 on the host that shares a pod's lifetime 47604 properties: 47605 group: 47606 description: group to map volume access to Default 47607 is no group 47608 type: string 47609 readOnly: 47610 description: readOnly here will force the Quobyte 47611 volume to be mounted with read-only permissions. 47612 Defaults to false. 47613 type: boolean 47614 registry: 47615 description: registry represents a single or 47616 multiple Quobyte Registry services specified 47617 as a string as host:port pair (multiple entries 47618 are separated with commas) which acts as the 47619 central registry for volumes 47620 type: string 47621 tenant: 47622 description: tenant owning the given Quobyte 47623 volume in the Backend Used with dynamically 47624 provisioned Quobyte volumes, value is set 47625 by the plugin 47626 type: string 47627 user: 47628 description: user to map volume access to Defaults 47629 to serivceaccount user 47630 type: string 47631 volume: 47632 description: volume is a string that references 47633 an already created Quobyte volume by name. 47634 type: string 47635 required: 47636 - registry 47637 - volume 47638 type: object 47639 rbd: 47640 description: 'rbd represents a Rados Block Device 47641 mount on the host that shares a pod''s lifetime. 47642 More info: https://examples.k8s.io/volumes/rbd/README.md' 47643 properties: 47644 fsType: 47645 description: 'fsType is the filesystem type 47646 of the volume that you want to mount. Tip: 47647 Ensure that the filesystem type is supported 47648 by the host operating system. Examples: "ext4", 47649 "xfs", "ntfs". Implicitly inferred to be "ext4" 47650 if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#rbd 47651 TODO: how do we prevent errors in the filesystem 47652 from compromising the machine' 47653 type: string 47654 image: 47655 description: 'image is the rados image name. 47656 More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it' 47657 type: string 47658 keyring: 47659 description: 'keyring is the path to key ring 47660 for RBDUser. Default is /etc/ceph/keyring. 47661 More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it' 47662 type: string 47663 monitors: 47664 description: 'monitors is a collection of Ceph 47665 monitors. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it' 47666 items: 47667 type: string 47668 type: array 47669 pool: 47670 description: 'pool is the rados pool name. Default 47671 is rbd. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it' 47672 type: string 47673 readOnly: 47674 description: 'readOnly here will force the ReadOnly 47675 setting in VolumeMounts. Defaults to false. 47676 More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it' 47677 type: boolean 47678 secretRef: 47679 description: 'secretRef is name of the authentication 47680 secret for RBDUser. If provided overrides 47681 keyring. Default is nil. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it' 47682 properties: 47683 name: 47684 description: 'Name of the referent. More 47685 info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 47686 TODO: Add other useful fields. apiVersion, 47687 kind, uid?' 47688 type: string 47689 type: object 47690 user: 47691 description: 'user is the rados user name. Default 47692 is admin. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it' 47693 type: string 47694 required: 47695 - image 47696 - monitors 47697 type: object 47698 scaleIO: 47699 description: scaleIO represents a ScaleIO persistent 47700 volume attached and mounted on Kubernetes nodes. 47701 properties: 47702 fsType: 47703 description: fsType is the filesystem type to 47704 mount. Must be a filesystem type supported 47705 by the host operating system. Ex. "ext4", 47706 "xfs", "ntfs". Default is "xfs". 47707 type: string 47708 gateway: 47709 description: gateway is the host address of 47710 the ScaleIO API Gateway. 47711 type: string 47712 protectionDomain: 47713 description: protectionDomain is the name of 47714 the ScaleIO Protection Domain for the configured 47715 storage. 47716 type: string 47717 readOnly: 47718 description: readOnly Defaults to false (read/write). 47719 ReadOnly here will force the ReadOnly setting 47720 in VolumeMounts. 47721 type: boolean 47722 secretRef: 47723 description: secretRef references to the secret 47724 for ScaleIO user and other sensitive information. 47725 If this is not provided, Login operation will 47726 fail. 47727 properties: 47728 name: 47729 description: 'Name of the referent. More 47730 info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 47731 TODO: Add other useful fields. apiVersion, 47732 kind, uid?' 47733 type: string 47734 type: object 47735 sslEnabled: 47736 description: sslEnabled Flag enable/disable 47737 SSL communication with Gateway, default false 47738 type: boolean 47739 storageMode: 47740 description: storageMode indicates whether the 47741 storage for a volume should be ThickProvisioned 47742 or ThinProvisioned. Default is ThinProvisioned. 47743 type: string 47744 storagePool: 47745 description: storagePool is the ScaleIO Storage 47746 Pool associated with the protection domain. 47747 type: string 47748 system: 47749 description: system is the name of the storage 47750 system as configured in ScaleIO. 47751 type: string 47752 volumeName: 47753 description: volumeName is the name of a volume 47754 already created in the ScaleIO system that 47755 is associated with this volume source. 47756 type: string 47757 required: 47758 - gateway 47759 - secretRef 47760 - system 47761 type: object 47762 secret: 47763 description: 'secret represents a secret that should 47764 populate this volume. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret' 47765 properties: 47766 defaultMode: 47767 description: 'defaultMode is Optional: mode 47768 bits used to set permissions on created files 47769 by default. Must be an octal value between 47770 0000 and 0777 or a decimal value between 0 47771 and 511. YAML accepts both octal and decimal 47772 values, JSON requires decimal values for mode 47773 bits. Defaults to 0644. Directories within 47774 the path are not affected by this setting. 47775 This might be in conflict with other options 47776 that affect the file mode, like fsGroup, and 47777 the result can be other mode bits set.' 47778 format: int32 47779 type: integer 47780 items: 47781 description: items If unspecified, each key-value 47782 pair in the Data field of the referenced Secret 47783 will be projected into the volume as a file 47784 whose name is the key and content is the value. 47785 If specified, the listed keys will be projected 47786 into the specified paths, and unlisted keys 47787 will not be present. If a key is specified 47788 which is not present in the Secret, the volume 47789 setup will error unless it is marked optional. 47790 Paths must be relative and may not contain 47791 the '..' path or start with '..'. 47792 items: 47793 description: Maps a string key to a path within 47794 a volume. 47795 properties: 47796 key: 47797 description: key is the key to project. 47798 type: string 47799 mode: 47800 description: 'mode is Optional: mode bits 47801 used to set permissions on this file. 47802 Must be an octal value between 0000 47803 and 0777 or a decimal value between 47804 0 and 511. YAML accepts both octal and 47805 decimal values, JSON requires decimal 47806 values for mode bits. If not specified, 47807 the volume defaultMode will be used. 47808 This might be in conflict with other 47809 options that affect the file mode, like 47810 fsGroup, and the result can be other 47811 mode bits set.' 47812 format: int32 47813 type: integer 47814 path: 47815 description: path is the relative path 47816 of the file to map the key to. May not 47817 be an absolute path. May not contain 47818 the path element '..'. May not start 47819 with the string '..'. 47820 type: string 47821 required: 47822 - key 47823 - path 47824 type: object 47825 type: array 47826 optional: 47827 description: optional field specify whether 47828 the Secret or its keys must be defined 47829 type: boolean 47830 secretName: 47831 description: 'secretName is the name of the 47832 secret in the pod''s namespace to use. More 47833 info: https://kubernetes.io/docs/concepts/storage/volumes#secret' 47834 type: string 47835 type: object 47836 storageos: 47837 description: storageOS represents a StorageOS volume 47838 attached and mounted on Kubernetes nodes. 47839 properties: 47840 fsType: 47841 description: fsType is the filesystem type to 47842 mount. Must be a filesystem type supported 47843 by the host operating system. Ex. "ext4", 47844 "xfs", "ntfs". Implicitly inferred to be "ext4" 47845 if unspecified. 47846 type: string 47847 readOnly: 47848 description: readOnly defaults to false (read/write). 47849 ReadOnly here will force the ReadOnly setting 47850 in VolumeMounts. 47851 type: boolean 47852 secretRef: 47853 description: secretRef specifies the secret 47854 to use for obtaining the StorageOS API credentials. If 47855 not specified, default values will be attempted. 47856 properties: 47857 name: 47858 description: 'Name of the referent. More 47859 info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 47860 TODO: Add other useful fields. apiVersion, 47861 kind, uid?' 47862 type: string 47863 type: object 47864 volumeName: 47865 description: volumeName is the human-readable 47866 name of the StorageOS volume. Volume names 47867 are only unique within a namespace. 47868 type: string 47869 volumeNamespace: 47870 description: volumeNamespace specifies the scope 47871 of the volume within StorageOS. If no namespace 47872 is specified then the Pod's namespace will 47873 be used. This allows the Kubernetes name 47874 scoping to be mirrored within StorageOS for 47875 tighter integration. Set VolumeName to any 47876 name to override the default behaviour. Set 47877 to "default" if you are not using namespaces 47878 within StorageOS. Namespaces that do not pre-exist 47879 within StorageOS will be created. 47880 type: string 47881 type: object 47882 vsphereVolume: 47883 description: vsphereVolume represents a vSphere 47884 volume attached and mounted on kubelets host machine 47885 properties: 47886 fsType: 47887 description: fsType is filesystem type to mount. 47888 Must be a filesystem type supported by the 47889 host operating system. Ex. "ext4", "xfs", 47890 "ntfs". Implicitly inferred to be "ext4" if 47891 unspecified. 47892 type: string 47893 storagePolicyID: 47894 description: storagePolicyID is the storage 47895 Policy Based Management (SPBM) profile ID 47896 associated with the StoragePolicyName. 47897 type: string 47898 storagePolicyName: 47899 description: storagePolicyName is the storage 47900 Policy Based Management (SPBM) profile name. 47901 type: string 47902 volumePath: 47903 description: volumePath is the path that identifies 47904 vSphere volume vmdk 47905 type: string 47906 required: 47907 - volumePath 47908 type: object 47909 required: 47910 - name 47911 type: object 47912 type: array 47913 x-kubernetes-list-type: atomic 47914 type: object 47915 resources: 47916 description: Resources is a list of bindings specifying which 47917 actual instances of PipelineResources to use for the resources 47918 the Pipeline has declared it needs. 47919 items: 47920 description: PipelineResourceBinding connects a reference 47921 to an instance of a PipelineResource with a PipelineResource 47922 dependency that the Pipeline has declared 47923 properties: 47924 name: 47925 description: Name is the name of the PipelineResource 47926 in the Pipeline's declaration 47927 type: string 47928 resourceRef: 47929 description: ResourceRef is a reference to the instance 47930 of the actual PipelineResource that should be used 47931 properties: 47932 apiVersion: 47933 description: API version of the referent 47934 type: string 47935 name: 47936 description: 'Name of the referent; More info: http://kubernetes.io/docs/user-guide/identifiers#names' 47937 type: string 47938 type: object 47939 resourceSpec: 47940 description: ResourceSpec is specification of a resource 47941 that should be created and consumed by the task 47942 properties: 47943 description: 47944 description: Description is a user-facing description 47945 of the resource that may be used to populate a 47946 UI. 47947 type: string 47948 params: 47949 items: 47950 description: ResourceParam declares a string value 47951 to use for the parameter called Name, and is 47952 used in the specific context of PipelineResources. 47953 properties: 47954 name: 47955 type: string 47956 value: 47957 type: string 47958 required: 47959 - name 47960 - value 47961 type: object 47962 type: array 47963 x-kubernetes-list-type: atomic 47964 secrets: 47965 description: Secrets to fetch to populate some of 47966 resource fields 47967 items: 47968 description: SecretParam indicates which secret 47969 can be used to populate a field of the resource 47970 properties: 47971 fieldName: 47972 type: string 47973 secretKey: 47974 type: string 47975 secretName: 47976 type: string 47977 required: 47978 - fieldName 47979 - secretKey 47980 - secretName 47981 type: object 47982 type: array 47983 x-kubernetes-list-type: atomic 47984 type: 47985 type: string 47986 required: 47987 - params 47988 - type 47989 type: object 47990 type: object 47991 type: array 47992 x-kubernetes-list-type: atomic 47993 serviceAccountName: 47994 type: string 47995 status: 47996 description: Used for cancelling a pipelinerun (and maybe 47997 more later on) 47998 type: string 47999 taskRunSpecs: 48000 description: TaskRunSpecs holds a set of runtime specs 48001 items: 48002 description: PipelineTaskRunSpec can be used to configure 48003 specific specs for a concrete Task 48004 properties: 48005 computeResources: 48006 description: Compute resources to use for this TaskRun 48007 properties: 48008 limits: 48009 additionalProperties: 48010 anyOf: 48011 - type: integer 48012 - type: string 48013 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 48014 x-kubernetes-int-or-string: true 48015 description: 'Limits describes the maximum amount 48016 of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' 48017 type: object 48018 requests: 48019 additionalProperties: 48020 anyOf: 48021 - type: integer 48022 - type: string 48023 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 48024 x-kubernetes-int-or-string: true 48025 description: 'Requests describes the minimum amount 48026 of compute resources required. If Requests is 48027 omitted for a container, it defaults to Limits 48028 if that is explicitly specified, otherwise to 48029 an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' 48030 type: object 48031 type: object 48032 metadata: 48033 description: PipelineTaskMetadata contains the labels 48034 or annotations for an EmbeddedTask 48035 properties: 48036 annotations: 48037 additionalProperties: 48038 type: string 48039 type: object 48040 labels: 48041 additionalProperties: 48042 type: string 48043 type: object 48044 type: object 48045 pipelineTaskName: 48046 type: string 48047 sidecarOverrides: 48048 items: 48049 description: TaskRunSidecarOverride is used to override 48050 the values of a Sidecar in the corresponding Task. 48051 properties: 48052 name: 48053 description: The name of the Sidecar to override. 48054 type: string 48055 resources: 48056 description: The resource requirements to apply 48057 to the Sidecar. 48058 properties: 48059 limits: 48060 additionalProperties: 48061 anyOf: 48062 - type: integer 48063 - type: string 48064 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 48065 x-kubernetes-int-or-string: true 48066 description: 'Limits describes the maximum 48067 amount of compute resources allowed. More 48068 info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' 48069 type: object 48070 requests: 48071 additionalProperties: 48072 anyOf: 48073 - type: integer 48074 - type: string 48075 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 48076 x-kubernetes-int-or-string: true 48077 description: 'Requests describes the minimum 48078 amount of compute resources required. If 48079 Requests is omitted for a container, it 48080 defaults to Limits if that is explicitly 48081 specified, otherwise to an implementation-defined 48082 value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' 48083 type: object 48084 type: object 48085 required: 48086 - name 48087 - resources 48088 type: object 48089 type: array 48090 x-kubernetes-list-type: atomic 48091 stepOverrides: 48092 items: 48093 description: TaskRunStepOverride is used to override 48094 the values of a Step in the corresponding Task. 48095 properties: 48096 name: 48097 description: The name of the Step to override. 48098 type: string 48099 resources: 48100 description: The resource requirements to apply 48101 to the Step. 48102 properties: 48103 limits: 48104 additionalProperties: 48105 anyOf: 48106 - type: integer 48107 - type: string 48108 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 48109 x-kubernetes-int-or-string: true 48110 description: 'Limits describes the maximum 48111 amount of compute resources allowed. More 48112 info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' 48113 type: object 48114 requests: 48115 additionalProperties: 48116 anyOf: 48117 - type: integer 48118 - type: string 48119 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 48120 x-kubernetes-int-or-string: true 48121 description: 'Requests describes the minimum 48122 amount of compute resources required. If 48123 Requests is omitted for a container, it 48124 defaults to Limits if that is explicitly 48125 specified, otherwise to an implementation-defined 48126 value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' 48127 type: object 48128 type: object 48129 required: 48130 - name 48131 - resources 48132 type: object 48133 type: array 48134 x-kubernetes-list-type: atomic 48135 taskPodTemplate: 48136 description: Template holds pod specific configuration 48137 properties: 48138 affinity: 48139 description: If specified, the pod's scheduling 48140 constraints 48141 properties: 48142 nodeAffinity: 48143 description: Describes node affinity scheduling 48144 rules for the pod. 48145 properties: 48146 preferredDuringSchedulingIgnoredDuringExecution: 48147 description: The scheduler will prefer to 48148 schedule pods to nodes that satisfy the 48149 affinity expressions specified by this 48150 field, but it may choose a node that violates 48151 one or more of the expressions. The node 48152 that is most preferred is the one with 48153 the greatest sum of weights, i.e. for 48154 each node that meets all of the scheduling 48155 requirements (resource request, requiredDuringScheduling 48156 affinity expressions, etc.), compute a 48157 sum by iterating through the elements 48158 of this field and adding "weight" to the 48159 sum if the node matches the corresponding 48160 matchExpressions; the node(s) with the 48161 highest sum are the most preferred. 48162 items: 48163 description: An empty preferred scheduling 48164 term matches all objects with implicit 48165 weight 0 (i.e. it's a no-op). A null 48166 preferred scheduling term matches no 48167 objects (i.e. is also a no-op). 48168 properties: 48169 preference: 48170 description: A node selector term, 48171 associated with the corresponding 48172 weight. 48173 properties: 48174 matchExpressions: 48175 description: A list of node selector 48176 requirements by node's labels. 48177 items: 48178 description: A node selector 48179 requirement is a selector 48180 that contains values, a key, 48181 and an operator that relates 48182 the key and values. 48183 properties: 48184 key: 48185 description: The label key 48186 that the selector applies 48187 to. 48188 type: string 48189 operator: 48190 description: Represents 48191 a key's relationship to 48192 a set of values. Valid 48193 operators are In, NotIn, 48194 Exists, DoesNotExist. 48195 Gt, and Lt. 48196 type: string 48197 values: 48198 description: An array of 48199 string values. If the 48200 operator is In or NotIn, 48201 the values array must 48202 be non-empty. If the operator 48203 is Exists or DoesNotExist, 48204 the values array must 48205 be empty. If the operator 48206 is Gt or Lt, the values 48207 array must have a single 48208 element, which will be 48209 interpreted as an integer. 48210 This array is replaced 48211 during a strategic merge 48212 patch. 48213 items: 48214 type: string 48215 type: array 48216 required: 48217 - key 48218 - operator 48219 type: object 48220 type: array 48221 matchFields: 48222 description: A list of node selector 48223 requirements by node's fields. 48224 items: 48225 description: A node selector 48226 requirement is a selector 48227 that contains values, a key, 48228 and an operator that relates 48229 the key and values. 48230 properties: 48231 key: 48232 description: The label key 48233 that the selector applies 48234 to. 48235 type: string 48236 operator: 48237 description: Represents 48238 a key's relationship to 48239 a set of values. Valid 48240 operators are In, NotIn, 48241 Exists, DoesNotExist. 48242 Gt, and Lt. 48243 type: string 48244 values: 48245 description: An array of 48246 string values. If the 48247 operator is In or NotIn, 48248 the values array must 48249 be non-empty. If the operator 48250 is Exists or DoesNotExist, 48251 the values array must 48252 be empty. If the operator 48253 is Gt or Lt, the values 48254 array must have a single 48255 element, which will be 48256 interpreted as an integer. 48257 This array is replaced 48258 during a strategic merge 48259 patch. 48260 items: 48261 type: string 48262 type: array 48263 required: 48264 - key 48265 - operator 48266 type: object 48267 type: array 48268 type: object 48269 weight: 48270 description: Weight associated with 48271 matching the corresponding nodeSelectorTerm, 48272 in the range 1-100. 48273 format: int32 48274 type: integer 48275 required: 48276 - preference 48277 - weight 48278 type: object 48279 type: array 48280 requiredDuringSchedulingIgnoredDuringExecution: 48281 description: If the affinity requirements 48282 specified by this field are not met at 48283 scheduling time, the pod will not be scheduled 48284 onto the node. If the affinity requirements 48285 specified by this field cease to be met 48286 at some point during pod execution (e.g. 48287 due to an update), the system may or may 48288 not try to eventually evict the pod from 48289 its node. 48290 properties: 48291 nodeSelectorTerms: 48292 description: Required. A list of node 48293 selector terms. The terms are ORed. 48294 items: 48295 description: A null or empty node 48296 selector term matches no objects. 48297 The requirements of them are ANDed. 48298 The TopologySelectorTerm type implements 48299 a subset of the NodeSelectorTerm. 48300 properties: 48301 matchExpressions: 48302 description: A list of node selector 48303 requirements by node's labels. 48304 items: 48305 description: A node selector 48306 requirement is a selector 48307 that contains values, a key, 48308 and an operator that relates 48309 the key and values. 48310 properties: 48311 key: 48312 description: The label key 48313 that the selector applies 48314 to. 48315 type: string 48316 operator: 48317 description: Represents 48318 a key's relationship to 48319 a set of values. Valid 48320 operators are In, NotIn, 48321 Exists, DoesNotExist. 48322 Gt, and Lt. 48323 type: string 48324 values: 48325 description: An array of 48326 string values. If the 48327 operator is In or NotIn, 48328 the values array must 48329 be non-empty. If the operator 48330 is Exists or DoesNotExist, 48331 the values array must 48332 be empty. If the operator 48333 is Gt or Lt, the values 48334 array must have a single 48335 element, which will be 48336 interpreted as an integer. 48337 This array is replaced 48338 during a strategic merge 48339 patch. 48340 items: 48341 type: string 48342 type: array 48343 required: 48344 - key 48345 - operator 48346 type: object 48347 type: array 48348 matchFields: 48349 description: A list of node selector 48350 requirements by node's fields. 48351 items: 48352 description: A node selector 48353 requirement is a selector 48354 that contains values, a key, 48355 and an operator that relates 48356 the key and values. 48357 properties: 48358 key: 48359 description: The label key 48360 that the selector applies 48361 to. 48362 type: string 48363 operator: 48364 description: Represents 48365 a key's relationship to 48366 a set of values. Valid 48367 operators are In, NotIn, 48368 Exists, DoesNotExist. 48369 Gt, and Lt. 48370 type: string 48371 values: 48372 description: An array of 48373 string values. If the 48374 operator is In or NotIn, 48375 the values array must 48376 be non-empty. If the operator 48377 is Exists or DoesNotExist, 48378 the values array must 48379 be empty. If the operator 48380 is Gt or Lt, the values 48381 array must have a single 48382 element, which will be 48383 interpreted as an integer. 48384 This array is replaced 48385 during a strategic merge 48386 patch. 48387 items: 48388 type: string 48389 type: array 48390 required: 48391 - key 48392 - operator 48393 type: object 48394 type: array 48395 type: object 48396 type: array 48397 required: 48398 - nodeSelectorTerms 48399 type: object 48400 type: object 48401 podAffinity: 48402 description: Describes pod affinity scheduling 48403 rules (e.g. co-locate this pod in the same 48404 node, zone, etc. as some other pod(s)). 48405 properties: 48406 preferredDuringSchedulingIgnoredDuringExecution: 48407 description: The scheduler will prefer to 48408 schedule pods to nodes that satisfy the 48409 affinity expressions specified by this 48410 field, but it may choose a node that violates 48411 one or more of the expressions. The node 48412 that is most preferred is the one with 48413 the greatest sum of weights, i.e. for 48414 each node that meets all of the scheduling 48415 requirements (resource request, requiredDuringScheduling 48416 affinity expressions, etc.), compute a 48417 sum by iterating through the elements 48418 of this field and adding "weight" to the 48419 sum if the node has pods which matches 48420 the corresponding podAffinityTerm; the 48421 node(s) with the highest sum are the most 48422 preferred. 48423 items: 48424 description: The weights of all of the 48425 matched WeightedPodAffinityTerm fields 48426 are added per-node to find the most 48427 preferred node(s) 48428 properties: 48429 podAffinityTerm: 48430 description: Required. A pod affinity 48431 term, associated with the corresponding 48432 weight. 48433 properties: 48434 labelSelector: 48435 description: A label query over 48436 a set of resources, in this 48437 case pods. 48438 properties: 48439 matchExpressions: 48440 description: matchExpressions 48441 is a list of label selector 48442 requirements. The requirements 48443 are ANDed. 48444 items: 48445 description: A label selector 48446 requirement is a selector 48447 that contains values, 48448 a key, and an operator 48449 that relates the key and 48450 values. 48451 properties: 48452 key: 48453 description: key is 48454 the label key that 48455 the selector applies 48456 to. 48457 type: string 48458 operator: 48459 description: operator 48460 represents a key's 48461 relationship to a 48462 set of values. Valid 48463 operators are In, 48464 NotIn, Exists and 48465 DoesNotExist. 48466 type: string 48467 values: 48468 description: values 48469 is an array of string 48470 values. If the operator 48471 is In or NotIn, the 48472 values array must 48473 be non-empty. If the 48474 operator is Exists 48475 or DoesNotExist, the 48476 values array must 48477 be empty. This array 48478 is replaced during 48479 a strategic merge 48480 patch. 48481 items: 48482 type: string 48483 type: array 48484 required: 48485 - key 48486 - operator 48487 type: object 48488 type: array 48489 matchLabels: 48490 additionalProperties: 48491 type: string 48492 description: matchLabels is 48493 a map of {key,value} pairs. 48494 A single {key,value} in 48495 the matchLabels map is equivalent 48496 to an element of matchExpressions, 48497 whose key field is "key", 48498 the operator is "In", and 48499 the values array contains 48500 only "value". The requirements 48501 are ANDed. 48502 type: object 48503 type: object 48504 namespaceSelector: 48505 description: A label query over 48506 the set of namespaces that the 48507 term applies to. The term is 48508 applied to the union of the 48509 namespaces selected by this 48510 field and the ones listed in 48511 the namespaces field. null selector 48512 and null or empty namespaces 48513 list means "this pod's namespace". 48514 An empty selector ({}) matches 48515 all namespaces. 48516 properties: 48517 matchExpressions: 48518 description: matchExpressions 48519 is a list of label selector 48520 requirements. The requirements 48521 are ANDed. 48522 items: 48523 description: A label selector 48524 requirement is a selector 48525 that contains values, 48526 a key, and an operator 48527 that relates the key and 48528 values. 48529 properties: 48530 key: 48531 description: key is 48532 the label key that 48533 the selector applies 48534 to. 48535 type: string 48536 operator: 48537 description: operator 48538 represents a key's 48539 relationship to a 48540 set of values. Valid 48541 operators are In, 48542 NotIn, Exists and 48543 DoesNotExist. 48544 type: string 48545 values: 48546 description: values 48547 is an array of string 48548 values. If the operator 48549 is In or NotIn, the 48550 values array must 48551 be non-empty. If the 48552 operator is Exists 48553 or DoesNotExist, the 48554 values array must 48555 be empty. This array 48556 is replaced during 48557 a strategic merge 48558 patch. 48559 items: 48560 type: string 48561 type: array 48562 required: 48563 - key 48564 - operator 48565 type: object 48566 type: array 48567 matchLabels: 48568 additionalProperties: 48569 type: string 48570 description: matchLabels is 48571 a map of {key,value} pairs. 48572 A single {key,value} in 48573 the matchLabels map is equivalent 48574 to an element of matchExpressions, 48575 whose key field is "key", 48576 the operator is "In", and 48577 the values array contains 48578 only "value". The requirements 48579 are ANDed. 48580 type: object 48581 type: object 48582 namespaces: 48583 description: namespaces specifies 48584 a static list of namespace names 48585 that the term applies to. The 48586 term is applied to the union 48587 of the namespaces listed in 48588 this field and the ones selected 48589 by namespaceSelector. null or 48590 empty namespaces list and null 48591 namespaceSelector means "this 48592 pod's namespace". 48593 items: 48594 type: string 48595 type: array 48596 topologyKey: 48597 description: This pod should be 48598 co-located (affinity) or not 48599 co-located (anti-affinity) with 48600 the pods matching the labelSelector 48601 in the specified namespaces, 48602 where co-located is defined 48603 as running on a node whose value 48604 of the label with key topologyKey 48605 matches that of any node on 48606 which any of the selected pods 48607 is running. Empty topologyKey 48608 is not allowed. 48609 type: string 48610 required: 48611 - topologyKey 48612 type: object 48613 weight: 48614 description: weight associated with 48615 matching the corresponding podAffinityTerm, 48616 in the range 1-100. 48617 format: int32 48618 type: integer 48619 required: 48620 - podAffinityTerm 48621 - weight 48622 type: object 48623 type: array 48624 requiredDuringSchedulingIgnoredDuringExecution: 48625 description: If the affinity requirements 48626 specified by this field are not met at 48627 scheduling time, the pod will not be scheduled 48628 onto the node. If the affinity requirements 48629 specified by this field cease to be met 48630 at some point during pod execution (e.g. 48631 due to a pod label update), the system 48632 may or may not try to eventually evict 48633 the pod from its node. When there are 48634 multiple elements, the lists of nodes 48635 corresponding to each podAffinityTerm 48636 are intersected, i.e. all terms must be 48637 satisfied. 48638 items: 48639 description: Defines a set of pods (namely 48640 those matching the labelSelector relative 48641 to the given namespace(s)) that this 48642 pod should be co-located (affinity) 48643 or not co-located (anti-affinity) with, 48644 where co-located is defined as running 48645 on a node whose value of the label with 48646 key <topologyKey> matches that of any 48647 node on which a pod of the set of pods 48648 is running 48649 properties: 48650 labelSelector: 48651 description: A label query over a 48652 set of resources, in this case pods. 48653 properties: 48654 matchExpressions: 48655 description: matchExpressions 48656 is a list of label selector 48657 requirements. The requirements 48658 are ANDed. 48659 items: 48660 description: A label selector 48661 requirement is a selector 48662 that contains values, a key, 48663 and an operator that relates 48664 the key and values. 48665 properties: 48666 key: 48667 description: key is the 48668 label key that the selector 48669 applies to. 48670 type: string 48671 operator: 48672 description: operator represents 48673 a key's relationship to 48674 a set of values. Valid 48675 operators are In, NotIn, 48676 Exists and DoesNotExist. 48677 type: string 48678 values: 48679 description: values is an 48680 array of string values. 48681 If the operator is In 48682 or NotIn, the values array 48683 must be non-empty. If 48684 the operator is Exists 48685 or DoesNotExist, the values 48686 array must be empty. This 48687 array is replaced during 48688 a strategic merge patch. 48689 items: 48690 type: string 48691 type: array 48692 required: 48693 - key 48694 - operator 48695 type: object 48696 type: array 48697 matchLabels: 48698 additionalProperties: 48699 type: string 48700 description: matchLabels is a 48701 map of {key,value} pairs. A 48702 single {key,value} in the matchLabels 48703 map is equivalent to an element 48704 of matchExpressions, whose key 48705 field is "key", the operator 48706 is "In", and the values array 48707 contains only "value". The requirements 48708 are ANDed. 48709 type: object 48710 type: object 48711 namespaceSelector: 48712 description: A label query over the 48713 set of namespaces that the term 48714 applies to. The term is applied 48715 to the union of the namespaces selected 48716 by this field and the ones listed 48717 in the namespaces field. null selector 48718 and null or empty namespaces list 48719 means "this pod's namespace". An 48720 empty selector ({}) matches all 48721 namespaces. 48722 properties: 48723 matchExpressions: 48724 description: matchExpressions 48725 is a list of label selector 48726 requirements. The requirements 48727 are ANDed. 48728 items: 48729 description: A label selector 48730 requirement is a selector 48731 that contains values, a key, 48732 and an operator that relates 48733 the key and values. 48734 properties: 48735 key: 48736 description: key is the 48737 label key that the selector 48738 applies to. 48739 type: string 48740 operator: 48741 description: operator represents 48742 a key's relationship to 48743 a set of values. Valid 48744 operators are In, NotIn, 48745 Exists and DoesNotExist. 48746 type: string 48747 values: 48748 description: values is an 48749 array of string values. 48750 If the operator is In 48751 or NotIn, the values array 48752 must be non-empty. If 48753 the operator is Exists 48754 or DoesNotExist, the values 48755 array must be empty. This 48756 array is replaced during 48757 a strategic merge patch. 48758 items: 48759 type: string 48760 type: array 48761 required: 48762 - key 48763 - operator 48764 type: object 48765 type: array 48766 matchLabels: 48767 additionalProperties: 48768 type: string 48769 description: matchLabels is a 48770 map of {key,value} pairs. A 48771 single {key,value} in the matchLabels 48772 map is equivalent to an element 48773 of matchExpressions, whose key 48774 field is "key", the operator 48775 is "In", and the values array 48776 contains only "value". The requirements 48777 are ANDed. 48778 type: object 48779 type: object 48780 namespaces: 48781 description: namespaces specifies 48782 a static list of namespace names 48783 that the term applies to. The term 48784 is applied to the union of the namespaces 48785 listed in this field and the ones 48786 selected by namespaceSelector. null 48787 or empty namespaces list and null 48788 namespaceSelector means "this pod's 48789 namespace". 48790 items: 48791 type: string 48792 type: array 48793 topologyKey: 48794 description: This pod should be co-located 48795 (affinity) or not co-located (anti-affinity) 48796 with the pods matching the labelSelector 48797 in the specified namespaces, where 48798 co-located is defined as running 48799 on a node whose value of the label 48800 with key topologyKey matches that 48801 of any node on which any of the 48802 selected pods is running. Empty 48803 topologyKey is not allowed. 48804 type: string 48805 required: 48806 - topologyKey 48807 type: object 48808 type: array 48809 type: object 48810 podAntiAffinity: 48811 description: Describes pod anti-affinity scheduling 48812 rules (e.g. avoid putting this pod in the 48813 same node, zone, etc. as some other pod(s)). 48814 properties: 48815 preferredDuringSchedulingIgnoredDuringExecution: 48816 description: The scheduler will prefer to 48817 schedule pods to nodes that satisfy the 48818 anti-affinity expressions specified by 48819 this field, but it may choose a node that 48820 violates one or more of the expressions. 48821 The node that is most preferred is the 48822 one with the greatest sum of weights, 48823 i.e. for each node that meets all of the 48824 scheduling requirements (resource request, 48825 requiredDuringScheduling anti-affinity 48826 expressions, etc.), compute a sum by iterating 48827 through the elements of this field and 48828 adding "weight" to the sum if the node 48829 has pods which matches the corresponding 48830 podAffinityTerm; the node(s) with the 48831 highest sum are the most preferred. 48832 items: 48833 description: The weights of all of the 48834 matched WeightedPodAffinityTerm fields 48835 are added per-node to find the most 48836 preferred node(s) 48837 properties: 48838 podAffinityTerm: 48839 description: Required. A pod affinity 48840 term, associated with the corresponding 48841 weight. 48842 properties: 48843 labelSelector: 48844 description: A label query over 48845 a set of resources, in this 48846 case pods. 48847 properties: 48848 matchExpressions: 48849 description: matchExpressions 48850 is a list of label selector 48851 requirements. The requirements 48852 are ANDed. 48853 items: 48854 description: A label selector 48855 requirement is a selector 48856 that contains values, 48857 a key, and an operator 48858 that relates the key and 48859 values. 48860 properties: 48861 key: 48862 description: key is 48863 the label key that 48864 the selector applies 48865 to. 48866 type: string 48867 operator: 48868 description: operator 48869 represents a key's 48870 relationship to a 48871 set of values. Valid 48872 operators are In, 48873 NotIn, Exists and 48874 DoesNotExist. 48875 type: string 48876 values: 48877 description: values 48878 is an array of string 48879 values. If the operator 48880 is In or NotIn, the 48881 values array must 48882 be non-empty. If the 48883 operator is Exists 48884 or DoesNotExist, the 48885 values array must 48886 be empty. This array 48887 is replaced during 48888 a strategic merge 48889 patch. 48890 items: 48891 type: string 48892 type: array 48893 required: 48894 - key 48895 - operator 48896 type: object 48897 type: array 48898 matchLabels: 48899 additionalProperties: 48900 type: string 48901 description: matchLabels is 48902 a map of {key,value} pairs. 48903 A single {key,value} in 48904 the matchLabels map is equivalent 48905 to an element of matchExpressions, 48906 whose key field is "key", 48907 the operator is "In", and 48908 the values array contains 48909 only "value". The requirements 48910 are ANDed. 48911 type: object 48912 type: object 48913 namespaceSelector: 48914 description: A label query over 48915 the set of namespaces that the 48916 term applies to. The term is 48917 applied to the union of the 48918 namespaces selected by this 48919 field and the ones listed in 48920 the namespaces field. null selector 48921 and null or empty namespaces 48922 list means "this pod's namespace". 48923 An empty selector ({}) matches 48924 all namespaces. 48925 properties: 48926 matchExpressions: 48927 description: matchExpressions 48928 is a list of label selector 48929 requirements. The requirements 48930 are ANDed. 48931 items: 48932 description: A label selector 48933 requirement is a selector 48934 that contains values, 48935 a key, and an operator 48936 that relates the key and 48937 values. 48938 properties: 48939 key: 48940 description: key is 48941 the label key that 48942 the selector applies 48943 to. 48944 type: string 48945 operator: 48946 description: operator 48947 represents a key's 48948 relationship to a 48949 set of values. Valid 48950 operators are In, 48951 NotIn, Exists and 48952 DoesNotExist. 48953 type: string 48954 values: 48955 description: values 48956 is an array of string 48957 values. If the operator 48958 is In or NotIn, the 48959 values array must 48960 be non-empty. If the 48961 operator is Exists 48962 or DoesNotExist, the 48963 values array must 48964 be empty. This array 48965 is replaced during 48966 a strategic merge 48967 patch. 48968 items: 48969 type: string 48970 type: array 48971 required: 48972 - key 48973 - operator 48974 type: object 48975 type: array 48976 matchLabels: 48977 additionalProperties: 48978 type: string 48979 description: matchLabels is 48980 a map of {key,value} pairs. 48981 A single {key,value} in 48982 the matchLabels map is equivalent 48983 to an element of matchExpressions, 48984 whose key field is "key", 48985 the operator is "In", and 48986 the values array contains 48987 only "value". The requirements 48988 are ANDed. 48989 type: object 48990 type: object 48991 namespaces: 48992 description: namespaces specifies 48993 a static list of namespace names 48994 that the term applies to. The 48995 term is applied to the union 48996 of the namespaces listed in 48997 this field and the ones selected 48998 by namespaceSelector. null or 48999 empty namespaces list and null 49000 namespaceSelector means "this 49001 pod's namespace". 49002 items: 49003 type: string 49004 type: array 49005 topologyKey: 49006 description: This pod should be 49007 co-located (affinity) or not 49008 co-located (anti-affinity) with 49009 the pods matching the labelSelector 49010 in the specified namespaces, 49011 where co-located is defined 49012 as running on a node whose value 49013 of the label with key topologyKey 49014 matches that of any node on 49015 which any of the selected pods 49016 is running. Empty topologyKey 49017 is not allowed. 49018 type: string 49019 required: 49020 - topologyKey 49021 type: object 49022 weight: 49023 description: weight associated with 49024 matching the corresponding podAffinityTerm, 49025 in the range 1-100. 49026 format: int32 49027 type: integer 49028 required: 49029 - podAffinityTerm 49030 - weight 49031 type: object 49032 type: array 49033 requiredDuringSchedulingIgnoredDuringExecution: 49034 description: If the anti-affinity requirements 49035 specified by this field are not met at 49036 scheduling time, the pod will not be scheduled 49037 onto the node. If the anti-affinity requirements 49038 specified by this field cease to be met 49039 at some point during pod execution (e.g. 49040 due to a pod label update), the system 49041 may or may not try to eventually evict 49042 the pod from its node. When there are 49043 multiple elements, the lists of nodes 49044 corresponding to each podAffinityTerm 49045 are intersected, i.e. all terms must be 49046 satisfied. 49047 items: 49048 description: Defines a set of pods (namely 49049 those matching the labelSelector relative 49050 to the given namespace(s)) that this 49051 pod should be co-located (affinity) 49052 or not co-located (anti-affinity) with, 49053 where co-located is defined as running 49054 on a node whose value of the label with 49055 key <topologyKey> matches that of any 49056 node on which a pod of the set of pods 49057 is running 49058 properties: 49059 labelSelector: 49060 description: A label query over a 49061 set of resources, in this case pods. 49062 properties: 49063 matchExpressions: 49064 description: matchExpressions 49065 is a list of label selector 49066 requirements. The requirements 49067 are ANDed. 49068 items: 49069 description: A label selector 49070 requirement is a selector 49071 that contains values, a key, 49072 and an operator that relates 49073 the key and values. 49074 properties: 49075 key: 49076 description: key is the 49077 label key that the selector 49078 applies to. 49079 type: string 49080 operator: 49081 description: operator represents 49082 a key's relationship to 49083 a set of values. Valid 49084 operators are In, NotIn, 49085 Exists and DoesNotExist. 49086 type: string 49087 values: 49088 description: values is an 49089 array of string values. 49090 If the operator is In 49091 or NotIn, the values array 49092 must be non-empty. If 49093 the operator is Exists 49094 or DoesNotExist, the values 49095 array must be empty. This 49096 array is replaced during 49097 a strategic merge patch. 49098 items: 49099 type: string 49100 type: array 49101 required: 49102 - key 49103 - operator 49104 type: object 49105 type: array 49106 matchLabels: 49107 additionalProperties: 49108 type: string 49109 description: matchLabels is a 49110 map of {key,value} pairs. A 49111 single {key,value} in the matchLabels 49112 map is equivalent to an element 49113 of matchExpressions, whose key 49114 field is "key", the operator 49115 is "In", and the values array 49116 contains only "value". The requirements 49117 are ANDed. 49118 type: object 49119 type: object 49120 namespaceSelector: 49121 description: A label query over the 49122 set of namespaces that the term 49123 applies to. The term is applied 49124 to the union of the namespaces selected 49125 by this field and the ones listed 49126 in the namespaces field. null selector 49127 and null or empty namespaces list 49128 means "this pod's namespace". An 49129 empty selector ({}) matches all 49130 namespaces. 49131 properties: 49132 matchExpressions: 49133 description: matchExpressions 49134 is a list of label selector 49135 requirements. The requirements 49136 are ANDed. 49137 items: 49138 description: A label selector 49139 requirement is a selector 49140 that contains values, a key, 49141 and an operator that relates 49142 the key and values. 49143 properties: 49144 key: 49145 description: key is the 49146 label key that the selector 49147 applies to. 49148 type: string 49149 operator: 49150 description: operator represents 49151 a key's relationship to 49152 a set of values. Valid 49153 operators are In, NotIn, 49154 Exists and DoesNotExist. 49155 type: string 49156 values: 49157 description: values is an 49158 array of string values. 49159 If the operator is In 49160 or NotIn, the values array 49161 must be non-empty. If 49162 the operator is Exists 49163 or DoesNotExist, the values 49164 array must be empty. This 49165 array is replaced during 49166 a strategic merge patch. 49167 items: 49168 type: string 49169 type: array 49170 required: 49171 - key 49172 - operator 49173 type: object 49174 type: array 49175 matchLabels: 49176 additionalProperties: 49177 type: string 49178 description: matchLabels is a 49179 map of {key,value} pairs. A 49180 single {key,value} in the matchLabels 49181 map is equivalent to an element 49182 of matchExpressions, whose key 49183 field is "key", the operator 49184 is "In", and the values array 49185 contains only "value". The requirements 49186 are ANDed. 49187 type: object 49188 type: object 49189 namespaces: 49190 description: namespaces specifies 49191 a static list of namespace names 49192 that the term applies to. The term 49193 is applied to the union of the namespaces 49194 listed in this field and the ones 49195 selected by namespaceSelector. null 49196 or empty namespaces list and null 49197 namespaceSelector means "this pod's 49198 namespace". 49199 items: 49200 type: string 49201 type: array 49202 topologyKey: 49203 description: This pod should be co-located 49204 (affinity) or not co-located (anti-affinity) 49205 with the pods matching the labelSelector 49206 in the specified namespaces, where 49207 co-located is defined as running 49208 on a node whose value of the label 49209 with key topologyKey matches that 49210 of any node on which any of the 49211 selected pods is running. Empty 49212 topologyKey is not allowed. 49213 type: string 49214 required: 49215 - topologyKey 49216 type: object 49217 type: array 49218 type: object 49219 type: object 49220 automountServiceAccountToken: 49221 description: AutomountServiceAccountToken indicates 49222 whether pods running as this service account should 49223 have an API token automatically mounted. 49224 type: boolean 49225 dnsConfig: 49226 description: Specifies the DNS parameters of a pod. 49227 Parameters specified here will be merged to the 49228 generated DNS configuration based on DNSPolicy. 49229 properties: 49230 nameservers: 49231 description: A list of DNS name server IP addresses. 49232 This will be appended to the base nameservers 49233 generated from DNSPolicy. Duplicated nameservers 49234 will be removed. 49235 items: 49236 type: string 49237 type: array 49238 options: 49239 description: A list of DNS resolver options. 49240 This will be merged with the base options 49241 generated from DNSPolicy. Duplicated entries 49242 will be removed. Resolution options given 49243 in Options will override those that appear 49244 in the base DNSPolicy. 49245 items: 49246 description: PodDNSConfigOption defines DNS 49247 resolver options of a pod. 49248 properties: 49249 name: 49250 description: Required. 49251 type: string 49252 value: 49253 type: string 49254 type: object 49255 type: array 49256 searches: 49257 description: A list of DNS search domains for 49258 host-name lookup. This will be appended to 49259 the base search paths generated from DNSPolicy. 49260 Duplicated search paths will be removed. 49261 items: 49262 type: string 49263 type: array 49264 type: object 49265 dnsPolicy: 49266 description: Set DNS policy for the pod. Defaults 49267 to "ClusterFirst". Valid values are 'ClusterFirst', 49268 'Default' or 'None'. DNS parameters given in DNSConfig 49269 will be merged with the policy selected with DNSPolicy. 49270 type: string 49271 enableServiceLinks: 49272 description: 'EnableServiceLinks indicates whether 49273 information about services should be injected 49274 into pod''s environment variables, matching the 49275 syntax of Docker links. Optional: Defaults to 49276 true.' 49277 type: boolean 49278 env: 49279 description: List of environment variables that 49280 can be provided to the containers belonging to 49281 the pod. 49282 items: 49283 description: EnvVar represents an environment 49284 variable present in a Container. 49285 properties: 49286 name: 49287 description: Name of the environment variable. 49288 Must be a C_IDENTIFIER. 49289 type: string 49290 value: 49291 description: 'Variable references $(VAR_NAME) 49292 are expanded using the previously defined 49293 environment variables in the container and 49294 any service environment variables. If a 49295 variable cannot be resolved, the reference 49296 in the input string will be unchanged. Double 49297 $$ are reduced to a single $, which allows 49298 for escaping the $(VAR_NAME) syntax: i.e. 49299 "$$(VAR_NAME)" will produce the string literal 49300 "$(VAR_NAME)". Escaped references will never 49301 be expanded, regardless of whether the variable 49302 exists or not. Defaults to "".' 49303 type: string 49304 valueFrom: 49305 description: Source for the environment variable's 49306 value. Cannot be used if value is not empty. 49307 properties: 49308 configMapKeyRef: 49309 description: Selects a key of a ConfigMap. 49310 properties: 49311 key: 49312 description: The key to select. 49313 type: string 49314 name: 49315 description: 'Name of the referent. 49316 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 49317 TODO: Add other useful fields. apiVersion, 49318 kind, uid?' 49319 type: string 49320 optional: 49321 description: Specify whether the ConfigMap 49322 or its key must be defined 49323 type: boolean 49324 required: 49325 - key 49326 type: object 49327 fieldRef: 49328 description: 'Selects a field of the pod: 49329 supports metadata.name, metadata.namespace, 49330 `metadata.labels[''<KEY>'']`, `metadata.annotations[''<KEY>'']`, 49331 spec.nodeName, spec.serviceAccountName, 49332 status.hostIP, status.podIP, status.podIPs.' 49333 properties: 49334 apiVersion: 49335 description: Version of the schema 49336 the FieldPath is written in terms 49337 of, defaults to "v1". 49338 type: string 49339 fieldPath: 49340 description: Path of the field to 49341 select in the specified API version. 49342 type: string 49343 required: 49344 - fieldPath 49345 type: object 49346 resourceFieldRef: 49347 description: 'Selects a resource of the 49348 container: only resources limits and 49349 requests (limits.cpu, limits.memory, 49350 limits.ephemeral-storage, requests.cpu, 49351 requests.memory and requests.ephemeral-storage) 49352 are currently supported.' 49353 properties: 49354 containerName: 49355 description: 'Container name: required 49356 for volumes, optional for env vars' 49357 type: string 49358 divisor: 49359 anyOf: 49360 - type: integer 49361 - type: string 49362 description: Specifies the output 49363 format of the exposed resources, 49364 defaults to "1" 49365 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 49366 x-kubernetes-int-or-string: true 49367 resource: 49368 description: 'Required: resource to 49369 select' 49370 type: string 49371 required: 49372 - resource 49373 type: object 49374 secretKeyRef: 49375 description: Selects a key of a secret 49376 in the pod's namespace 49377 properties: 49378 key: 49379 description: The key of the secret 49380 to select from. Must be a valid 49381 secret key. 49382 type: string 49383 name: 49384 description: 'Name of the referent. 49385 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 49386 TODO: Add other useful fields. apiVersion, 49387 kind, uid?' 49388 type: string 49389 optional: 49390 description: Specify whether the Secret 49391 or its key must be defined 49392 type: boolean 49393 required: 49394 - key 49395 type: object 49396 type: object 49397 required: 49398 - name 49399 type: object 49400 type: array 49401 x-kubernetes-list-type: atomic 49402 hostAliases: 49403 description: HostAliases is an optional list of 49404 hosts and IPs that will be injected into the pod's 49405 hosts file if specified. This is only valid for 49406 non-hostNetwork pods. 49407 items: 49408 description: HostAlias holds the mapping between 49409 IP and hostnames that will be injected as an 49410 entry in the pod's hosts file. 49411 properties: 49412 hostnames: 49413 description: Hostnames for the above IP address. 49414 items: 49415 type: string 49416 type: array 49417 ip: 49418 description: IP address of the host file entry. 49419 type: string 49420 type: object 49421 type: array 49422 x-kubernetes-list-type: atomic 49423 hostNetwork: 49424 description: HostNetwork specifies whether the pod 49425 may use the node network namespace 49426 type: boolean 49427 imagePullSecrets: 49428 description: ImagePullSecrets gives the name of 49429 the secret used by the pod to pull the image if 49430 specified 49431 items: 49432 description: LocalObjectReference contains enough 49433 information to let you locate the referenced 49434 object inside the same namespace. 49435 properties: 49436 name: 49437 description: 'Name of the referent. More info: 49438 https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 49439 TODO: Add other useful fields. apiVersion, 49440 kind, uid?' 49441 type: string 49442 type: object 49443 type: array 49444 x-kubernetes-list-type: atomic 49445 nodeSelector: 49446 additionalProperties: 49447 type: string 49448 description: 'NodeSelector is a selector which must 49449 be true for the pod to fit on a node. Selector 49450 which must match a node''s labels for the pod 49451 to be scheduled on that node. More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/' 49452 type: object 49453 priorityClassName: 49454 description: If specified, indicates the pod's priority. 49455 "system-node-critical" and "system-cluster-critical" 49456 are two special keywords which indicate the highest 49457 priorities with the former being the highest priority. 49458 Any other name must be defined by creating a PriorityClass 49459 object with that name. If not specified, the pod 49460 priority will be default or zero if there is no 49461 default. 49462 type: string 49463 runtimeClassName: 49464 description: 'RuntimeClassName refers to a RuntimeClass 49465 object in the node.k8s.io group, which should 49466 be used to run this pod. If no RuntimeClass resource 49467 matches the named class, the pod will not be run. 49468 If unset or empty, the "legacy" RuntimeClass will 49469 be used, which is an implicit class with an empty 49470 definition that uses the default runtime handler. 49471 More info: https://git.k8s.io/enhancements/keps/sig-node/runtime-class.md 49472 This is a beta feature as of Kubernetes v1.14.' 49473 type: string 49474 schedulerName: 49475 description: SchedulerName specifies the scheduler 49476 to be used to dispatch the Pod 49477 type: string 49478 securityContext: 49479 description: 'SecurityContext holds pod-level security 49480 attributes and common container settings. Optional: 49481 Defaults to empty. See type description for default 49482 values of each field.' 49483 properties: 49484 fsGroup: 49485 description: "A special supplemental group that 49486 applies to all containers in a pod. Some volume 49487 types allow the Kubelet to change the ownership 49488 of that volume to be owned by the pod: \n 49489 1. The owning GID will be the FSGroup 2. The 49490 setgid bit is set (new files created in the 49491 volume will be owned by FSGroup) 3. The permission 49492 bits are OR'd with rw-rw---- \n If unset, 49493 the Kubelet will not modify the ownership 49494 and permissions of any volume. Note that this 49495 field cannot be set when spec.os.name is windows." 49496 format: int64 49497 type: integer 49498 fsGroupChangePolicy: 49499 description: 'fsGroupChangePolicy defines behavior 49500 of changing ownership and permission of the 49501 volume before being exposed inside Pod. This 49502 field will only apply to volume types which 49503 support fsGroup based ownership(and permissions). 49504 It will have no effect on ephemeral volume 49505 types such as: secret, configmaps and emptydir. 49506 Valid values are "OnRootMismatch" and "Always". 49507 If not specified, "Always" is used. Note that 49508 this field cannot be set when spec.os.name 49509 is windows.' 49510 type: string 49511 runAsGroup: 49512 description: The GID to run the entrypoint of 49513 the container process. Uses runtime default 49514 if unset. May also be set in SecurityContext. If 49515 set in both SecurityContext and PodSecurityContext, 49516 the value specified in SecurityContext takes 49517 precedence for that container. Note that this 49518 field cannot be set when spec.os.name is windows. 49519 format: int64 49520 type: integer 49521 runAsNonRoot: 49522 description: Indicates that the container must 49523 run as a non-root user. If true, the Kubelet 49524 will validate the image at runtime to ensure 49525 that it does not run as UID 0 (root) and fail 49526 to start the container if it does. If unset 49527 or false, no such validation will be performed. 49528 May also be set in SecurityContext. If set 49529 in both SecurityContext and PodSecurityContext, 49530 the value specified in SecurityContext takes 49531 precedence. 49532 type: boolean 49533 runAsUser: 49534 description: The UID to run the entrypoint of 49535 the container process. Defaults to user specified 49536 in image metadata if unspecified. May also 49537 be set in SecurityContext. If set in both 49538 SecurityContext and PodSecurityContext, the 49539 value specified in SecurityContext takes precedence 49540 for that container. Note that this field cannot 49541 be set when spec.os.name is windows. 49542 format: int64 49543 type: integer 49544 seLinuxOptions: 49545 description: The SELinux context to be applied 49546 to all containers. If unspecified, the container 49547 runtime will allocate a random SELinux context 49548 for each container. May also be set in SecurityContext. If 49549 set in both SecurityContext and PodSecurityContext, 49550 the value specified in SecurityContext takes 49551 precedence for that container. Note that this 49552 field cannot be set when spec.os.name is windows. 49553 properties: 49554 level: 49555 description: Level is SELinux level label 49556 that applies to the container. 49557 type: string 49558 role: 49559 description: Role is a SELinux role label 49560 that applies to the container. 49561 type: string 49562 type: 49563 description: Type is a SELinux type label 49564 that applies to the container. 49565 type: string 49566 user: 49567 description: User is a SELinux user label 49568 that applies to the container. 49569 type: string 49570 type: object 49571 seccompProfile: 49572 description: The seccomp options to use by the 49573 containers in this pod. Note that this field 49574 cannot be set when spec.os.name is windows. 49575 properties: 49576 localhostProfile: 49577 description: localhostProfile indicates 49578 a profile defined in a file on the node 49579 should be used. The profile must be preconfigured 49580 on the node to work. Must be a descending 49581 path, relative to the kubelet's configured 49582 seccomp profile location. Must only be 49583 set if type is "Localhost". 49584 type: string 49585 type: 49586 description: "type indicates which kind 49587 of seccomp profile will be applied. Valid 49588 options are: \n Localhost - a profile 49589 defined in a file on the node should be 49590 used. RuntimeDefault - the container runtime 49591 default profile should be used. Unconfined 49592 - no profile should be applied." 49593 type: string 49594 required: 49595 - type 49596 type: object 49597 supplementalGroups: 49598 description: A list of groups applied to the 49599 first process run in each container, in addition 49600 to the container's primary GID. If unspecified, 49601 no groups will be added to any container. 49602 Note that this field cannot be set when spec.os.name 49603 is windows. 49604 items: 49605 format: int64 49606 type: integer 49607 type: array 49608 sysctls: 49609 description: Sysctls hold a list of namespaced 49610 sysctls used for the pod. Pods with unsupported 49611 sysctls (by the container runtime) might fail 49612 to launch. Note that this field cannot be 49613 set when spec.os.name is windows. 49614 items: 49615 description: Sysctl defines a kernel parameter 49616 to be set 49617 properties: 49618 name: 49619 description: Name of a property to set 49620 type: string 49621 value: 49622 description: Value of a property to set 49623 type: string 49624 required: 49625 - name 49626 - value 49627 type: object 49628 type: array 49629 windowsOptions: 49630 description: The Windows specific settings applied 49631 to all containers. If unspecified, the options 49632 within a container's SecurityContext will 49633 be used. If set in both SecurityContext and 49634 PodSecurityContext, the value specified in 49635 SecurityContext takes precedence. Note that 49636 this field cannot be set when spec.os.name 49637 is linux. 49638 properties: 49639 gmsaCredentialSpec: 49640 description: GMSACredentialSpec is where 49641 the GMSA admission webhook (https://github.com/kubernetes-sigs/windows-gmsa) 49642 inlines the contents of the GMSA credential 49643 spec named by the GMSACredentialSpecName 49644 field. 49645 type: string 49646 gmsaCredentialSpecName: 49647 description: GMSACredentialSpecName is the 49648 name of the GMSA credential spec to use. 49649 type: string 49650 hostProcess: 49651 description: HostProcess determines if a 49652 container should be run as a 'Host Process' 49653 container. This field is alpha-level and 49654 will only be honored by components that 49655 enable the WindowsHostProcessContainers 49656 feature flag. Setting this field without 49657 the feature flag will result in errors 49658 when validating the Pod. All of a Pod's 49659 containers must have the same effective 49660 HostProcess value (it is not allowed to 49661 have a mix of HostProcess containers and 49662 non-HostProcess containers). In addition, 49663 if HostProcess is true then HostNetwork 49664 must also be set to true. 49665 type: boolean 49666 runAsUserName: 49667 description: The UserName in Windows to 49668 run the entrypoint of the container process. 49669 Defaults to the user specified in image 49670 metadata if unspecified. May also be set 49671 in PodSecurityContext. If set in both 49672 SecurityContext and PodSecurityContext, 49673 the value specified in SecurityContext 49674 takes precedence. 49675 type: string 49676 type: object 49677 type: object 49678 tolerations: 49679 description: If specified, the pod's tolerations. 49680 items: 49681 description: The pod this Toleration is attached 49682 to tolerates any taint that matches the triple 49683 <key,value,effect> using the matching operator 49684 <operator>. 49685 properties: 49686 effect: 49687 description: Effect indicates the taint effect 49688 to match. Empty means match all taint effects. 49689 When specified, allowed values are NoSchedule, 49690 PreferNoSchedule and NoExecute. 49691 type: string 49692 key: 49693 description: Key is the taint key that the 49694 toleration applies to. Empty means match 49695 all taint keys. If the key is empty, operator 49696 must be Exists; this combination means to 49697 match all values and all keys. 49698 type: string 49699 operator: 49700 description: Operator represents a key's relationship 49701 to the value. Valid operators are Exists 49702 and Equal. Defaults to Equal. Exists is 49703 equivalent to wildcard for value, so that 49704 a pod can tolerate all taints of a particular 49705 category. 49706 type: string 49707 tolerationSeconds: 49708 description: TolerationSeconds represents 49709 the period of time the toleration (which 49710 must be of effect NoExecute, otherwise this 49711 field is ignored) tolerates the taint. By 49712 default, it is not set, which means tolerate 49713 the taint forever (do not evict). Zero and 49714 negative values will be treated as 0 (evict 49715 immediately) by the system. 49716 format: int64 49717 type: integer 49718 value: 49719 description: Value is the taint value the 49720 toleration matches to. If the operator is 49721 Exists, the value should be empty, otherwise 49722 just a regular string. 49723 type: string 49724 type: object 49725 type: array 49726 x-kubernetes-list-type: atomic 49727 topologySpreadConstraints: 49728 description: TopologySpreadConstraints controls 49729 how Pods are spread across your cluster among 49730 failure-domains such as regions, zones, nodes, 49731 and other user-defined topology domains. 49732 items: 49733 description: TopologySpreadConstraint specifies 49734 how to spread matching pods among the given 49735 topology. 49736 properties: 49737 labelSelector: 49738 description: LabelSelector is used to find 49739 matching pods. Pods that match this label 49740 selector are counted to determine the number 49741 of pods in their corresponding topology 49742 domain. 49743 properties: 49744 matchExpressions: 49745 description: matchExpressions is a list 49746 of label selector requirements. The 49747 requirements are ANDed. 49748 items: 49749 description: A label selector requirement 49750 is a selector that contains values, 49751 a key, and an operator that relates 49752 the key and values. 49753 properties: 49754 key: 49755 description: key is the label key 49756 that the selector applies to. 49757 type: string 49758 operator: 49759 description: operator represents 49760 a key's relationship to a set 49761 of values. Valid operators are 49762 In, NotIn, Exists and DoesNotExist. 49763 type: string 49764 values: 49765 description: values is an array 49766 of string values. If the operator 49767 is In or NotIn, the values array 49768 must be non-empty. If the operator 49769 is Exists or DoesNotExist, the 49770 values array must be empty. This 49771 array is replaced during a strategic 49772 merge patch. 49773 items: 49774 type: string 49775 type: array 49776 required: 49777 - key 49778 - operator 49779 type: object 49780 type: array 49781 matchLabels: 49782 additionalProperties: 49783 type: string 49784 description: matchLabels is a map of {key,value} 49785 pairs. A single {key,value} in the matchLabels 49786 map is equivalent to an element of matchExpressions, 49787 whose key field is "key", the operator 49788 is "In", and the values array contains 49789 only "value". The requirements are ANDed. 49790 type: object 49791 type: object 49792 matchLabelKeys: 49793 description: MatchLabelKeys is a set of pod 49794 label keys to select the pods over which 49795 spreading will be calculated. The keys are 49796 used to lookup values from the incoming 49797 pod labels, those key-value labels are ANDed 49798 with labelSelector to select the group of 49799 existing pods over which spreading will 49800 be calculated for the incoming pod. Keys 49801 that don't exist in the incoming pod labels 49802 will be ignored. A null or empty list means 49803 only match against labelSelector. 49804 items: 49805 type: string 49806 type: array 49807 x-kubernetes-list-type: atomic 49808 maxSkew: 49809 description: 'MaxSkew describes the degree 49810 to which pods may be unevenly distributed. 49811 When `whenUnsatisfiable=DoNotSchedule`, 49812 it is the maximum permitted difference between 49813 the number of matching pods in the target 49814 topology and the global minimum. The global 49815 minimum is the minimum number of matching 49816 pods in an eligible domain or zero if the 49817 number of eligible domains is less than 49818 MinDomains. For example, in a 3-zone cluster, 49819 MaxSkew is set to 1, and pods with the same 49820 labelSelector spread as 2/2/1: In this case, 49821 the global minimum is 1. | zone1 | zone2 49822 | zone3 | | P P | P P | P | - if 49823 MaxSkew is 1, incoming pod can only be scheduled 49824 to zone3 to become 2/2/2; scheduling it 49825 onto zone1(zone2) would make the ActualSkew(3-1) 49826 on zone1(zone2) violate MaxSkew(1). - if 49827 MaxSkew is 2, incoming pod can be scheduled 49828 onto any zone. When `whenUnsatisfiable=ScheduleAnyway`, 49829 it is used to give higher precedence to 49830 topologies that satisfy it. It''s a required 49831 field. Default value is 1 and 0 is not allowed.' 49832 format: int32 49833 type: integer 49834 minDomains: 49835 description: "MinDomains indicates a minimum 49836 number of eligible domains. When the number 49837 of eligible domains with matching topology 49838 keys is less than minDomains, Pod Topology 49839 Spread treats \"global minimum\" as 0, and 49840 then the calculation of Skew is performed. 49841 And when the number of eligible domains 49842 with matching topology keys equals or greater 49843 than minDomains, this value has no effect 49844 on scheduling. As a result, when the number 49845 of eligible domains is less than minDomains, 49846 scheduler won't schedule more than maxSkew 49847 Pods to those domains. If value is nil, 49848 the constraint behaves as if MinDomains 49849 is equal to 1. Valid values are integers 49850 greater than 0. When value is not nil, WhenUnsatisfiable 49851 must be DoNotSchedule. \n For example, in 49852 a 3-zone cluster, MaxSkew is set to 2, MinDomains 49853 is set to 5 and pods with the same labelSelector 49854 spread as 2/2/2: | zone1 | zone2 | zone3 49855 | | P P | P P | P P | The number of 49856 domains is less than 5(MinDomains), so \"global 49857 minimum\" is treated as 0. In this situation, 49858 new pod with the same labelSelector cannot 49859 be scheduled, because computed skew will 49860 be 3(3 - 0) if new Pod is scheduled to any 49861 of the three zones, it will violate MaxSkew. 49862 \n This is a beta field and requires the 49863 MinDomainsInPodTopologySpread feature gate 49864 to be enabled (enabled by default)." 49865 format: int32 49866 type: integer 49867 nodeAffinityPolicy: 49868 description: "NodeAffinityPolicy indicates 49869 how we will treat Pod's nodeAffinity/nodeSelector 49870 when calculating pod topology spread skew. 49871 Options are: - Honor: only nodes matching 49872 nodeAffinity/nodeSelector are included in 49873 the calculations. - Ignore: nodeAffinity/nodeSelector 49874 are ignored. All nodes are included in the 49875 calculations. \n If this value is nil, the 49876 behavior is equivalent to the Honor policy. 49877 This is a alpha-level feature enabled by 49878 the NodeInclusionPolicyInPodTopologySpread 49879 feature flag." 49880 type: string 49881 nodeTaintsPolicy: 49882 description: "NodeTaintsPolicy indicates how 49883 we will treat node taints when calculating 49884 pod topology spread skew. Options are: - 49885 Honor: nodes without taints, along with 49886 tainted nodes for which the incoming pod 49887 has a toleration, are included. - Ignore: 49888 node taints are ignored. All nodes are included. 49889 \n If this value is nil, the behavior is 49890 equivalent to the Ignore policy. This is 49891 a alpha-level feature enabled by the NodeInclusionPolicyInPodTopologySpread 49892 feature flag." 49893 type: string 49894 topologyKey: 49895 description: TopologyKey is the key of node 49896 labels. Nodes that have a label with this 49897 key and identical values are considered 49898 to be in the same topology. We consider 49899 each <key, value> as a "bucket", and try 49900 to put balanced number of pods into each 49901 bucket. We define a domain as a particular 49902 instance of a topology. Also, we define 49903 an eligible domain as a domain whose nodes 49904 meet the requirements of nodeAffinityPolicy 49905 and nodeTaintsPolicy. e.g. If TopologyKey 49906 is "kubernetes.io/hostname", each Node is 49907 a domain of that topology. And, if TopologyKey 49908 is "topology.kubernetes.io/zone", each zone 49909 is a domain of that topology. It's a required 49910 field. 49911 type: string 49912 whenUnsatisfiable: 49913 description: 'WhenUnsatisfiable indicates 49914 how to deal with a pod if it doesn''t satisfy 49915 the spread constraint. - DoNotSchedule (default) 49916 tells the scheduler not to schedule it. 49917 - ScheduleAnyway tells the scheduler to 49918 schedule the pod in any location, but 49919 giving higher precedence to topologies that 49920 would help reduce the skew. A constraint 49921 is considered "Unsatisfiable" for an incoming 49922 pod if and only if every possible node assignment 49923 for that pod would violate "MaxSkew" on 49924 some topology. For example, in a 3-zone 49925 cluster, MaxSkew is set to 1, and pods with 49926 the same labelSelector spread as 3/1/1: 49927 | zone1 | zone2 | zone3 | | P P P | P | P | 49928 If WhenUnsatisfiable is set to DoNotSchedule, 49929 incoming pod can only be scheduled to zone2(zone3) 49930 to become 3/2/1(3/1/2) as ActualSkew(2-1) 49931 on zone2(zone3) satisfies MaxSkew(1). In 49932 other words, the cluster can still be imbalanced, 49933 but scheduler won''t make it *more* imbalanced. 49934 It''s a required field.' 49935 type: string 49936 required: 49937 - maxSkew 49938 - topologyKey 49939 - whenUnsatisfiable 49940 type: object 49941 type: array 49942 x-kubernetes-list-type: atomic 49943 volumes: 49944 description: 'List of volumes that can be mounted 49945 by containers belonging to the pod. More info: 49946 https://kubernetes.io/docs/concepts/storage/volumes' 49947 items: 49948 description: Volume represents a named volume 49949 in a pod that may be accessed by any container 49950 in the pod. 49951 properties: 49952 awsElasticBlockStore: 49953 description: 'awsElasticBlockStore represents 49954 an AWS Disk resource that is attached to 49955 a kubelet''s host machine and then exposed 49956 to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore' 49957 properties: 49958 fsType: 49959 description: 'fsType is the filesystem 49960 type of the volume that you want to 49961 mount. Tip: Ensure that the filesystem 49962 type is supported by the host operating 49963 system. Examples: "ext4", "xfs", "ntfs". 49964 Implicitly inferred to be "ext4" if 49965 unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore 49966 TODO: how do we prevent errors in the 49967 filesystem from compromising the machine' 49968 type: string 49969 partition: 49970 description: 'partition is the partition 49971 in the volume that you want to mount. 49972 If omitted, the default is to mount 49973 by volume name. Examples: For volume 49974 /dev/sda1, you specify the partition 49975 as "1". Similarly, the volume partition 49976 for /dev/sda is "0" (or you can leave 49977 the property empty).' 49978 format: int32 49979 type: integer 49980 readOnly: 49981 description: 'readOnly value true will 49982 force the readOnly setting in VolumeMounts. 49983 More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore' 49984 type: boolean 49985 volumeID: 49986 description: 'volumeID is unique ID of 49987 the persistent disk resource in AWS 49988 (Amazon EBS volume). More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore' 49989 type: string 49990 required: 49991 - volumeID 49992 type: object 49993 azureDisk: 49994 description: azureDisk represents an Azure 49995 Data Disk mount on the host and bind mount 49996 to the pod. 49997 properties: 49998 cachingMode: 49999 description: 'cachingMode is the Host 50000 Caching mode: None, Read Only, Read 50001 Write.' 50002 type: string 50003 diskName: 50004 description: diskName is the Name of the 50005 data disk in the blob storage 50006 type: string 50007 diskURI: 50008 description: diskURI is the URI of data 50009 disk in the blob storage 50010 type: string 50011 fsType: 50012 description: fsType is Filesystem type 50013 to mount. Must be a filesystem type 50014 supported by the host operating system. 50015 Ex. "ext4", "xfs", "ntfs". Implicitly 50016 inferred to be "ext4" if unspecified. 50017 type: string 50018 kind: 50019 description: 'kind expected values are 50020 Shared: multiple blob disks per storage 50021 account Dedicated: single blob disk 50022 per storage account Managed: azure 50023 managed data disk (only in managed availability 50024 set). defaults to shared' 50025 type: string 50026 readOnly: 50027 description: readOnly Defaults to false 50028 (read/write). ReadOnly here will force 50029 the ReadOnly setting in VolumeMounts. 50030 type: boolean 50031 required: 50032 - diskName 50033 - diskURI 50034 type: object 50035 azureFile: 50036 description: azureFile represents an Azure 50037 File Service mount on the host and bind 50038 mount to the pod. 50039 properties: 50040 readOnly: 50041 description: readOnly defaults to false 50042 (read/write). ReadOnly here will force 50043 the ReadOnly setting in VolumeMounts. 50044 type: boolean 50045 secretName: 50046 description: secretName is the name of 50047 secret that contains Azure Storage Account 50048 Name and Key 50049 type: string 50050 shareName: 50051 description: shareName is the azure share 50052 Name 50053 type: string 50054 required: 50055 - secretName 50056 - shareName 50057 type: object 50058 cephfs: 50059 description: cephFS represents a Ceph FS mount 50060 on the host that shares a pod's lifetime 50061 properties: 50062 monitors: 50063 description: 'monitors is Required: Monitors 50064 is a collection of Ceph monitors More 50065 info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it' 50066 items: 50067 type: string 50068 type: array 50069 path: 50070 description: 'path is Optional: Used as 50071 the mounted root, rather than the full 50072 Ceph tree, default is /' 50073 type: string 50074 readOnly: 50075 description: 'readOnly is Optional: Defaults 50076 to false (read/write). ReadOnly here 50077 will force the ReadOnly setting in VolumeMounts. 50078 More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it' 50079 type: boolean 50080 secretFile: 50081 description: 'secretFile is Optional: 50082 SecretFile is the path to key ring for 50083 User, default is /etc/ceph/user.secret 50084 More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it' 50085 type: string 50086 secretRef: 50087 description: 'secretRef is Optional: SecretRef 50088 is reference to the authentication secret 50089 for User, default is empty. More info: 50090 https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it' 50091 properties: 50092 name: 50093 description: 'Name of the referent. 50094 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 50095 TODO: Add other useful fields. apiVersion, 50096 kind, uid?' 50097 type: string 50098 type: object 50099 user: 50100 description: 'user is optional: User is 50101 the rados user name, default is admin 50102 More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it' 50103 type: string 50104 required: 50105 - monitors 50106 type: object 50107 cinder: 50108 description: 'cinder represents a cinder volume 50109 attached and mounted on kubelets host machine. 50110 More info: https://examples.k8s.io/mysql-cinder-pd/README.md' 50111 properties: 50112 fsType: 50113 description: 'fsType is the filesystem 50114 type to mount. Must be a filesystem 50115 type supported by the host operating 50116 system. Examples: "ext4", "xfs", "ntfs". 50117 Implicitly inferred to be "ext4" if 50118 unspecified. More info: https://examples.k8s.io/mysql-cinder-pd/README.md' 50119 type: string 50120 readOnly: 50121 description: 'readOnly defaults to false 50122 (read/write). ReadOnly here will force 50123 the ReadOnly setting in VolumeMounts. 50124 More info: https://examples.k8s.io/mysql-cinder-pd/README.md' 50125 type: boolean 50126 secretRef: 50127 description: 'secretRef is optional: points 50128 to a secret object containing parameters 50129 used to connect to OpenStack.' 50130 properties: 50131 name: 50132 description: 'Name of the referent. 50133 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 50134 TODO: Add other useful fields. apiVersion, 50135 kind, uid?' 50136 type: string 50137 type: object 50138 volumeID: 50139 description: 'volumeID used to identify 50140 the volume in cinder. More info: https://examples.k8s.io/mysql-cinder-pd/README.md' 50141 type: string 50142 required: 50143 - volumeID 50144 type: object 50145 configMap: 50146 description: configMap represents a configMap 50147 that should populate this volume 50148 properties: 50149 defaultMode: 50150 description: 'defaultMode is optional: 50151 mode bits used to set permissions on 50152 created files by default. Must be an 50153 octal value between 0000 and 0777 or 50154 a decimal value between 0 and 511. YAML 50155 accepts both octal and decimal values, 50156 JSON requires decimal values for mode 50157 bits. Defaults to 0644. Directories 50158 within the path are not affected by 50159 this setting. This might be in conflict 50160 with other options that affect the file 50161 mode, like fsGroup, and the result can 50162 be other mode bits set.' 50163 format: int32 50164 type: integer 50165 items: 50166 description: items if unspecified, each 50167 key-value pair in the Data field of 50168 the referenced ConfigMap will be projected 50169 into the volume as a file whose name 50170 is the key and content is the value. 50171 If specified, the listed keys will be 50172 projected into the specified paths, 50173 and unlisted keys will not be present. 50174 If a key is specified which is not present 50175 in the ConfigMap, the volume setup will 50176 error unless it is marked optional. 50177 Paths must be relative and may not contain 50178 the '..' path or start with '..'. 50179 items: 50180 description: Maps a string key to a 50181 path within a volume. 50182 properties: 50183 key: 50184 description: key is the key to project. 50185 type: string 50186 mode: 50187 description: 'mode is Optional: 50188 mode bits used to set permissions 50189 on this file. Must be an octal 50190 value between 0000 and 0777 or 50191 a decimal value between 0 and 50192 511. YAML accepts both octal and 50193 decimal values, JSON requires 50194 decimal values for mode bits. 50195 If not specified, the volume defaultMode 50196 will be used. This might be in 50197 conflict with other options that 50198 affect the file mode, like fsGroup, 50199 and the result can be other mode 50200 bits set.' 50201 format: int32 50202 type: integer 50203 path: 50204 description: path is the relative 50205 path of the file to map the key 50206 to. May not be an absolute path. 50207 May not contain the path element 50208 '..'. May not start with the string 50209 '..'. 50210 type: string 50211 required: 50212 - key 50213 - path 50214 type: object 50215 type: array 50216 name: 50217 description: 'Name of the referent. More 50218 info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 50219 TODO: Add other useful fields. apiVersion, 50220 kind, uid?' 50221 type: string 50222 optional: 50223 description: optional specify whether 50224 the ConfigMap or its keys must be defined 50225 type: boolean 50226 type: object 50227 csi: 50228 description: csi (Container Storage Interface) 50229 represents ephemeral storage that is handled 50230 by certain external CSI drivers (Beta feature). 50231 properties: 50232 driver: 50233 description: driver is the name of the 50234 CSI driver that handles this volume. 50235 Consult with your admin for the correct 50236 name as registered in the cluster. 50237 type: string 50238 fsType: 50239 description: fsType to mount. Ex. "ext4", 50240 "xfs", "ntfs". If not provided, the 50241 empty value is passed to the associated 50242 CSI driver which will determine the 50243 default filesystem to apply. 50244 type: string 50245 nodePublishSecretRef: 50246 description: nodePublishSecretRef is a 50247 reference to the secret object containing 50248 sensitive information to pass to the 50249 CSI driver to complete the CSI NodePublishVolume 50250 and NodeUnpublishVolume calls. This 50251 field is optional, and may be empty 50252 if no secret is required. If the secret 50253 object contains more than one secret, 50254 all secret references are passed. 50255 properties: 50256 name: 50257 description: 'Name of the referent. 50258 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 50259 TODO: Add other useful fields. apiVersion, 50260 kind, uid?' 50261 type: string 50262 type: object 50263 readOnly: 50264 description: readOnly specifies a read-only 50265 configuration for the volume. Defaults 50266 to false (read/write). 50267 type: boolean 50268 volumeAttributes: 50269 additionalProperties: 50270 type: string 50271 description: volumeAttributes stores driver-specific 50272 properties that are passed to the CSI 50273 driver. Consult your driver's documentation 50274 for supported values. 50275 type: object 50276 required: 50277 - driver 50278 type: object 50279 downwardAPI: 50280 description: downwardAPI represents downward 50281 API about the pod that should populate this 50282 volume 50283 properties: 50284 defaultMode: 50285 description: 'Optional: mode bits to use 50286 on created files by default. Must be 50287 a Optional: mode bits used to set permissions 50288 on created files by default. Must be 50289 an octal value between 0000 and 0777 50290 or a decimal value between 0 and 511. 50291 YAML accepts both octal and decimal 50292 values, JSON requires decimal values 50293 for mode bits. Defaults to 0644. Directories 50294 within the path are not affected by 50295 this setting. This might be in conflict 50296 with other options that affect the file 50297 mode, like fsGroup, and the result can 50298 be other mode bits set.' 50299 format: int32 50300 type: integer 50301 items: 50302 description: Items is a list of downward 50303 API volume file 50304 items: 50305 description: DownwardAPIVolumeFile represents 50306 information to create the file containing 50307 the pod field 50308 properties: 50309 fieldRef: 50310 description: 'Required: Selects 50311 a field of the pod: only annotations, 50312 labels, name and namespace are 50313 supported.' 50314 properties: 50315 apiVersion: 50316 description: Version of the 50317 schema the FieldPath is written 50318 in terms of, defaults to "v1". 50319 type: string 50320 fieldPath: 50321 description: Path of the field 50322 to select in the specified 50323 API version. 50324 type: string 50325 required: 50326 - fieldPath 50327 type: object 50328 mode: 50329 description: 'Optional: mode bits 50330 used to set permissions on this 50331 file, must be an octal value between 50332 0000 and 0777 or a decimal value 50333 between 0 and 511. YAML accepts 50334 both octal and decimal values, 50335 JSON requires decimal values for 50336 mode bits. If not specified, the 50337 volume defaultMode will be used. 50338 This might be in conflict with 50339 other options that affect the 50340 file mode, like fsGroup, and the 50341 result can be other mode bits 50342 set.' 50343 format: int32 50344 type: integer 50345 path: 50346 description: 'Required: Path is the 50347 relative path name of the file 50348 to be created. Must not be absolute 50349 or contain the ''..'' path. Must 50350 be utf-8 encoded. The first item 50351 of the relative path must not 50352 start with ''..''' 50353 type: string 50354 resourceFieldRef: 50355 description: 'Selects a resource 50356 of the container: only resources 50357 limits and requests (limits.cpu, 50358 limits.memory, requests.cpu and 50359 requests.memory) are currently 50360 supported.' 50361 properties: 50362 containerName: 50363 description: 'Container name: 50364 required for volumes, optional 50365 for env vars' 50366 type: string 50367 divisor: 50368 anyOf: 50369 - type: integer 50370 - type: string 50371 description: Specifies the output 50372 format of the exposed resources, 50373 defaults to "1" 50374 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 50375 x-kubernetes-int-or-string: true 50376 resource: 50377 description: 'Required: resource 50378 to select' 50379 type: string 50380 required: 50381 - resource 50382 type: object 50383 required: 50384 - path 50385 type: object 50386 type: array 50387 type: object 50388 emptyDir: 50389 description: 'emptyDir represents a temporary 50390 directory that shares a pod''s lifetime. 50391 More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir' 50392 properties: 50393 medium: 50394 description: 'medium represents what type 50395 of storage medium should back this directory. 50396 The default is "" which means to use 50397 the node''s default medium. Must be 50398 an empty string (default) or Memory. 50399 More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir' 50400 type: string 50401 sizeLimit: 50402 anyOf: 50403 - type: integer 50404 - type: string 50405 description: 'sizeLimit is the total amount 50406 of local storage required for this EmptyDir 50407 volume. The size limit is also applicable 50408 for memory medium. The maximum usage 50409 on memory medium EmptyDir would be the 50410 minimum value between the SizeLimit 50411 specified here and the sum of memory 50412 limits of all containers in a pod. The 50413 default is nil which means that the 50414 limit is undefined. More info: http://kubernetes.io/docs/user-guide/volumes#emptydir' 50415 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 50416 x-kubernetes-int-or-string: true 50417 type: object 50418 ephemeral: 50419 description: "ephemeral represents a volume 50420 that is handled by a cluster storage driver. 50421 The volume's lifecycle is tied to the pod 50422 that defines it - it will be created before 50423 the pod starts, and deleted when the pod 50424 is removed. \n Use this if: a) the volume 50425 is only needed while the pod runs, b) features 50426 of normal volumes like restoring from snapshot 50427 or capacity tracking are needed, c) the 50428 storage driver is specified through a storage 50429 class, and d) the storage driver supports 50430 dynamic volume provisioning through a 50431 PersistentVolumeClaim (see EphemeralVolumeSource 50432 for more information on the connection 50433 between this volume type and PersistentVolumeClaim). 50434 \n Use PersistentVolumeClaim or one of the 50435 vendor-specific APIs for volumes that persist 50436 for longer than the lifecycle of an individual 50437 pod. \n Use CSI for light-weight local ephemeral 50438 volumes if the CSI driver is meant to be 50439 used that way - see the documentation of 50440 the driver for more information. \n A pod 50441 can use both types of ephemeral volumes 50442 and persistent volumes at the same time." 50443 properties: 50444 volumeClaimTemplate: 50445 description: "Will be used to create a 50446 stand-alone PVC to provision the volume. 50447 The pod in which this EphemeralVolumeSource 50448 is embedded will be the owner of the 50449 PVC, i.e. the PVC will be deleted together 50450 with the pod. The name of the PVC will 50451 be `<pod name>-<volume name>` where 50452 `<volume name>` is the name from the 50453 `PodSpec.Volumes` array entry. Pod validation 50454 will reject the pod if the concatenated 50455 name is not valid for a PVC (for example, 50456 too long). \n An existing PVC with that 50457 name that is not owned by the pod will 50458 *not* be used for the pod to avoid using 50459 an unrelated volume by mistake. Starting 50460 the pod is then blocked until the unrelated 50461 PVC is removed. If such a pre-created 50462 PVC is meant to be used by the pod, 50463 the PVC has to updated with an owner 50464 reference to the pod once the pod exists. 50465 Normally this should not be necessary, 50466 but it may be useful when manually reconstructing 50467 a broken cluster. \n This field is read-only 50468 and no changes will be made by Kubernetes 50469 to the PVC after it has been created. 50470 \n Required, must not be nil." 50471 properties: 50472 metadata: 50473 description: May contain labels and 50474 annotations that will be copied 50475 into the PVC when creating it. No 50476 other fields are allowed and will 50477 be rejected during validation. 50478 type: object 50479 spec: 50480 description: The specification for 50481 the PersistentVolumeClaim. The entire 50482 content is copied unchanged into 50483 the PVC that gets created from this 50484 template. The same fields as in 50485 a PersistentVolumeClaim are also 50486 valid here. 50487 properties: 50488 accessModes: 50489 description: 'accessModes contains 50490 the desired access modes the 50491 volume should have. More info: 50492 https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1' 50493 items: 50494 type: string 50495 type: array 50496 dataSource: 50497 description: 'dataSource field 50498 can be used to specify either: 50499 * An existing VolumeSnapshot 50500 object (snapshot.storage.k8s.io/VolumeSnapshot) 50501 * An existing PVC (PersistentVolumeClaim) 50502 If the provisioner or an external 50503 controller can support the specified 50504 data source, it will create 50505 a new volume based on the contents 50506 of the specified data source. 50507 If the AnyVolumeDataSource feature 50508 gate is enabled, this field 50509 will always have the same contents 50510 as the DataSourceRef field.' 50511 properties: 50512 apiGroup: 50513 description: APIGroup is the 50514 group for the resource being 50515 referenced. If APIGroup 50516 is not specified, the specified 50517 Kind must be in the core 50518 API group. For any other 50519 third-party types, APIGroup 50520 is required. 50521 type: string 50522 kind: 50523 description: Kind is the type 50524 of resource being referenced 50525 type: string 50526 name: 50527 description: Name is the name 50528 of resource being referenced 50529 type: string 50530 required: 50531 - kind 50532 - name 50533 type: object 50534 dataSourceRef: 50535 description: 'dataSourceRef specifies 50536 the object from which to populate 50537 the volume with data, if a non-empty 50538 volume is desired. This may 50539 be any local object from a non-empty 50540 API group (non core object) 50541 or a PersistentVolumeClaim object. 50542 When this field is specified, 50543 volume binding will only succeed 50544 if the type of the specified 50545 object matches some installed 50546 volume populator or dynamic 50547 provisioner. This field will 50548 replace the functionality of 50549 the DataSource field and as 50550 such if both fields are non-empty, 50551 they must have the same value. 50552 For backwards compatibility, 50553 both fields (DataSource and 50554 DataSourceRef) will be set to 50555 the same value automatically 50556 if one of them is empty and 50557 the other is non-empty. There 50558 are two important differences 50559 between DataSource and DataSourceRef: 50560 * While DataSource only allows 50561 two specific types of objects, 50562 DataSourceRef allows any non-core 50563 object, as well as PersistentVolumeClaim 50564 objects. * While DataSource 50565 ignores disallowed values (dropping 50566 them), DataSourceRef preserves 50567 all values, and generates an 50568 error if a disallowed value 50569 is specified. (Beta) Using 50570 this field requires the AnyVolumeDataSource 50571 feature gate to be enabled.' 50572 properties: 50573 apiGroup: 50574 description: APIGroup is the 50575 group for the resource being 50576 referenced. If APIGroup 50577 is not specified, the specified 50578 Kind must be in the core 50579 API group. For any other 50580 third-party types, APIGroup 50581 is required. 50582 type: string 50583 kind: 50584 description: Kind is the type 50585 of resource being referenced 50586 type: string 50587 name: 50588 description: Name is the name 50589 of resource being referenced 50590 type: string 50591 required: 50592 - kind 50593 - name 50594 type: object 50595 resources: 50596 description: 'resources represents 50597 the minimum resources the volume 50598 should have. If RecoverVolumeExpansionFailure 50599 feature is enabled users are 50600 allowed to specify resource 50601 requirements that are lower 50602 than previous value but must 50603 still be higher than capacity 50604 recorded in the status field 50605 of the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources' 50606 properties: 50607 limits: 50608 additionalProperties: 50609 anyOf: 50610 - type: integer 50611 - type: string 50612 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 50613 x-kubernetes-int-or-string: true 50614 description: 'Limits describes 50615 the maximum amount of compute 50616 resources allowed. More 50617 info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' 50618 type: object 50619 requests: 50620 additionalProperties: 50621 anyOf: 50622 - type: integer 50623 - type: string 50624 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 50625 x-kubernetes-int-or-string: true 50626 description: 'Requests describes 50627 the minimum amount of compute 50628 resources required. If Requests 50629 is omitted for a container, 50630 it defaults to Limits if 50631 that is explicitly specified, 50632 otherwise to an implementation-defined 50633 value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' 50634 type: object 50635 type: object 50636 selector: 50637 description: selector is a label 50638 query over volumes to consider 50639 for binding. 50640 properties: 50641 matchExpressions: 50642 description: matchExpressions 50643 is a list of label selector 50644 requirements. The requirements 50645 are ANDed. 50646 items: 50647 description: A label selector 50648 requirement is a selector 50649 that contains values, 50650 a key, and an operator 50651 that relates the key and 50652 values. 50653 properties: 50654 key: 50655 description: key is 50656 the label key that 50657 the selector applies 50658 to. 50659 type: string 50660 operator: 50661 description: operator 50662 represents a key's 50663 relationship to a 50664 set of values. Valid 50665 operators are In, 50666 NotIn, Exists and 50667 DoesNotExist. 50668 type: string 50669 values: 50670 description: values 50671 is an array of string 50672 values. If the operator 50673 is In or NotIn, the 50674 values array must 50675 be non-empty. If the 50676 operator is Exists 50677 or DoesNotExist, the 50678 values array must 50679 be empty. This array 50680 is replaced during 50681 a strategic merge 50682 patch. 50683 items: 50684 type: string 50685 type: array 50686 required: 50687 - key 50688 - operator 50689 type: object 50690 type: array 50691 matchLabels: 50692 additionalProperties: 50693 type: string 50694 description: matchLabels is 50695 a map of {key,value} pairs. 50696 A single {key,value} in 50697 the matchLabels map is equivalent 50698 to an element of matchExpressions, 50699 whose key field is "key", 50700 the operator is "In", and 50701 the values array contains 50702 only "value". The requirements 50703 are ANDed. 50704 type: object 50705 type: object 50706 storageClassName: 50707 description: 'storageClassName 50708 is the name of the StorageClass 50709 required by the claim. More 50710 info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1' 50711 type: string 50712 volumeMode: 50713 description: volumeMode defines 50714 what type of volume is required 50715 by the claim. Value of Filesystem 50716 is implied when not included 50717 in claim spec. 50718 type: string 50719 volumeName: 50720 description: volumeName is the 50721 binding reference to the PersistentVolume 50722 backing this claim. 50723 type: string 50724 type: object 50725 required: 50726 - spec 50727 type: object 50728 type: object 50729 fc: 50730 description: fc represents a Fibre Channel 50731 resource that is attached to a kubelet's 50732 host machine and then exposed to the pod. 50733 properties: 50734 fsType: 50735 description: 'fsType is the filesystem 50736 type to mount. Must be a filesystem 50737 type supported by the host operating 50738 system. Ex. "ext4", "xfs", "ntfs". Implicitly 50739 inferred to be "ext4" if unspecified. 50740 TODO: how do we prevent errors in the 50741 filesystem from compromising the machine' 50742 type: string 50743 lun: 50744 description: 'lun is Optional: FC target 50745 lun number' 50746 format: int32 50747 type: integer 50748 readOnly: 50749 description: 'readOnly is Optional: Defaults 50750 to false (read/write). ReadOnly here 50751 will force the ReadOnly setting in VolumeMounts.' 50752 type: boolean 50753 targetWWNs: 50754 description: 'targetWWNs is Optional: 50755 FC target worldwide names (WWNs)' 50756 items: 50757 type: string 50758 type: array 50759 wwids: 50760 description: 'wwids Optional: FC volume 50761 world wide identifiers (wwids) Either 50762 wwids or combination of targetWWNs and 50763 lun must be set, but not both simultaneously.' 50764 items: 50765 type: string 50766 type: array 50767 type: object 50768 flexVolume: 50769 description: flexVolume represents a generic 50770 volume resource that is provisioned/attached 50771 using an exec based plugin. 50772 properties: 50773 driver: 50774 description: driver is the name of the 50775 driver to use for this volume. 50776 type: string 50777 fsType: 50778 description: fsType is the filesystem 50779 type to mount. Must be a filesystem 50780 type supported by the host operating 50781 system. Ex. "ext4", "xfs", "ntfs". The 50782 default filesystem depends on FlexVolume 50783 script. 50784 type: string 50785 options: 50786 additionalProperties: 50787 type: string 50788 description: 'options is Optional: this 50789 field holds extra command options if 50790 any.' 50791 type: object 50792 readOnly: 50793 description: 'readOnly is Optional: defaults 50794 to false (read/write). ReadOnly here 50795 will force the ReadOnly setting in VolumeMounts.' 50796 type: boolean 50797 secretRef: 50798 description: 'secretRef is Optional: secretRef 50799 is reference to the secret object containing 50800 sensitive information to pass to the 50801 plugin scripts. This may be empty if 50802 no secret object is specified. If the 50803 secret object contains more than one 50804 secret, all secrets are passed to the 50805 plugin scripts.' 50806 properties: 50807 name: 50808 description: 'Name of the referent. 50809 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 50810 TODO: Add other useful fields. apiVersion, 50811 kind, uid?' 50812 type: string 50813 type: object 50814 required: 50815 - driver 50816 type: object 50817 flocker: 50818 description: flocker represents a Flocker 50819 volume attached to a kubelet's host machine. 50820 This depends on the Flocker control service 50821 being running 50822 properties: 50823 datasetName: 50824 description: datasetName is Name of the 50825 dataset stored as metadata -> name on 50826 the dataset for Flocker should be considered 50827 as deprecated 50828 type: string 50829 datasetUUID: 50830 description: datasetUUID is the UUID of 50831 the dataset. This is unique identifier 50832 of a Flocker dataset 50833 type: string 50834 type: object 50835 gcePersistentDisk: 50836 description: 'gcePersistentDisk represents 50837 a GCE Disk resource that is attached to 50838 a kubelet''s host machine and then exposed 50839 to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk' 50840 properties: 50841 fsType: 50842 description: 'fsType is filesystem type 50843 of the volume that you want to mount. 50844 Tip: Ensure that the filesystem type 50845 is supported by the host operating system. 50846 Examples: "ext4", "xfs", "ntfs". Implicitly 50847 inferred to be "ext4" if unspecified. 50848 More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk 50849 TODO: how do we prevent errors in the 50850 filesystem from compromising the machine' 50851 type: string 50852 partition: 50853 description: 'partition is the partition 50854 in the volume that you want to mount. 50855 If omitted, the default is to mount 50856 by volume name. Examples: For volume 50857 /dev/sda1, you specify the partition 50858 as "1". Similarly, the volume partition 50859 for /dev/sda is "0" (or you can leave 50860 the property empty). More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk' 50861 format: int32 50862 type: integer 50863 pdName: 50864 description: 'pdName is unique name of 50865 the PD resource in GCE. Used to identify 50866 the disk in GCE. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk' 50867 type: string 50868 readOnly: 50869 description: 'readOnly here will force 50870 the ReadOnly setting in VolumeMounts. 50871 Defaults to false. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk' 50872 type: boolean 50873 required: 50874 - pdName 50875 type: object 50876 gitRepo: 50877 description: 'gitRepo represents a git repository 50878 at a particular revision. DEPRECATED: GitRepo 50879 is deprecated. To provision a container 50880 with a git repo, mount an EmptyDir into 50881 an InitContainer that clones the repo using 50882 git, then mount the EmptyDir into the Pod''s 50883 container.' 50884 properties: 50885 directory: 50886 description: directory is the target directory 50887 name. Must not contain or start with 50888 '..'. If '.' is supplied, the volume 50889 directory will be the git repository. Otherwise, 50890 if specified, the volume will contain 50891 the git repository in the subdirectory 50892 with the given name. 50893 type: string 50894 repository: 50895 description: repository is the URL 50896 type: string 50897 revision: 50898 description: revision is the commit hash 50899 for the specified revision. 50900 type: string 50901 required: 50902 - repository 50903 type: object 50904 glusterfs: 50905 description: 'glusterfs represents a Glusterfs 50906 mount on the host that shares a pod''s lifetime. 50907 More info: https://examples.k8s.io/volumes/glusterfs/README.md' 50908 properties: 50909 endpoints: 50910 description: 'endpoints is the endpoint 50911 name that details Glusterfs topology. 50912 More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod' 50913 type: string 50914 path: 50915 description: 'path is the Glusterfs volume 50916 path. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod' 50917 type: string 50918 readOnly: 50919 description: 'readOnly here will force 50920 the Glusterfs volume to be mounted with 50921 read-only permissions. Defaults to false. 50922 More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod' 50923 type: boolean 50924 required: 50925 - endpoints 50926 - path 50927 type: object 50928 hostPath: 50929 description: 'hostPath represents a pre-existing 50930 file or directory on the host machine that 50931 is directly exposed to the container. This 50932 is generally used for system agents or other 50933 privileged things that are allowed to see 50934 the host machine. Most containers will NOT 50935 need this. More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath 50936 --- TODO(jonesdl) We need to restrict who 50937 can use host directory mounts and who can/can 50938 not mount host directories as read/write.' 50939 properties: 50940 path: 50941 description: 'path of the directory on 50942 the host. If the path is a symlink, 50943 it will follow the link to the real 50944 path. More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath' 50945 type: string 50946 type: 50947 description: 'type for HostPath Volume 50948 Defaults to "" More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath' 50949 type: string 50950 required: 50951 - path 50952 type: object 50953 iscsi: 50954 description: 'iscsi represents an ISCSI Disk 50955 resource that is attached to a kubelet''s 50956 host machine and then exposed to the pod. 50957 More info: https://examples.k8s.io/volumes/iscsi/README.md' 50958 properties: 50959 chapAuthDiscovery: 50960 description: chapAuthDiscovery defines 50961 whether support iSCSI Discovery CHAP 50962 authentication 50963 type: boolean 50964 chapAuthSession: 50965 description: chapAuthSession defines whether 50966 support iSCSI Session CHAP authentication 50967 type: boolean 50968 fsType: 50969 description: 'fsType is the filesystem 50970 type of the volume that you want to 50971 mount. Tip: Ensure that the filesystem 50972 type is supported by the host operating 50973 system. Examples: "ext4", "xfs", "ntfs". 50974 Implicitly inferred to be "ext4" if 50975 unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#iscsi 50976 TODO: how do we prevent errors in the 50977 filesystem from compromising the machine' 50978 type: string 50979 initiatorName: 50980 description: initiatorName is the custom 50981 iSCSI Initiator Name. If initiatorName 50982 is specified with iscsiInterface simultaneously, 50983 new iSCSI interface <target portal>:<volume 50984 name> will be created for the connection. 50985 type: string 50986 iqn: 50987 description: iqn is the target iSCSI Qualified 50988 Name. 50989 type: string 50990 iscsiInterface: 50991 description: iscsiInterface is the interface 50992 Name that uses an iSCSI transport. Defaults 50993 to 'default' (tcp). 50994 type: string 50995 lun: 50996 description: lun represents iSCSI Target 50997 Lun number. 50998 format: int32 50999 type: integer 51000 portals: 51001 description: portals is the iSCSI Target 51002 Portal List. The portal is either an 51003 IP or ip_addr:port if the port is other 51004 than default (typically TCP ports 860 51005 and 3260). 51006 items: 51007 type: string 51008 type: array 51009 readOnly: 51010 description: readOnly here will force 51011 the ReadOnly setting in VolumeMounts. 51012 Defaults to false. 51013 type: boolean 51014 secretRef: 51015 description: secretRef is the CHAP Secret 51016 for iSCSI target and initiator authentication 51017 properties: 51018 name: 51019 description: 'Name of the referent. 51020 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 51021 TODO: Add other useful fields. apiVersion, 51022 kind, uid?' 51023 type: string 51024 type: object 51025 targetPortal: 51026 description: targetPortal is iSCSI Target 51027 Portal. The Portal is either an IP or 51028 ip_addr:port if the port is other than 51029 default (typically TCP ports 860 and 51030 3260). 51031 type: string 51032 required: 51033 - iqn 51034 - lun 51035 - targetPortal 51036 type: object 51037 name: 51038 description: 'name of the volume. Must be 51039 a DNS_LABEL and unique within the pod. More 51040 info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' 51041 type: string 51042 nfs: 51043 description: 'nfs represents an NFS mount 51044 on the host that shares a pod''s lifetime 51045 More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs' 51046 properties: 51047 path: 51048 description: 'path that is exported by 51049 the NFS server. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs' 51050 type: string 51051 readOnly: 51052 description: 'readOnly here will force 51053 the NFS export to be mounted with read-only 51054 permissions. Defaults to false. More 51055 info: https://kubernetes.io/docs/concepts/storage/volumes#nfs' 51056 type: boolean 51057 server: 51058 description: 'server is the hostname or 51059 IP address of the NFS server. More info: 51060 https://kubernetes.io/docs/concepts/storage/volumes#nfs' 51061 type: string 51062 required: 51063 - path 51064 - server 51065 type: object 51066 persistentVolumeClaim: 51067 description: 'persistentVolumeClaimVolumeSource 51068 represents a reference to a PersistentVolumeClaim 51069 in the same namespace. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims' 51070 properties: 51071 claimName: 51072 description: 'claimName is the name of 51073 a PersistentVolumeClaim in the same 51074 namespace as the pod using this volume. 51075 More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims' 51076 type: string 51077 readOnly: 51078 description: readOnly Will force the ReadOnly 51079 setting in VolumeMounts. Default false. 51080 type: boolean 51081 required: 51082 - claimName 51083 type: object 51084 photonPersistentDisk: 51085 description: photonPersistentDisk represents 51086 a PhotonController persistent disk attached 51087 and mounted on kubelets host machine 51088 properties: 51089 fsType: 51090 description: fsType is the filesystem 51091 type to mount. Must be a filesystem 51092 type supported by the host operating 51093 system. Ex. "ext4", "xfs", "ntfs". Implicitly 51094 inferred to be "ext4" if unspecified. 51095 type: string 51096 pdID: 51097 description: pdID is the ID that identifies 51098 Photon Controller persistent disk 51099 type: string 51100 required: 51101 - pdID 51102 type: object 51103 portworxVolume: 51104 description: portworxVolume represents a portworx 51105 volume attached and mounted on kubelets 51106 host machine 51107 properties: 51108 fsType: 51109 description: fSType represents the filesystem 51110 type to mount Must be a filesystem type 51111 supported by the host operating system. 51112 Ex. "ext4", "xfs". Implicitly inferred 51113 to be "ext4" if unspecified. 51114 type: string 51115 readOnly: 51116 description: readOnly defaults to false 51117 (read/write). ReadOnly here will force 51118 the ReadOnly setting in VolumeMounts. 51119 type: boolean 51120 volumeID: 51121 description: volumeID uniquely identifies 51122 a Portworx volume 51123 type: string 51124 required: 51125 - volumeID 51126 type: object 51127 projected: 51128 description: projected items for all in one 51129 resources secrets, configmaps, and downward 51130 API 51131 properties: 51132 defaultMode: 51133 description: defaultMode are the mode 51134 bits used to set permissions on created 51135 files by default. Must be an octal value 51136 between 0000 and 0777 or a decimal value 51137 between 0 and 511. YAML accepts both 51138 octal and decimal values, JSON requires 51139 decimal values for mode bits. Directories 51140 within the path are not affected by 51141 this setting. This might be in conflict 51142 with other options that affect the file 51143 mode, like fsGroup, and the result can 51144 be other mode bits set. 51145 format: int32 51146 type: integer 51147 sources: 51148 description: sources is the list of volume 51149 projections 51150 items: 51151 description: Projection that may be 51152 projected along with other supported 51153 volume types 51154 properties: 51155 configMap: 51156 description: configMap information 51157 about the configMap data to project 51158 properties: 51159 items: 51160 description: items if unspecified, 51161 each key-value pair in the 51162 Data field of the referenced 51163 ConfigMap will be projected 51164 into the volume as a file 51165 whose name is the key and 51166 content is the value. If specified, 51167 the listed keys will be projected 51168 into the specified paths, 51169 and unlisted keys will not 51170 be present. If a key is specified 51171 which is not present in the 51172 ConfigMap, the volume setup 51173 will error unless it is marked 51174 optional. Paths must be relative 51175 and may not contain the '..' 51176 path or start with '..'. 51177 items: 51178 description: Maps a string 51179 key to a path within a volume. 51180 properties: 51181 key: 51182 description: key is the 51183 key to project. 51184 type: string 51185 mode: 51186 description: 'mode is 51187 Optional: mode bits 51188 used to set permissions 51189 on this file. Must be 51190 an octal value between 51191 0000 and 0777 or a decimal 51192 value between 0 and 51193 511. YAML accepts both 51194 octal and decimal values, 51195 JSON requires decimal 51196 values for mode bits. 51197 If not specified, the 51198 volume defaultMode will 51199 be used. This might 51200 be in conflict with 51201 other options that affect 51202 the file mode, like 51203 fsGroup, and the result 51204 can be other mode bits 51205 set.' 51206 format: int32 51207 type: integer 51208 path: 51209 description: path is the 51210 relative path of the 51211 file to map the key 51212 to. May not be an absolute 51213 path. May not contain 51214 the path element '..'. 51215 May not start with the 51216 string '..'. 51217 type: string 51218 required: 51219 - key 51220 - path 51221 type: object 51222 type: array 51223 name: 51224 description: 'Name of the referent. 51225 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 51226 TODO: Add other useful fields. 51227 apiVersion, kind, uid?' 51228 type: string 51229 optional: 51230 description: optional specify 51231 whether the ConfigMap or its 51232 keys must be defined 51233 type: boolean 51234 type: object 51235 downwardAPI: 51236 description: downwardAPI information 51237 about the downwardAPI data to 51238 project 51239 properties: 51240 items: 51241 description: Items is a list 51242 of DownwardAPIVolume file 51243 items: 51244 description: DownwardAPIVolumeFile 51245 represents information to 51246 create the file containing 51247 the pod field 51248 properties: 51249 fieldRef: 51250 description: 'Required: 51251 Selects a field of the 51252 pod: only annotations, 51253 labels, name and namespace 51254 are supported.' 51255 properties: 51256 apiVersion: 51257 description: Version 51258 of the schema the 51259 FieldPath is written 51260 in terms of, defaults 51261 to "v1". 51262 type: string 51263 fieldPath: 51264 description: Path 51265 of the field to 51266 select in the specified 51267 API version. 51268 type: string 51269 required: 51270 - fieldPath 51271 type: object 51272 mode: 51273 description: 'Optional: 51274 mode bits used to set 51275 permissions on this 51276 file, must be an octal 51277 value between 0000 and 51278 0777 or a decimal value 51279 between 0 and 511. YAML 51280 accepts both octal and 51281 decimal values, JSON 51282 requires decimal values 51283 for mode bits. If not 51284 specified, the volume 51285 defaultMode will be 51286 used. This might be 51287 in conflict with other 51288 options that affect 51289 the file mode, like 51290 fsGroup, and the result 51291 can be other mode bits 51292 set.' 51293 format: int32 51294 type: integer 51295 path: 51296 description: 'Required: 51297 Path is the relative 51298 path name of the file 51299 to be created. Must 51300 not be absolute or contain 51301 the ''..'' path. Must 51302 be utf-8 encoded. The 51303 first item of the relative 51304 path must not start 51305 with ''..''' 51306 type: string 51307 resourceFieldRef: 51308 description: 'Selects 51309 a resource of the container: 51310 only resources limits 51311 and requests (limits.cpu, 51312 limits.memory, requests.cpu 51313 and requests.memory) 51314 are currently supported.' 51315 properties: 51316 containerName: 51317 description: 'Container 51318 name: required for 51319 volumes, optional 51320 for env vars' 51321 type: string 51322 divisor: 51323 anyOf: 51324 - type: integer 51325 - type: string 51326 description: Specifies 51327 the output format 51328 of the exposed resources, 51329 defaults to "1" 51330 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 51331 x-kubernetes-int-or-string: true 51332 resource: 51333 description: 'Required: 51334 resource to select' 51335 type: string 51336 required: 51337 - resource 51338 type: object 51339 required: 51340 - path 51341 type: object 51342 type: array 51343 type: object 51344 secret: 51345 description: secret information 51346 about the secret data to project 51347 properties: 51348 items: 51349 description: items if unspecified, 51350 each key-value pair in the 51351 Data field of the referenced 51352 Secret will be projected into 51353 the volume as a file whose 51354 name is the key and content 51355 is the value. If specified, 51356 the listed keys will be projected 51357 into the specified paths, 51358 and unlisted keys will not 51359 be present. If a key is specified 51360 which is not present in the 51361 Secret, the volume setup will 51362 error unless it is marked 51363 optional. Paths must be relative 51364 and may not contain the '..' 51365 path or start with '..'. 51366 items: 51367 description: Maps a string 51368 key to a path within a volume. 51369 properties: 51370 key: 51371 description: key is the 51372 key to project. 51373 type: string 51374 mode: 51375 description: 'mode is 51376 Optional: mode bits 51377 used to set permissions 51378 on this file. Must be 51379 an octal value between 51380 0000 and 0777 or a decimal 51381 value between 0 and 51382 511. YAML accepts both 51383 octal and decimal values, 51384 JSON requires decimal 51385 values for mode bits. 51386 If not specified, the 51387 volume defaultMode will 51388 be used. This might 51389 be in conflict with 51390 other options that affect 51391 the file mode, like 51392 fsGroup, and the result 51393 can be other mode bits 51394 set.' 51395 format: int32 51396 type: integer 51397 path: 51398 description: path is the 51399 relative path of the 51400 file to map the key 51401 to. May not be an absolute 51402 path. May not contain 51403 the path element '..'. 51404 May not start with the 51405 string '..'. 51406 type: string 51407 required: 51408 - key 51409 - path 51410 type: object 51411 type: array 51412 name: 51413 description: 'Name of the referent. 51414 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 51415 TODO: Add other useful fields. 51416 apiVersion, kind, uid?' 51417 type: string 51418 optional: 51419 description: optional field 51420 specify whether the Secret 51421 or its key must be defined 51422 type: boolean 51423 type: object 51424 serviceAccountToken: 51425 description: serviceAccountToken 51426 is information about the serviceAccountToken 51427 data to project 51428 properties: 51429 audience: 51430 description: audience is the 51431 intended audience of the token. 51432 A recipient of a token must 51433 identify itself with an identifier 51434 specified in the audience 51435 of the token, and otherwise 51436 should reject the token. The 51437 audience defaults to the identifier 51438 of the apiserver. 51439 type: string 51440 expirationSeconds: 51441 description: expirationSeconds 51442 is the requested duration 51443 of validity of the service 51444 account token. As the token 51445 approaches expiration, the 51446 kubelet volume plugin will 51447 proactively rotate the service 51448 account token. The kubelet 51449 will start trying to rotate 51450 the token if the token is 51451 older than 80 percent of its 51452 time to live or if the token 51453 is older than 24 hours.Defaults 51454 to 1 hour and must be at least 51455 10 minutes. 51456 format: int64 51457 type: integer 51458 path: 51459 description: path is the path 51460 relative to the mount point 51461 of the file to project the 51462 token into. 51463 type: string 51464 required: 51465 - path 51466 type: object 51467 type: object 51468 type: array 51469 type: object 51470 quobyte: 51471 description: quobyte represents a Quobyte 51472 mount on the host that shares a pod's lifetime 51473 properties: 51474 group: 51475 description: group to map volume access 51476 to Default is no group 51477 type: string 51478 readOnly: 51479 description: readOnly here will force 51480 the Quobyte volume to be mounted with 51481 read-only permissions. Defaults to false. 51482 type: boolean 51483 registry: 51484 description: registry represents a single 51485 or multiple Quobyte Registry services 51486 specified as a string as host:port pair 51487 (multiple entries are separated with 51488 commas) which acts as the central registry 51489 for volumes 51490 type: string 51491 tenant: 51492 description: tenant owning the given Quobyte 51493 volume in the Backend Used with dynamically 51494 provisioned Quobyte volumes, value is 51495 set by the plugin 51496 type: string 51497 user: 51498 description: user to map volume access 51499 to Defaults to serivceaccount user 51500 type: string 51501 volume: 51502 description: volume is a string that references 51503 an already created Quobyte volume by 51504 name. 51505 type: string 51506 required: 51507 - registry 51508 - volume 51509 type: object 51510 rbd: 51511 description: 'rbd represents a Rados Block 51512 Device mount on the host that shares a pod''s 51513 lifetime. More info: https://examples.k8s.io/volumes/rbd/README.md' 51514 properties: 51515 fsType: 51516 description: 'fsType is the filesystem 51517 type of the volume that you want to 51518 mount. Tip: Ensure that the filesystem 51519 type is supported by the host operating 51520 system. Examples: "ext4", "xfs", "ntfs". 51521 Implicitly inferred to be "ext4" if 51522 unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#rbd 51523 TODO: how do we prevent errors in the 51524 filesystem from compromising the machine' 51525 type: string 51526 image: 51527 description: 'image is the rados image 51528 name. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it' 51529 type: string 51530 keyring: 51531 description: 'keyring is the path to key 51532 ring for RBDUser. Default is /etc/ceph/keyring. 51533 More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it' 51534 type: string 51535 monitors: 51536 description: 'monitors is a collection 51537 of Ceph monitors. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it' 51538 items: 51539 type: string 51540 type: array 51541 pool: 51542 description: 'pool is the rados pool name. 51543 Default is rbd. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it' 51544 type: string 51545 readOnly: 51546 description: 'readOnly here will force 51547 the ReadOnly setting in VolumeMounts. 51548 Defaults to false. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it' 51549 type: boolean 51550 secretRef: 51551 description: 'secretRef is name of the 51552 authentication secret for RBDUser. If 51553 provided overrides keyring. Default 51554 is nil. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it' 51555 properties: 51556 name: 51557 description: 'Name of the referent. 51558 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 51559 TODO: Add other useful fields. apiVersion, 51560 kind, uid?' 51561 type: string 51562 type: object 51563 user: 51564 description: 'user is the rados user name. 51565 Default is admin. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it' 51566 type: string 51567 required: 51568 - image 51569 - monitors 51570 type: object 51571 scaleIO: 51572 description: scaleIO represents a ScaleIO 51573 persistent volume attached and mounted on 51574 Kubernetes nodes. 51575 properties: 51576 fsType: 51577 description: fsType is the filesystem 51578 type to mount. Must be a filesystem 51579 type supported by the host operating 51580 system. Ex. "ext4", "xfs", "ntfs". Default 51581 is "xfs". 51582 type: string 51583 gateway: 51584 description: gateway is the host address 51585 of the ScaleIO API Gateway. 51586 type: string 51587 protectionDomain: 51588 description: protectionDomain is the name 51589 of the ScaleIO Protection Domain for 51590 the configured storage. 51591 type: string 51592 readOnly: 51593 description: readOnly Defaults to false 51594 (read/write). ReadOnly here will force 51595 the ReadOnly setting in VolumeMounts. 51596 type: boolean 51597 secretRef: 51598 description: secretRef references to the 51599 secret for ScaleIO user and other sensitive 51600 information. If this is not provided, 51601 Login operation will fail. 51602 properties: 51603 name: 51604 description: 'Name of the referent. 51605 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 51606 TODO: Add other useful fields. apiVersion, 51607 kind, uid?' 51608 type: string 51609 type: object 51610 sslEnabled: 51611 description: sslEnabled Flag enable/disable 51612 SSL communication with Gateway, default 51613 false 51614 type: boolean 51615 storageMode: 51616 description: storageMode indicates whether 51617 the storage for a volume should be ThickProvisioned 51618 or ThinProvisioned. Default is ThinProvisioned. 51619 type: string 51620 storagePool: 51621 description: storagePool is the ScaleIO 51622 Storage Pool associated with the protection 51623 domain. 51624 type: string 51625 system: 51626 description: system is the name of the 51627 storage system as configured in ScaleIO. 51628 type: string 51629 volumeName: 51630 description: volumeName is the name of 51631 a volume already created in the ScaleIO 51632 system that is associated with this 51633 volume source. 51634 type: string 51635 required: 51636 - gateway 51637 - secretRef 51638 - system 51639 type: object 51640 secret: 51641 description: 'secret represents a secret that 51642 should populate this volume. More info: 51643 https://kubernetes.io/docs/concepts/storage/volumes#secret' 51644 properties: 51645 defaultMode: 51646 description: 'defaultMode is Optional: 51647 mode bits used to set permissions on 51648 created files by default. Must be an 51649 octal value between 0000 and 0777 or 51650 a decimal value between 0 and 511. YAML 51651 accepts both octal and decimal values, 51652 JSON requires decimal values for mode 51653 bits. Defaults to 0644. Directories 51654 within the path are not affected by 51655 this setting. This might be in conflict 51656 with other options that affect the file 51657 mode, like fsGroup, and the result can 51658 be other mode bits set.' 51659 format: int32 51660 type: integer 51661 items: 51662 description: items If unspecified, each 51663 key-value pair in the Data field of 51664 the referenced Secret will be projected 51665 into the volume as a file whose name 51666 is the key and content is the value. 51667 If specified, the listed keys will be 51668 projected into the specified paths, 51669 and unlisted keys will not be present. 51670 If a key is specified which is not present 51671 in the Secret, the volume setup will 51672 error unless it is marked optional. 51673 Paths must be relative and may not contain 51674 the '..' path or start with '..'. 51675 items: 51676 description: Maps a string key to a 51677 path within a volume. 51678 properties: 51679 key: 51680 description: key is the key to project. 51681 type: string 51682 mode: 51683 description: 'mode is Optional: 51684 mode bits used to set permissions 51685 on this file. Must be an octal 51686 value between 0000 and 0777 or 51687 a decimal value between 0 and 51688 511. YAML accepts both octal and 51689 decimal values, JSON requires 51690 decimal values for mode bits. 51691 If not specified, the volume defaultMode 51692 will be used. This might be in 51693 conflict with other options that 51694 affect the file mode, like fsGroup, 51695 and the result can be other mode 51696 bits set.' 51697 format: int32 51698 type: integer 51699 path: 51700 description: path is the relative 51701 path of the file to map the key 51702 to. May not be an absolute path. 51703 May not contain the path element 51704 '..'. May not start with the string 51705 '..'. 51706 type: string 51707 required: 51708 - key 51709 - path 51710 type: object 51711 type: array 51712 optional: 51713 description: optional field specify whether 51714 the Secret or its keys must be defined 51715 type: boolean 51716 secretName: 51717 description: 'secretName is the name of 51718 the secret in the pod''s namespace to 51719 use. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret' 51720 type: string 51721 type: object 51722 storageos: 51723 description: storageOS represents a StorageOS 51724 volume attached and mounted on Kubernetes 51725 nodes. 51726 properties: 51727 fsType: 51728 description: fsType is the filesystem 51729 type to mount. Must be a filesystem 51730 type supported by the host operating 51731 system. Ex. "ext4", "xfs", "ntfs". Implicitly 51732 inferred to be "ext4" if unspecified. 51733 type: string 51734 readOnly: 51735 description: readOnly defaults to false 51736 (read/write). ReadOnly here will force 51737 the ReadOnly setting in VolumeMounts. 51738 type: boolean 51739 secretRef: 51740 description: secretRef specifies the secret 51741 to use for obtaining the StorageOS API 51742 credentials. If not specified, default 51743 values will be attempted. 51744 properties: 51745 name: 51746 description: 'Name of the referent. 51747 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 51748 TODO: Add other useful fields. apiVersion, 51749 kind, uid?' 51750 type: string 51751 type: object 51752 volumeName: 51753 description: volumeName is the human-readable 51754 name of the StorageOS volume. Volume 51755 names are only unique within a namespace. 51756 type: string 51757 volumeNamespace: 51758 description: volumeNamespace specifies 51759 the scope of the volume within StorageOS. If 51760 no namespace is specified then the Pod's 51761 namespace will be used. This allows 51762 the Kubernetes name scoping to be mirrored 51763 within StorageOS for tighter integration. 51764 Set VolumeName to any name to override 51765 the default behaviour. Set to "default" 51766 if you are not using namespaces within 51767 StorageOS. Namespaces that do not pre-exist 51768 within StorageOS will be created. 51769 type: string 51770 type: object 51771 vsphereVolume: 51772 description: vsphereVolume represents a vSphere 51773 volume attached and mounted on kubelets 51774 host machine 51775 properties: 51776 fsType: 51777 description: fsType is filesystem type 51778 to mount. Must be a filesystem type 51779 supported by the host operating system. 51780 Ex. "ext4", "xfs", "ntfs". Implicitly 51781 inferred to be "ext4" if unspecified. 51782 type: string 51783 storagePolicyID: 51784 description: storagePolicyID is the storage 51785 Policy Based Management (SPBM) profile 51786 ID associated with the StoragePolicyName. 51787 type: string 51788 storagePolicyName: 51789 description: storagePolicyName is the 51790 storage Policy Based Management (SPBM) 51791 profile name. 51792 type: string 51793 volumePath: 51794 description: volumePath is the path that 51795 identifies vSphere volume vmdk 51796 type: string 51797 required: 51798 - volumePath 51799 type: object 51800 required: 51801 - name 51802 type: object 51803 type: array 51804 x-kubernetes-list-type: atomic 51805 type: object 51806 taskServiceAccountName: 51807 type: string 51808 type: object 51809 type: array 51810 x-kubernetes-list-type: atomic 51811 timeout: 51812 description: 'Timeout Deprecated: use pipelineRunSpec.Timeouts.Pipeline 51813 instead Time after which the Pipeline times out. Defaults 51814 to never. Refer to Go''s ParseDuration documentation for 51815 expected format: https://golang.org/pkg/time/#ParseDuration' 51816 type: string 51817 timeouts: 51818 description: Time after which the Pipeline times out. Currently 51819 three keys are accepted in the map pipeline, tasks and finally 51820 with Timeouts.pipeline >= Timeouts.tasks + Timeouts.finally 51821 properties: 51822 finally: 51823 description: Finally sets the maximum allowed duration 51824 of this pipeline's finally 51825 type: string 51826 pipeline: 51827 description: Pipeline sets the maximum allowed duration 51828 for execution of the entire pipeline. The sum of individual 51829 timeouts for tasks and finally must not exceed this 51830 value. 51831 type: string 51832 tasks: 51833 description: Tasks sets the maximum allowed duration of 51834 this pipeline's tasks 51835 type: string 51836 type: object 51837 workspaces: 51838 description: Workspaces holds a set of workspace bindings 51839 that must match names with those declared in the pipeline. 51840 items: 51841 description: WorkspaceBinding maps a Task's declared workspace 51842 to a Volume. 51843 properties: 51844 configMap: 51845 description: ConfigMap represents a configMap that should 51846 populate this workspace. 51847 properties: 51848 defaultMode: 51849 description: 'defaultMode is optional: mode bits 51850 used to set permissions on created files by default. 51851 Must be an octal value between 0000 and 0777 or 51852 a decimal value between 0 and 511. YAML accepts 51853 both octal and decimal values, JSON requires decimal 51854 values for mode bits. Defaults to 0644. Directories 51855 within the path are not affected by this setting. 51856 This might be in conflict with other options that 51857 affect the file mode, like fsGroup, and the result 51858 can be other mode bits set.' 51859 format: int32 51860 type: integer 51861 items: 51862 description: items if unspecified, each key-value 51863 pair in the Data field of the referenced ConfigMap 51864 will be projected into the volume as a file whose 51865 name is the key and content is the value. If specified, 51866 the listed keys will be projected into the specified 51867 paths, and unlisted keys will not be present. 51868 If a key is specified which is not present in 51869 the ConfigMap, the volume setup will error unless 51870 it is marked optional. Paths must be relative 51871 and may not contain the '..' path or start with 51872 '..'. 51873 items: 51874 description: Maps a string key to a path within 51875 a volume. 51876 properties: 51877 key: 51878 description: key is the key to project. 51879 type: string 51880 mode: 51881 description: 'mode is Optional: mode bits 51882 used to set permissions on this file. Must 51883 be an octal value between 0000 and 0777 51884 or a decimal value between 0 and 511. YAML 51885 accepts both octal and decimal values, JSON 51886 requires decimal values for mode bits. If 51887 not specified, the volume defaultMode will 51888 be used. This might be in conflict with 51889 other options that affect the file mode, 51890 like fsGroup, and the result can be other 51891 mode bits set.' 51892 format: int32 51893 type: integer 51894 path: 51895 description: path is the relative path of 51896 the file to map the key to. May not be an 51897 absolute path. May not contain the path 51898 element '..'. May not start with the string 51899 '..'. 51900 type: string 51901 required: 51902 - key 51903 - path 51904 type: object 51905 type: array 51906 name: 51907 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 51908 TODO: Add other useful fields. apiVersion, kind, 51909 uid?' 51910 type: string 51911 optional: 51912 description: optional specify whether the ConfigMap 51913 or its keys must be defined 51914 type: boolean 51915 type: object 51916 csi: 51917 description: CSI (Container Storage Interface) represents 51918 ephemeral storage that is handled by certain external 51919 CSI drivers. 51920 properties: 51921 driver: 51922 description: driver is the name of the CSI driver 51923 that handles this volume. Consult with your admin 51924 for the correct name as registered in the cluster. 51925 type: string 51926 fsType: 51927 description: fsType to mount. Ex. "ext4", "xfs", 51928 "ntfs". If not provided, the empty value is passed 51929 to the associated CSI driver which will determine 51930 the default filesystem to apply. 51931 type: string 51932 nodePublishSecretRef: 51933 description: nodePublishSecretRef is a reference 51934 to the secret object containing sensitive information 51935 to pass to the CSI driver to complete the CSI 51936 NodePublishVolume and NodeUnpublishVolume calls. 51937 This field is optional, and may be empty if no 51938 secret is required. If the secret object contains 51939 more than one secret, all secret references are 51940 passed. 51941 properties: 51942 name: 51943 description: 'Name of the referent. More info: 51944 https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 51945 TODO: Add other useful fields. apiVersion, 51946 kind, uid?' 51947 type: string 51948 type: object 51949 readOnly: 51950 description: readOnly specifies a read-only configuration 51951 for the volume. Defaults to false (read/write). 51952 type: boolean 51953 volumeAttributes: 51954 additionalProperties: 51955 type: string 51956 description: volumeAttributes stores driver-specific 51957 properties that are passed to the CSI driver. 51958 Consult your driver's documentation for supported 51959 values. 51960 type: object 51961 required: 51962 - driver 51963 type: object 51964 emptyDir: 51965 description: 'EmptyDir represents a temporary directory 51966 that shares a Task''s lifetime. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir 51967 Either this OR PersistentVolumeClaim can be used.' 51968 properties: 51969 medium: 51970 description: 'medium represents what type of storage 51971 medium should back this directory. The default 51972 is "" which means to use the node''s default medium. 51973 Must be an empty string (default) or Memory. More 51974 info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir' 51975 type: string 51976 sizeLimit: 51977 anyOf: 51978 - type: integer 51979 - type: string 51980 description: 'sizeLimit is the total amount of local 51981 storage required for this EmptyDir volume. The 51982 size limit is also applicable for memory medium. 51983 The maximum usage on memory medium EmptyDir would 51984 be the minimum value between the SizeLimit specified 51985 here and the sum of memory limits of all containers 51986 in a pod. The default is nil which means that 51987 the limit is undefined. More info: http://kubernetes.io/docs/user-guide/volumes#emptydir' 51988 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 51989 x-kubernetes-int-or-string: true 51990 type: object 51991 name: 51992 description: Name is the name of the workspace populated 51993 by the volume. 51994 type: string 51995 persistentVolumeClaim: 51996 description: PersistentVolumeClaimVolumeSource represents 51997 a reference to a PersistentVolumeClaim in the same 51998 namespace. Either this OR EmptyDir can be used. 51999 properties: 52000 claimName: 52001 description: 'claimName is the name of a PersistentVolumeClaim 52002 in the same namespace as the pod using this volume. 52003 More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims' 52004 type: string 52005 readOnly: 52006 description: readOnly Will force the ReadOnly setting 52007 in VolumeMounts. Default false. 52008 type: boolean 52009 required: 52010 - claimName 52011 type: object 52012 projected: 52013 description: Projected represents a projected volume 52014 that should populate this workspace. 52015 properties: 52016 defaultMode: 52017 description: defaultMode are the mode bits used 52018 to set permissions on created files by default. 52019 Must be an octal value between 0000 and 0777 or 52020 a decimal value between 0 and 511. YAML accepts 52021 both octal and decimal values, JSON requires decimal 52022 values for mode bits. Directories within the path 52023 are not affected by this setting. This might be 52024 in conflict with other options that affect the 52025 file mode, like fsGroup, and the result can be 52026 other mode bits set. 52027 format: int32 52028 type: integer 52029 sources: 52030 description: sources is the list of volume projections 52031 items: 52032 description: Projection that may be projected 52033 along with other supported volume types 52034 properties: 52035 configMap: 52036 description: configMap information about the 52037 configMap data to project 52038 properties: 52039 items: 52040 description: items if unspecified, each 52041 key-value pair in the Data field of 52042 the referenced ConfigMap will be projected 52043 into the volume as a file whose name 52044 is the key and content is the value. 52045 If specified, the listed keys will be 52046 projected into the specified paths, 52047 and unlisted keys will not be present. 52048 If a key is specified which is not present 52049 in the ConfigMap, the volume setup will 52050 error unless it is marked optional. 52051 Paths must be relative and may not contain 52052 the '..' path or start with '..'. 52053 items: 52054 description: Maps a string key to a 52055 path within a volume. 52056 properties: 52057 key: 52058 description: key is the key to project. 52059 type: string 52060 mode: 52061 description: 'mode is Optional: 52062 mode bits used to set permissions 52063 on this file. Must be an octal 52064 value between 0000 and 0777 or 52065 a decimal value between 0 and 52066 511. YAML accepts both octal and 52067 decimal values, JSON requires 52068 decimal values for mode bits. 52069 If not specified, the volume defaultMode 52070 will be used. This might be in 52071 conflict with other options that 52072 affect the file mode, like fsGroup, 52073 and the result can be other mode 52074 bits set.' 52075 format: int32 52076 type: integer 52077 path: 52078 description: path is the relative 52079 path of the file to map the key 52080 to. May not be an absolute path. 52081 May not contain the path element 52082 '..'. May not start with the string 52083 '..'. 52084 type: string 52085 required: 52086 - key 52087 - path 52088 type: object 52089 type: array 52090 name: 52091 description: 'Name of the referent. More 52092 info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 52093 TODO: Add other useful fields. apiVersion, 52094 kind, uid?' 52095 type: string 52096 optional: 52097 description: optional specify whether 52098 the ConfigMap or its keys must be defined 52099 type: boolean 52100 type: object 52101 downwardAPI: 52102 description: downwardAPI information about 52103 the downwardAPI data to project 52104 properties: 52105 items: 52106 description: Items is a list of DownwardAPIVolume 52107 file 52108 items: 52109 description: DownwardAPIVolumeFile represents 52110 information to create the file containing 52111 the pod field 52112 properties: 52113 fieldRef: 52114 description: 'Required: Selects 52115 a field of the pod: only annotations, 52116 labels, name and namespace are 52117 supported.' 52118 properties: 52119 apiVersion: 52120 description: Version of the 52121 schema the FieldPath is written 52122 in terms of, defaults to "v1". 52123 type: string 52124 fieldPath: 52125 description: Path of the field 52126 to select in the specified 52127 API version. 52128 type: string 52129 required: 52130 - fieldPath 52131 type: object 52132 mode: 52133 description: 'Optional: mode bits 52134 used to set permissions on this 52135 file, must be an octal value between 52136 0000 and 0777 or a decimal value 52137 between 0 and 511. YAML accepts 52138 both octal and decimal values, 52139 JSON requires decimal values for 52140 mode bits. If not specified, the 52141 volume defaultMode will be used. 52142 This might be in conflict with 52143 other options that affect the 52144 file mode, like fsGroup, and the 52145 result can be other mode bits 52146 set.' 52147 format: int32 52148 type: integer 52149 path: 52150 description: 'Required: Path is the 52151 relative path name of the file 52152 to be created. Must not be absolute 52153 or contain the ''..'' path. Must 52154 be utf-8 encoded. The first item 52155 of the relative path must not 52156 start with ''..''' 52157 type: string 52158 resourceFieldRef: 52159 description: 'Selects a resource 52160 of the container: only resources 52161 limits and requests (limits.cpu, 52162 limits.memory, requests.cpu and 52163 requests.memory) are currently 52164 supported.' 52165 properties: 52166 containerName: 52167 description: 'Container name: 52168 required for volumes, optional 52169 for env vars' 52170 type: string 52171 divisor: 52172 anyOf: 52173 - type: integer 52174 - type: string 52175 description: Specifies the output 52176 format of the exposed resources, 52177 defaults to "1" 52178 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 52179 x-kubernetes-int-or-string: true 52180 resource: 52181 description: 'Required: resource 52182 to select' 52183 type: string 52184 required: 52185 - resource 52186 type: object 52187 required: 52188 - path 52189 type: object 52190 type: array 52191 type: object 52192 secret: 52193 description: secret information about the 52194 secret data to project 52195 properties: 52196 items: 52197 description: items if unspecified, each 52198 key-value pair in the Data field of 52199 the referenced Secret will be projected 52200 into the volume as a file whose name 52201 is the key and content is the value. 52202 If specified, the listed keys will be 52203 projected into the specified paths, 52204 and unlisted keys will not be present. 52205 If a key is specified which is not present 52206 in the Secret, the volume setup will 52207 error unless it is marked optional. 52208 Paths must be relative and may not contain 52209 the '..' path or start with '..'. 52210 items: 52211 description: Maps a string key to a 52212 path within a volume. 52213 properties: 52214 key: 52215 description: key is the key to project. 52216 type: string 52217 mode: 52218 description: 'mode is Optional: 52219 mode bits used to set permissions 52220 on this file. Must be an octal 52221 value between 0000 and 0777 or 52222 a decimal value between 0 and 52223 511. YAML accepts both octal and 52224 decimal values, JSON requires 52225 decimal values for mode bits. 52226 If not specified, the volume defaultMode 52227 will be used. This might be in 52228 conflict with other options that 52229 affect the file mode, like fsGroup, 52230 and the result can be other mode 52231 bits set.' 52232 format: int32 52233 type: integer 52234 path: 52235 description: path is the relative 52236 path of the file to map the key 52237 to. May not be an absolute path. 52238 May not contain the path element 52239 '..'. May not start with the string 52240 '..'. 52241 type: string 52242 required: 52243 - key 52244 - path 52245 type: object 52246 type: array 52247 name: 52248 description: 'Name of the referent. More 52249 info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 52250 TODO: Add other useful fields. apiVersion, 52251 kind, uid?' 52252 type: string 52253 optional: 52254 description: optional field specify whether 52255 the Secret or its key must be defined 52256 type: boolean 52257 type: object 52258 serviceAccountToken: 52259 description: serviceAccountToken is information 52260 about the serviceAccountToken data to project 52261 properties: 52262 audience: 52263 description: audience is the intended 52264 audience of the token. A recipient of 52265 a token must identify itself with an 52266 identifier specified in the audience 52267 of the token, and otherwise should reject 52268 the token. The audience defaults to 52269 the identifier of the apiserver. 52270 type: string 52271 expirationSeconds: 52272 description: expirationSeconds is the 52273 requested duration of validity of the 52274 service account token. As the token 52275 approaches expiration, the kubelet volume 52276 plugin will proactively rotate the service 52277 account token. The kubelet will start 52278 trying to rotate the token if the token 52279 is older than 80 percent of its time 52280 to live or if the token is older than 52281 24 hours.Defaults to 1 hour and must 52282 be at least 10 minutes. 52283 format: int64 52284 type: integer 52285 path: 52286 description: path is the path relative 52287 to the mount point of the file to project 52288 the token into. 52289 type: string 52290 required: 52291 - path 52292 type: object 52293 type: object 52294 type: array 52295 type: object 52296 secret: 52297 description: Secret represents a secret that should 52298 populate this workspace. 52299 properties: 52300 defaultMode: 52301 description: 'defaultMode is Optional: mode bits 52302 used to set permissions on created files by default. 52303 Must be an octal value between 0000 and 0777 or 52304 a decimal value between 0 and 511. YAML accepts 52305 both octal and decimal values, JSON requires decimal 52306 values for mode bits. Defaults to 0644. Directories 52307 within the path are not affected by this setting. 52308 This might be in conflict with other options that 52309 affect the file mode, like fsGroup, and the result 52310 can be other mode bits set.' 52311 format: int32 52312 type: integer 52313 items: 52314 description: items If unspecified, each key-value 52315 pair in the Data field of the referenced Secret 52316 will be projected into the volume as a file whose 52317 name is the key and content is the value. If specified, 52318 the listed keys will be projected into the specified 52319 paths, and unlisted keys will not be present. 52320 If a key is specified which is not present in 52321 the Secret, the volume setup will error unless 52322 it is marked optional. Paths must be relative 52323 and may not contain the '..' path or start with 52324 '..'. 52325 items: 52326 description: Maps a string key to a path within 52327 a volume. 52328 properties: 52329 key: 52330 description: key is the key to project. 52331 type: string 52332 mode: 52333 description: 'mode is Optional: mode bits 52334 used to set permissions on this file. Must 52335 be an octal value between 0000 and 0777 52336 or a decimal value between 0 and 511. YAML 52337 accepts both octal and decimal values, JSON 52338 requires decimal values for mode bits. If 52339 not specified, the volume defaultMode will 52340 be used. This might be in conflict with 52341 other options that affect the file mode, 52342 like fsGroup, and the result can be other 52343 mode bits set.' 52344 format: int32 52345 type: integer 52346 path: 52347 description: path is the relative path of 52348 the file to map the key to. May not be an 52349 absolute path. May not contain the path 52350 element '..'. May not start with the string 52351 '..'. 52352 type: string 52353 required: 52354 - key 52355 - path 52356 type: object 52357 type: array 52358 optional: 52359 description: optional field specify whether the 52360 Secret or its keys must be defined 52361 type: boolean 52362 secretName: 52363 description: 'secretName is the name of the secret 52364 in the pod''s namespace to use. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret' 52365 type: string 52366 type: object 52367 subPath: 52368 description: SubPath is optionally a directory on the 52369 volume which should be used for this binding (i.e. 52370 the volume will be mounted at this sub directory). 52371 type: string 52372 volumeClaimTemplate: 52373 description: VolumeClaimTemplate is a template for a 52374 claim that will be created in the same namespace. 52375 The PipelineRun controller is responsible for creating 52376 a unique claim for each instance of PipelineRun. 52377 properties: 52378 apiVersion: 52379 description: 'APIVersion defines the versioned schema 52380 of this representation of an object. Servers should 52381 convert recognized schemas to the latest internal 52382 value, and may reject unrecognized values. More 52383 info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' 52384 type: string 52385 kind: 52386 description: 'Kind is a string value representing 52387 the REST resource this object represents. Servers 52388 may infer this from the endpoint the client submits 52389 requests to. Cannot be updated. In CamelCase. 52390 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 52391 type: string 52392 metadata: 52393 description: 'Standard object''s metadata. More 52394 info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata' 52395 type: object 52396 spec: 52397 description: 'spec defines the desired characteristics 52398 of a volume requested by a pod author. More info: 52399 https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims' 52400 properties: 52401 accessModes: 52402 description: 'accessModes contains the desired 52403 access modes the volume should have. More 52404 info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1' 52405 items: 52406 type: string 52407 type: array 52408 dataSource: 52409 description: 'dataSource field can be used to 52410 specify either: * An existing VolumeSnapshot 52411 object (snapshot.storage.k8s.io/VolumeSnapshot) 52412 * An existing PVC (PersistentVolumeClaim) 52413 If the provisioner or an external controller 52414 can support the specified data source, it 52415 will create a new volume based on the contents 52416 of the specified data source. If the AnyVolumeDataSource 52417 feature gate is enabled, this field will always 52418 have the same contents as the DataSourceRef 52419 field.' 52420 properties: 52421 apiGroup: 52422 description: APIGroup is the group for the 52423 resource being referenced. If APIGroup 52424 is not specified, the specified Kind must 52425 be in the core API group. For any other 52426 third-party types, APIGroup is required. 52427 type: string 52428 kind: 52429 description: Kind is the type of resource 52430 being referenced 52431 type: string 52432 name: 52433 description: Name is the name of resource 52434 being referenced 52435 type: string 52436 required: 52437 - kind 52438 - name 52439 type: object 52440 dataSourceRef: 52441 description: 'dataSourceRef specifies the object 52442 from which to populate the volume with data, 52443 if a non-empty volume is desired. This may 52444 be any local object from a non-empty API group 52445 (non core object) or a PersistentVolumeClaim 52446 object. When this field is specified, volume 52447 binding will only succeed if the type of the 52448 specified object matches some installed volume 52449 populator or dynamic provisioner. This field 52450 will replace the functionality of the DataSource 52451 field and as such if both fields are non-empty, 52452 they must have the same value. For backwards 52453 compatibility, both fields (DataSource and 52454 DataSourceRef) will be set to the same value 52455 automatically if one of them is empty and 52456 the other is non-empty. There are two important 52457 differences between DataSource and DataSourceRef: 52458 * While DataSource only allows two specific 52459 types of objects, DataSourceRef allows any 52460 non-core object, as well as PersistentVolumeClaim 52461 objects. * While DataSource ignores disallowed 52462 values (dropping them), DataSourceRef preserves 52463 all values, and generates an error if a disallowed 52464 value is specified. (Beta) Using this field 52465 requires the AnyVolumeDataSource feature gate 52466 to be enabled.' 52467 properties: 52468 apiGroup: 52469 description: APIGroup is the group for the 52470 resource being referenced. If APIGroup 52471 is not specified, the specified Kind must 52472 be in the core API group. For any other 52473 third-party types, APIGroup is required. 52474 type: string 52475 kind: 52476 description: Kind is the type of resource 52477 being referenced 52478 type: string 52479 name: 52480 description: Name is the name of resource 52481 being referenced 52482 type: string 52483 required: 52484 - kind 52485 - name 52486 type: object 52487 resources: 52488 description: 'resources represents the minimum 52489 resources the volume should have. If RecoverVolumeExpansionFailure 52490 feature is enabled users are allowed to specify 52491 resource requirements that are lower than 52492 previous value but must still be higher than 52493 capacity recorded in the status field of the 52494 claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources' 52495 properties: 52496 limits: 52497 additionalProperties: 52498 anyOf: 52499 - type: integer 52500 - type: string 52501 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 52502 x-kubernetes-int-or-string: true 52503 description: 'Limits describes the maximum 52504 amount of compute resources allowed. More 52505 info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' 52506 type: object 52507 requests: 52508 additionalProperties: 52509 anyOf: 52510 - type: integer 52511 - type: string 52512 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 52513 x-kubernetes-int-or-string: true 52514 description: 'Requests describes the minimum 52515 amount of compute resources required. 52516 If Requests is omitted for a container, 52517 it defaults to Limits if that is explicitly 52518 specified, otherwise to an implementation-defined 52519 value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' 52520 type: object 52521 type: object 52522 selector: 52523 description: selector is a label query over 52524 volumes to consider for binding. 52525 properties: 52526 matchExpressions: 52527 description: matchExpressions is a list 52528 of label selector requirements. The requirements 52529 are ANDed. 52530 items: 52531 description: A label selector requirement 52532 is a selector that contains values, 52533 a key, and an operator that relates 52534 the key and values. 52535 properties: 52536 key: 52537 description: key is the label key 52538 that the selector applies to. 52539 type: string 52540 operator: 52541 description: operator represents a 52542 key's relationship to a set of values. 52543 Valid operators are In, NotIn, Exists 52544 and DoesNotExist. 52545 type: string 52546 values: 52547 description: values is an array of 52548 string values. If the operator is 52549 In or NotIn, the values array must 52550 be non-empty. If the operator is 52551 Exists or DoesNotExist, the values 52552 array must be empty. This array 52553 is replaced during a strategic merge 52554 patch. 52555 items: 52556 type: string 52557 type: array 52558 required: 52559 - key 52560 - operator 52561 type: object 52562 type: array 52563 matchLabels: 52564 additionalProperties: 52565 type: string 52566 description: matchLabels is a map of {key,value} 52567 pairs. A single {key,value} in the matchLabels 52568 map is equivalent to an element of matchExpressions, 52569 whose key field is "key", the operator 52570 is "In", and the values array contains 52571 only "value". The requirements are ANDed. 52572 type: object 52573 type: object 52574 storageClassName: 52575 description: 'storageClassName is the name of 52576 the StorageClass required by the claim. More 52577 info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1' 52578 type: string 52579 volumeMode: 52580 description: volumeMode defines what type of 52581 volume is required by the claim. Value of 52582 Filesystem is implied when not included in 52583 claim spec. 52584 type: string 52585 volumeName: 52586 description: volumeName is the binding reference 52587 to the PersistentVolume backing this claim. 52588 type: string 52589 type: object 52590 status: 52591 description: 'status represents the current information/status 52592 of a persistent volume claim. Read-only. More 52593 info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims' 52594 properties: 52595 accessModes: 52596 description: 'accessModes contains the actual 52597 access modes the volume backing the PVC has. 52598 More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1' 52599 items: 52600 type: string 52601 type: array 52602 allocatedResources: 52603 additionalProperties: 52604 anyOf: 52605 - type: integer 52606 - type: string 52607 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 52608 x-kubernetes-int-or-string: true 52609 description: allocatedResources is the storage 52610 resource within AllocatedResources tracks 52611 the capacity allocated to a PVC. It may be 52612 larger than the actual capacity when a volume 52613 expansion operation is requested. For storage 52614 quota, the larger value from allocatedResources 52615 and PVC.spec.resources is used. If allocatedResources 52616 is not set, PVC.spec.resources alone is used 52617 for quota calculation. If a volume expansion 52618 capacity request is lowered, allocatedResources 52619 is only lowered if there are no expansion 52620 operations in progress and if the actual volume 52621 capacity is equal or lower than the requested 52622 capacity. This is an alpha field and requires 52623 enabling RecoverVolumeExpansionFailure feature. 52624 type: object 52625 capacity: 52626 additionalProperties: 52627 anyOf: 52628 - type: integer 52629 - type: string 52630 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 52631 x-kubernetes-int-or-string: true 52632 description: capacity represents the actual 52633 resources of the underlying volume. 52634 type: object 52635 conditions: 52636 description: conditions is the current Condition 52637 of persistent volume claim. If underlying 52638 persistent volume is being resized then the 52639 Condition will be set to 'ResizeStarted'. 52640 items: 52641 description: PersistentVolumeClaimCondition 52642 contails details about state of pvc 52643 properties: 52644 lastProbeTime: 52645 description: lastProbeTime is the time 52646 we probed the condition. 52647 format: date-time 52648 type: string 52649 lastTransitionTime: 52650 description: lastTransitionTime is the 52651 time the condition transitioned from 52652 one status to another. 52653 format: date-time 52654 type: string 52655 message: 52656 description: message is the human-readable 52657 message indicating details about last 52658 transition. 52659 type: string 52660 reason: 52661 description: reason is a unique, this 52662 should be a short, machine understandable 52663 string that gives the reason for condition's 52664 last transition. If it reports "ResizeStarted" 52665 that means the underlying persistent 52666 volume is being resized. 52667 type: string 52668 status: 52669 type: string 52670 type: 52671 description: PersistentVolumeClaimConditionType 52672 is a valid value of PersistentVolumeClaimCondition.Type 52673 type: string 52674 required: 52675 - status 52676 - type 52677 type: object 52678 type: array 52679 phase: 52680 description: phase represents the current phase 52681 of PersistentVolumeClaim. 52682 type: string 52683 resizeStatus: 52684 description: resizeStatus stores status of resize 52685 operation. ResizeStatus is not set by default 52686 but when expansion is complete resizeStatus 52687 is set to empty string by resize controller 52688 or kubelet. This is an alpha field and requires 52689 enabling RecoverVolumeExpansionFailure feature. 52690 type: string 52691 type: object 52692 type: object 52693 required: 52694 - name 52695 type: object 52696 type: array 52697 x-kubernetes-list-type: atomic 52698 type: object 52699 type: object 52700 type: 52701 description: Type is the type of job and informs how the jobs is triggered 52702 enum: 52703 - presubmit 52704 - postsubmit 52705 - periodic 52706 - batch 52707 type: string 52708 type: object 52709 status: 52710 anyOf: 52711 - not: 52712 properties: 52713 state: 52714 enum: 52715 - "success" 52716 - "failure" 52717 - "error" 52718 - required: 52719 - completionTime 52720 description: ProwJobStatus provides runtime metadata, such as when it 52721 finished, whether it is running, etc. 52722 properties: 52723 build_id: 52724 description: BuildID is the build identifier vended either by tot 52725 or the snowflake library for this job and used as an identifier 52726 for grouping artifacts in GCS for views in TestGrid and Gubernator. 52727 Idenitifiers vended by tot are monotonically increasing whereas 52728 identifiers vended by the snowflake library are not. 52729 type: string 52730 completionTime: 52731 description: CompletionTime is the timestamp for when the job goes 52732 to a final state 52733 format: date-time 52734 type: string 52735 description: 52736 type: string 52737 jenkins_build_id: 52738 description: JenkinsBuildID applies only to ProwJobs fulfilled by 52739 the jenkins-operator. This field is the build identifier that Jenkins 52740 gave to the build for this ProwJob. 52741 type: string 52742 pendingTime: 52743 description: PendingTime is the timestamp for when the job moved from 52744 triggered to pending 52745 format: date-time 52746 type: string 52747 pod_name: 52748 description: PodName applies only to ProwJobs fulfilled by plank. 52749 This field should always be the same as the ProwJob.ObjectMeta.Name 52750 field. 52751 type: string 52752 prev_report_states: 52753 additionalProperties: 52754 description: ProwJobState specifies whether the job is running 52755 type: string 52756 description: PrevReportStates stores the previous reported prowjob 52757 state per reporter So crier won't make duplicated report attempt 52758 type: object 52759 startTime: 52760 description: StartTime is equal to the creation time of the ProwJob 52761 format: date-time 52762 type: string 52763 state: 52764 description: ProwJobState specifies whether the job is running 52765 enum: 52766 - scheduling 52767 - triggered 52768 - pending 52769 - success 52770 - failure 52771 - aborted 52772 - error 52773 type: string 52774 url: 52775 type: string 52776 type: object 52777 type: object 52778 served: true 52779 storage: true 52780 subresources: {} 52781 status: 52782 acceptedNames: 52783 kind: "" 52784 plural: "" 52785 conditions: [] 52786 storedVersions: []