github.com/operator-framework/operator-lifecycle-manager@v0.30.0/deploy/upstream/manifests/0.14.1/0000_50_olm_05-subscription.crd.yaml (about) 1 --- 2 # Source: olm/templates/0000_50_olm_05-subscription.crd.yaml 3 apiVersion: apiextensions.k8s.io/v1beta1 4 kind: CustomResourceDefinition 5 metadata: 6 name: subscriptions.operators.coreos.com 7 annotations: 8 displayName: Subscription 9 description: Subscribes service catalog to a source and channel to recieve updates 10 for packages. 11 spec: 12 group: operators.coreos.com 13 version: v1alpha1 14 versions: 15 - name: v1alpha1 16 served: true 17 storage: true 18 scope: Namespaced 19 names: 20 plural: subscriptions 21 singular: subscription 22 kind: Subscription 23 listKind: SubscriptionList 24 shortNames: 25 - sub 26 - subs 27 categories: 28 - olm 29 additionalPrinterColumns: 30 - name: Package 31 type: string 32 description: The package subscribed to 33 JSONPath: .spec.name 34 - name: Source 35 type: string 36 description: The catalog source for the specified package 37 JSONPath: .spec.source 38 - name: Channel 39 type: string 40 description: The channel of updates to subscribe to 41 JSONPath: .spec.channel 42 preserveUnknownFields: false 43 subresources: 44 # status enables the status subresource. 45 status: {} 46 validation: 47 openAPIV3Schema: 48 description: Subscription keeps operators up to date by tracking changes to 49 Catalogs. 50 type: object 51 required: 52 - metadata 53 - spec 54 properties: 55 apiVersion: 56 description: 'APIVersion defines the versioned schema of this representation 57 of an object. Servers should convert recognized schemas to the latest 58 internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' 59 type: string 60 kind: 61 description: 'Kind is a string value representing the REST resource this 62 object represents. Servers may infer this from the endpoint the client 63 submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 64 type: string 65 metadata: 66 type: object 67 spec: 68 description: SubscriptionSpec defines an Application that can be installed 69 type: object 70 required: 71 - name 72 - source 73 - sourceNamespace 74 properties: 75 channel: 76 type: string 77 config: 78 description: SubscriptionConfig contains configuration specified for 79 a subscription. 80 type: object 81 properties: 82 env: 83 description: Env is a list of environment variables to set in the 84 container. Cannot be updated. 85 type: array 86 items: 87 description: EnvVar represents an environment variable present 88 in a Container. 89 type: object 90 required: 91 - name 92 properties: 93 name: 94 description: Name of the environment variable. Must be a C_IDENTIFIER. 95 type: string 96 value: 97 description: 'Variable references $(VAR_NAME) are expanded 98 using the previous defined environment variables in the 99 container and any service environment variables. If a variable 100 cannot be resolved, the reference in the input string will 101 be unchanged. The $(VAR_NAME) syntax can be escaped with 102 a double $$, ie: $$(VAR_NAME). Escaped references will never 103 be expanded, regardless of whether the variable exists or 104 not. Defaults to "".' 105 type: string 106 valueFrom: 107 description: Source for the environment variable's value. 108 Cannot be used if value is not empty. 109 type: object 110 properties: 111 configMapKeyRef: 112 description: Selects a key of a ConfigMap. 113 type: object 114 required: 115 - key 116 properties: 117 key: 118 description: The key to select. 119 type: string 120 name: 121 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 122 TODO: Add other useful fields. apiVersion, kind, 123 uid?' 124 type: string 125 optional: 126 description: Specify whether the ConfigMap or its 127 key must be defined 128 type: boolean 129 fieldRef: 130 description: 'Selects a field of the pod: supports metadata.name, 131 metadata.namespace, metadata.labels, metadata.annotations, 132 spec.nodeName, spec.serviceAccountName, status.hostIP, 133 status.podIP.' 134 type: object 135 required: 136 - fieldPath 137 properties: 138 apiVersion: 139 description: Version of the schema the FieldPath is 140 written in terms of, defaults to "v1". 141 type: string 142 fieldPath: 143 description: Path of the field to select in the specified 144 API version. 145 type: string 146 resourceFieldRef: 147 description: 'Selects a resource of the container: only 148 resources limits and requests (limits.cpu, limits.memory, 149 limits.ephemeral-storage, requests.cpu, requests.memory 150 and requests.ephemeral-storage) are currently supported.' 151 type: object 152 required: 153 - resource 154 properties: 155 containerName: 156 description: 'Container name: required for volumes, 157 optional for env vars' 158 type: string 159 divisor: 160 description: Specifies the output format of the exposed 161 resources, defaults to "1" 162 type: string 163 resource: 164 description: 'Required: resource to select' 165 type: string 166 secretKeyRef: 167 description: Selects a key of a secret in the pod's namespace 168 type: object 169 required: 170 - key 171 properties: 172 key: 173 description: The key of the secret to select from. Must 174 be a valid secret key. 175 type: string 176 name: 177 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 178 TODO: Add other useful fields. apiVersion, kind, 179 uid?' 180 type: string 181 optional: 182 description: Specify whether the Secret or its key 183 must be defined 184 type: boolean 185 envFrom: 186 description: EnvFrom is a list of sources to populate environment 187 variables in the container. The keys defined within a source must 188 be a C_IDENTIFIER. All invalid keys will be reported as an event 189 when the container is starting. When a key exists in multiple 190 sources, the value associated with the last source will take precedence. 191 Values defined by an Env with a duplicate key will take precedence. 192 Immutable. 193 type: array 194 items: 195 description: EnvFromSource represents the source of a set of ConfigMaps 196 type: object 197 properties: 198 configMapRef: 199 description: The ConfigMap to select from 200 type: object 201 properties: 202 name: 203 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 204 TODO: Add other useful fields. apiVersion, kind, uid?' 205 type: string 206 optional: 207 description: Specify whether the ConfigMap must be defined 208 type: boolean 209 prefix: 210 description: An optional identifier to prepend to each key 211 in the ConfigMap. Must be a C_IDENTIFIER. 212 type: string 213 secretRef: 214 description: The Secret to select from 215 type: object 216 properties: 217 name: 218 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 219 TODO: Add other useful fields. apiVersion, kind, uid?' 220 type: string 221 optional: 222 description: Specify whether the Secret must be defined 223 type: boolean 224 nodeSelector: 225 description: 'NodeSelector is a selector which must be true for 226 the pod to fit on a node. Selector which must match a node''s 227 labels for the pod to be scheduled on that node. More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/' 228 type: object 229 additionalProperties: 230 type: string 231 resources: 232 description: 'Resources represents compute resources required by 233 this container. Immutable. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' 234 type: object 235 properties: 236 limits: 237 description: 'Limits describes the maximum amount of compute 238 resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' 239 type: object 240 additionalProperties: 241 type: string 242 requests: 243 description: 'Requests describes the minimum amount of compute 244 resources required. If Requests is omitted for a container, 245 it defaults to Limits if that is explicitly specified, otherwise 246 to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' 247 type: object 248 additionalProperties: 249 type: string 250 selector: 251 description: Selector is the label selector for pods to be configured. 252 Existing ReplicaSets whose pods are selected by this will be the 253 ones affected by this deployment. It must match the pod template's 254 labels. 255 type: object 256 properties: 257 matchExpressions: 258 description: matchExpressions is a list of label selector requirements. 259 The requirements are ANDed. 260 type: array 261 items: 262 description: A label selector requirement is a selector that 263 contains values, a key, and an operator that relates the 264 key and values. 265 type: object 266 required: 267 - key 268 - operator 269 properties: 270 key: 271 description: key is the label key that the selector applies 272 to. 273 type: string 274 operator: 275 description: operator represents a key's relationship 276 to a set of values. Valid operators are In, NotIn, Exists 277 and DoesNotExist. 278 type: string 279 values: 280 description: values is an array of string values. If the 281 operator is In or NotIn, the values array must be non-empty. 282 If the operator is Exists or DoesNotExist, the values 283 array must be empty. This array is replaced during a 284 strategic merge patch. 285 type: array 286 items: 287 type: string 288 matchLabels: 289 description: matchLabels is a map of {key,value} pairs. A single 290 {key,value} in the matchLabels map is equivalent to an element 291 of matchExpressions, whose key field is "key", the operator 292 is "In", and the values array contains only "value". The requirements 293 are ANDed. 294 type: object 295 additionalProperties: 296 type: string 297 tolerations: 298 description: Tolerations are the pod's tolerations. 299 type: array 300 items: 301 description: The pod this Toleration is attached to tolerates 302 any taint that matches the triple <key,value,effect> using the 303 matching operator <operator>. 304 type: object 305 properties: 306 effect: 307 description: Effect indicates the taint effect to match. Empty 308 means match all taint effects. When specified, allowed values 309 are NoSchedule, PreferNoSchedule and NoExecute. 310 type: string 311 key: 312 description: Key is the taint key that the toleration applies 313 to. Empty means match all taint keys. If the key is empty, 314 operator must be Exists; this combination means to match 315 all values and all keys. 316 type: string 317 operator: 318 description: Operator represents a key's relationship to the 319 value. Valid operators are Exists and Equal. Defaults to 320 Equal. Exists is equivalent to wildcard for value, so that 321 a pod can tolerate all taints of a particular category. 322 type: string 323 tolerationSeconds: 324 description: TolerationSeconds represents the period of time 325 the toleration (which must be of effect NoExecute, otherwise 326 this field is ignored) tolerates the taint. By default, 327 it is not set, which means tolerate the taint forever (do 328 not evict). Zero and negative values will be treated as 329 0 (evict immediately) by the system. 330 type: integer 331 format: int64 332 value: 333 description: Value is the taint value the toleration matches 334 to. If the operator is Exists, the value should be empty, 335 otherwise just a regular string. 336 type: string 337 volumeMounts: 338 description: List of VolumeMounts to set in the container. 339 type: array 340 items: 341 description: VolumeMount describes a mounting of a Volume within 342 a container. 343 type: object 344 required: 345 - mountPath 346 - name 347 properties: 348 mountPath: 349 description: Path within the container at which the volume 350 should be mounted. Must not contain ':'. 351 type: string 352 mountPropagation: 353 description: mountPropagation determines how mounts are propagated 354 from the host to container and the other way around. When 355 not set, MountPropagationNone is used. This field is beta 356 in 1.10. 357 type: string 358 name: 359 description: This must match the Name of a Volume. 360 type: string 361 readOnly: 362 description: Mounted read-only if true, read-write otherwise 363 (false or unspecified). Defaults to false. 364 type: boolean 365 subPath: 366 description: Path within the volume from which the container's 367 volume should be mounted. Defaults to "" (volume's root). 368 type: string 369 subPathExpr: 370 description: Expanded path within the volume from which the 371 container's volume should be mounted. Behaves similarly 372 to SubPath but environment variable references $(VAR_NAME) 373 are expanded using the container's environment. Defaults 374 to "" (volume's root). SubPathExpr and SubPath are mutually 375 exclusive. This field is beta in 1.15. 376 type: string 377 volumes: 378 description: List of Volumes to set in the podSpec. 379 type: array 380 items: 381 description: Volume represents a named volume in a pod that may 382 be accessed by any container in the pod. 383 type: object 384 required: 385 - name 386 properties: 387 awsElasticBlockStore: 388 description: 'AWSElasticBlockStore represents an AWS Disk 389 resource that is attached to a kubelet''s host machine and 390 then exposed to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore' 391 type: object 392 required: 393 - volumeID 394 properties: 395 fsType: 396 description: 'Filesystem type of the volume that you want 397 to mount. Tip: Ensure that the filesystem type is supported 398 by the host operating system. Examples: "ext4", "xfs", 399 "ntfs". Implicitly inferred to be "ext4" if unspecified. 400 More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore 401 TODO: how do we prevent errors in the filesystem from 402 compromising the machine' 403 type: string 404 partition: 405 description: 'The partition in the volume that you want 406 to mount. If omitted, the default is to mount by volume 407 name. Examples: For volume /dev/sda1, you specify the 408 partition as "1". Similarly, the volume partition for 409 /dev/sda is "0" (or you can leave the property empty).' 410 type: integer 411 format: int32 412 readOnly: 413 description: 'Specify "true" to force and set the ReadOnly 414 property in VolumeMounts to "true". If omitted, the 415 default is "false". More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore' 416 type: boolean 417 volumeID: 418 description: 'Unique ID of the persistent disk resource 419 in AWS (Amazon EBS volume). More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore' 420 type: string 421 azureDisk: 422 description: AzureDisk represents an Azure Data Disk mount 423 on the host and bind mount to the pod. 424 type: object 425 required: 426 - diskName 427 - diskURI 428 properties: 429 cachingMode: 430 description: 'Host Caching mode: None, Read Only, Read 431 Write.' 432 type: string 433 diskName: 434 description: The Name of the data disk in the blob storage 435 type: string 436 diskURI: 437 description: The URI the data disk in the blob storage 438 type: string 439 fsType: 440 description: Filesystem type to mount. Must be a filesystem 441 type supported by the host operating system. Ex. "ext4", 442 "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. 443 type: string 444 kind: 445 description: 'Expected values Shared: multiple blob disks 446 per storage account Dedicated: single blob disk per 447 storage account Managed: azure managed data disk (only 448 in managed availability set). defaults to shared' 449 type: string 450 readOnly: 451 description: Defaults to false (read/write). ReadOnly 452 here will force the ReadOnly setting in VolumeMounts. 453 type: boolean 454 azureFile: 455 description: AzureFile represents an Azure File Service mount 456 on the host and bind mount to the pod. 457 type: object 458 required: 459 - secretName 460 - shareName 461 properties: 462 readOnly: 463 description: Defaults to false (read/write). ReadOnly 464 here will force the ReadOnly setting in VolumeMounts. 465 type: boolean 466 secretName: 467 description: the name of secret that contains Azure Storage 468 Account Name and Key 469 type: string 470 shareName: 471 description: Share Name 472 type: string 473 cephfs: 474 description: CephFS represents a Ceph FS mount on the host 475 that shares a pod's lifetime 476 type: object 477 required: 478 - monitors 479 properties: 480 monitors: 481 description: 'Required: Monitors is a collection of Ceph 482 monitors More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it' 483 type: array 484 items: 485 type: string 486 path: 487 description: 'Optional: Used as the mounted root, rather 488 than the full Ceph tree, default is /' 489 type: string 490 readOnly: 491 description: 'Optional: Defaults to false (read/write). 492 ReadOnly here will force the ReadOnly setting in VolumeMounts. 493 More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it' 494 type: boolean 495 secretFile: 496 description: 'Optional: SecretFile is the path to key 497 ring for User, default is /etc/ceph/user.secret More 498 info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it' 499 type: string 500 secretRef: 501 description: 'Optional: SecretRef is reference to the 502 authentication secret for User, default is empty. More 503 info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it' 504 type: object 505 properties: 506 name: 507 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 508 TODO: Add other useful fields. apiVersion, kind, 509 uid?' 510 type: string 511 user: 512 description: 'Optional: User is the rados user name, default 513 is admin More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it' 514 type: string 515 cinder: 516 description: 'Cinder represents a cinder volume attached and 517 mounted on kubelets host machine. More info: https://examples.k8s.io/mysql-cinder-pd/README.md' 518 type: object 519 required: 520 - volumeID 521 properties: 522 fsType: 523 description: 'Filesystem type to mount. Must be a filesystem 524 type supported by the host operating system. Examples: 525 "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" 526 if unspecified. More info: https://examples.k8s.io/mysql-cinder-pd/README.md' 527 type: string 528 readOnly: 529 description: 'Optional: Defaults to false (read/write). 530 ReadOnly here will force the ReadOnly setting in VolumeMounts. 531 More info: https://examples.k8s.io/mysql-cinder-pd/README.md' 532 type: boolean 533 secretRef: 534 description: 'Optional: points to a secret object containing 535 parameters used to connect to OpenStack.' 536 type: object 537 properties: 538 name: 539 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 540 TODO: Add other useful fields. apiVersion, kind, 541 uid?' 542 type: string 543 volumeID: 544 description: 'volume id used to identify the volume in 545 cinder. More info: https://examples.k8s.io/mysql-cinder-pd/README.md' 546 type: string 547 configMap: 548 description: ConfigMap represents a configMap that should 549 populate this volume 550 type: object 551 properties: 552 defaultMode: 553 description: 'Optional: mode bits to use on created files 554 by default. Must be a value between 0 and 0777. Defaults 555 to 0644. Directories within the path are not affected 556 by this setting. This might be in conflict with other 557 options that affect the file mode, like fsGroup, and 558 the result can be other mode bits set.' 559 type: integer 560 format: int32 561 items: 562 description: If unspecified, each key-value pair in the 563 Data field of the referenced ConfigMap will be projected 564 into the volume as a file whose name is the key and 565 content is the value. If specified, the listed keys 566 will be projected into the specified paths, and unlisted 567 keys will not be present. If a key is specified which 568 is not present in the ConfigMap, the volume setup will 569 error unless it is marked optional. Paths must be relative 570 and may not contain the '..' path or start with '..'. 571 type: array 572 items: 573 description: Maps a string key to a path within a volume. 574 type: object 575 required: 576 - key 577 - path 578 properties: 579 key: 580 description: The key to project. 581 type: string 582 mode: 583 description: 'Optional: mode bits to use on this 584 file, must be a value between 0 and 0777. If not 585 specified, the volume defaultMode will be used. 586 This might be in conflict with other options that 587 affect the file mode, like fsGroup, and the result 588 can be other mode bits set.' 589 type: integer 590 format: int32 591 path: 592 description: The relative path of the file to map 593 the key to. May not be an absolute path. May not 594 contain the path element '..'. May not start with 595 the string '..'. 596 type: string 597 name: 598 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 599 TODO: Add other useful fields. apiVersion, kind, uid?' 600 type: string 601 optional: 602 description: Specify whether the ConfigMap or its keys 603 must be defined 604 type: boolean 605 csi: 606 description: CSI (Container Storage Interface) represents 607 storage that is handled by an external CSI driver (Alpha 608 feature). 609 type: object 610 required: 611 - driver 612 properties: 613 driver: 614 description: Driver is the name of the CSI driver that 615 handles this volume. Consult with your admin for the 616 correct name as registered in the cluster. 617 type: string 618 fsType: 619 description: Filesystem type to mount. Ex. "ext4", "xfs", 620 "ntfs". If not provided, the empty value is passed to 621 the associated CSI driver which will determine the default 622 filesystem to apply. 623 type: string 624 nodePublishSecretRef: 625 description: NodePublishSecretRef is a reference to the 626 secret object containing sensitive information to pass 627 to the CSI driver to complete the CSI NodePublishVolume 628 and NodeUnpublishVolume calls. This field is optional, 629 and may be empty if no secret is required. If the secret 630 object contains more than one secret, all secret references 631 are passed. 632 type: object 633 properties: 634 name: 635 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 636 TODO: Add other useful fields. apiVersion, kind, 637 uid?' 638 type: string 639 readOnly: 640 description: Specifies a read-only configuration for the 641 volume. Defaults to false (read/write). 642 type: boolean 643 volumeAttributes: 644 description: VolumeAttributes stores driver-specific properties 645 that are passed to the CSI driver. Consult your driver's 646 documentation for supported values. 647 type: object 648 additionalProperties: 649 type: string 650 downwardAPI: 651 description: DownwardAPI represents downward API about the 652 pod that should populate this volume 653 type: object 654 properties: 655 defaultMode: 656 description: 'Optional: mode bits to use on created files 657 by default. Must be a value between 0 and 0777. Defaults 658 to 0644. Directories within the path are not affected 659 by this setting. This might be in conflict with other 660 options that affect the file mode, like fsGroup, and 661 the result can be other mode bits set.' 662 type: integer 663 format: int32 664 items: 665 description: Items is a list of downward API volume file 666 type: array 667 items: 668 description: DownwardAPIVolumeFile represents information 669 to create the file containing the pod field 670 type: object 671 required: 672 - path 673 properties: 674 fieldRef: 675 description: 'Required: Selects a field of the pod: 676 only annotations, labels, name and namespace are 677 supported.' 678 type: object 679 required: 680 - fieldPath 681 properties: 682 apiVersion: 683 description: Version of the schema the FieldPath 684 is written in terms of, defaults to "v1". 685 type: string 686 fieldPath: 687 description: Path of the field to select in 688 the specified API version. 689 type: string 690 mode: 691 description: 'Optional: mode bits to use on this 692 file, must be a value between 0 and 0777. If not 693 specified, the volume defaultMode will be used. 694 This might be in conflict with other options that 695 affect the file mode, like fsGroup, and the result 696 can be other mode bits set.' 697 type: integer 698 format: int32 699 path: 700 description: 'Required: Path is the relative path 701 name of the file to be created. Must not be absolute 702 or contain the ''..'' path. Must be utf-8 encoded. 703 The first item of the relative path must not start 704 with ''..''' 705 type: string 706 resourceFieldRef: 707 description: 'Selects a resource of the container: 708 only resources limits and requests (limits.cpu, 709 limits.memory, requests.cpu and requests.memory) 710 are currently supported.' 711 type: object 712 required: 713 - resource 714 properties: 715 containerName: 716 description: 'Container name: required for volumes, 717 optional for env vars' 718 type: string 719 divisor: 720 description: Specifies the output format of 721 the exposed resources, defaults to "1" 722 type: string 723 resource: 724 description: 'Required: resource to select' 725 type: string 726 emptyDir: 727 description: 'EmptyDir represents a temporary directory that 728 shares a pod''s lifetime. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir' 729 type: object 730 properties: 731 medium: 732 description: 'What type of storage medium should back 733 this directory. The default is "" which means to use 734 the node''s default medium. Must be an empty string 735 (default) or Memory. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir' 736 type: string 737 sizeLimit: 738 description: 'Total amount of local storage required for 739 this EmptyDir volume. The size limit is also applicable 740 for memory medium. The maximum usage on memory medium 741 EmptyDir would be the minimum value between the SizeLimit 742 specified here and the sum of memory limits of all containers 743 in a pod. The default is nil which means that the limit 744 is undefined. More info: http://kubernetes.io/docs/user-guide/volumes#emptydir' 745 type: string 746 fc: 747 description: FC represents a Fibre Channel resource that is 748 attached to a kubelet's host machine and then exposed to 749 the pod. 750 type: object 751 properties: 752 fsType: 753 description: 'Filesystem type to mount. Must be a filesystem 754 type supported by the host operating system. Ex. "ext4", 755 "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. 756 TODO: how do we prevent errors in the filesystem from 757 compromising the machine' 758 type: string 759 lun: 760 description: 'Optional: FC target lun number' 761 type: integer 762 format: int32 763 readOnly: 764 description: 'Optional: Defaults to false (read/write). 765 ReadOnly here will force the ReadOnly setting in VolumeMounts.' 766 type: boolean 767 targetWWNs: 768 description: 'Optional: FC target worldwide names (WWNs)' 769 type: array 770 items: 771 type: string 772 wwids: 773 description: 'Optional: FC volume world wide identifiers 774 (wwids) Either wwids or combination of targetWWNs and 775 lun must be set, but not both simultaneously.' 776 type: array 777 items: 778 type: string 779 flexVolume: 780 description: FlexVolume represents a generic volume resource 781 that is provisioned/attached using an exec based plugin. 782 type: object 783 required: 784 - driver 785 properties: 786 driver: 787 description: Driver is the name of the driver to use for 788 this volume. 789 type: string 790 fsType: 791 description: Filesystem type to mount. Must be a filesystem 792 type supported by the host operating system. Ex. "ext4", 793 "xfs", "ntfs". The default filesystem depends on FlexVolume 794 script. 795 type: string 796 options: 797 description: 'Optional: Extra command options if any.' 798 type: object 799 additionalProperties: 800 type: string 801 readOnly: 802 description: 'Optional: Defaults to false (read/write). 803 ReadOnly here will force the ReadOnly setting in VolumeMounts.' 804 type: boolean 805 secretRef: 806 description: 'Optional: SecretRef is reference to the 807 secret object containing sensitive information to pass 808 to the plugin scripts. This may be empty if no secret 809 object is specified. If the secret object contains more 810 than one secret, all secrets are passed to the plugin 811 scripts.' 812 type: object 813 properties: 814 name: 815 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 816 TODO: Add other useful fields. apiVersion, kind, 817 uid?' 818 type: string 819 flocker: 820 description: Flocker represents a Flocker volume attached 821 to a kubelet's host machine. This depends on the Flocker 822 control service being running 823 type: object 824 properties: 825 datasetName: 826 description: Name of the dataset stored as metadata -> 827 name on the dataset for Flocker should be considered 828 as deprecated 829 type: string 830 datasetUUID: 831 description: UUID of the dataset. This is unique identifier 832 of a Flocker dataset 833 type: string 834 gcePersistentDisk: 835 description: 'GCEPersistentDisk represents a GCE Disk resource 836 that is attached to a kubelet''s host machine and then exposed 837 to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk' 838 type: object 839 required: 840 - pdName 841 properties: 842 fsType: 843 description: 'Filesystem type of the volume that you want 844 to mount. Tip: Ensure that the filesystem type is supported 845 by the host operating system. Examples: "ext4", "xfs", 846 "ntfs". Implicitly inferred to be "ext4" if unspecified. 847 More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk 848 TODO: how do we prevent errors in the filesystem from 849 compromising the machine' 850 type: string 851 partition: 852 description: 'The partition in the volume that you want 853 to mount. If omitted, the default is to mount by volume 854 name. Examples: For volume /dev/sda1, you specify the 855 partition as "1". Similarly, the volume partition for 856 /dev/sda is "0" (or you can leave the property empty). 857 More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk' 858 type: integer 859 format: int32 860 pdName: 861 description: 'Unique name of the PD resource in GCE. Used 862 to identify the disk in GCE. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk' 863 type: string 864 readOnly: 865 description: 'ReadOnly here will force the ReadOnly setting 866 in VolumeMounts. Defaults to false. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk' 867 type: boolean 868 gitRepo: 869 description: 'GitRepo represents a git repository at a particular 870 revision. DEPRECATED: GitRepo is deprecated. To provision 871 a container with a git repo, mount an EmptyDir into an InitContainer 872 that clones the repo using git, then mount the EmptyDir 873 into the Pod''s container.' 874 type: object 875 required: 876 - repository 877 properties: 878 directory: 879 description: Target directory name. Must not contain or 880 start with '..'. If '.' is supplied, the volume directory 881 will be the git repository. Otherwise, if specified, 882 the volume will contain the git repository in the subdirectory 883 with the given name. 884 type: string 885 repository: 886 description: Repository URL 887 type: string 888 revision: 889 description: Commit hash for the specified revision. 890 type: string 891 glusterfs: 892 description: 'Glusterfs represents a Glusterfs mount on the 893 host that shares a pod''s lifetime. More info: https://examples.k8s.io/volumes/glusterfs/README.md' 894 type: object 895 required: 896 - endpoints 897 - path 898 properties: 899 endpoints: 900 description: 'EndpointsName is the endpoint name that 901 details Glusterfs topology. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod' 902 type: string 903 path: 904 description: 'Path is the Glusterfs volume path. More 905 info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod' 906 type: string 907 readOnly: 908 description: 'ReadOnly here will force the Glusterfs volume 909 to be mounted with read-only permissions. Defaults to 910 false. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod' 911 type: boolean 912 hostPath: 913 description: 'HostPath represents a pre-existing file or directory 914 on the host machine that is directly exposed to the container. 915 This is generally used for system agents or other privileged 916 things that are allowed to see the host machine. Most containers 917 will NOT need this. More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath 918 --- TODO(jonesdl) We need to restrict who can use host directory 919 mounts and who can/can not mount host directories as read/write.' 920 type: object 921 required: 922 - path 923 properties: 924 path: 925 description: 'Path of the directory on the host. If the 926 path is a symlink, it will follow the link to the real 927 path. More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath' 928 type: string 929 type: 930 description: 'Type for HostPath Volume Defaults to "" 931 More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath' 932 type: string 933 iscsi: 934 description: 'ISCSI represents an ISCSI Disk resource that 935 is attached to a kubelet''s host machine and then exposed 936 to the pod. More info: https://examples.k8s.io/volumes/iscsi/README.md' 937 type: object 938 required: 939 - iqn 940 - lun 941 - targetPortal 942 properties: 943 chapAuthDiscovery: 944 description: whether support iSCSI Discovery CHAP authentication 945 type: boolean 946 chapAuthSession: 947 description: whether support iSCSI Session CHAP authentication 948 type: boolean 949 fsType: 950 description: 'Filesystem type of the volume that you want 951 to mount. Tip: Ensure that the filesystem type is supported 952 by the host operating system. Examples: "ext4", "xfs", 953 "ntfs". Implicitly inferred to be "ext4" if unspecified. 954 More info: https://kubernetes.io/docs/concepts/storage/volumes#iscsi 955 TODO: how do we prevent errors in the filesystem from 956 compromising the machine' 957 type: string 958 initiatorName: 959 description: Custom iSCSI Initiator Name. If initiatorName 960 is specified with iscsiInterface simultaneously, new 961 iSCSI interface <target portal>:<volume name> will be 962 created for the connection. 963 type: string 964 iqn: 965 description: Target iSCSI Qualified Name. 966 type: string 967 iscsiInterface: 968 description: iSCSI Interface Name that uses an iSCSI transport. 969 Defaults to 'default' (tcp). 970 type: string 971 lun: 972 description: iSCSI Target Lun number. 973 type: integer 974 format: int32 975 portals: 976 description: iSCSI Target Portal List. The portal is either 977 an IP or ip_addr:port if the port is other than default 978 (typically TCP ports 860 and 3260). 979 type: array 980 items: 981 type: string 982 readOnly: 983 description: ReadOnly here will force the ReadOnly setting 984 in VolumeMounts. Defaults to false. 985 type: boolean 986 secretRef: 987 description: CHAP Secret for iSCSI target and initiator 988 authentication 989 type: object 990 properties: 991 name: 992 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 993 TODO: Add other useful fields. apiVersion, kind, 994 uid?' 995 type: string 996 targetPortal: 997 description: iSCSI Target Portal. The Portal is either 998 an IP or ip_addr:port if the port is other than default 999 (typically TCP ports 860 and 3260). 1000 type: string 1001 name: 1002 description: 'Volume''s name. Must be a DNS_LABEL and unique 1003 within the pod. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' 1004 type: string 1005 nfs: 1006 description: 'NFS represents an NFS mount on the host that 1007 shares a pod''s lifetime More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs' 1008 type: object 1009 required: 1010 - path 1011 - server 1012 properties: 1013 path: 1014 description: 'Path that is exported by the NFS server. 1015 More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs' 1016 type: string 1017 readOnly: 1018 description: 'ReadOnly here will force the NFS export 1019 to be mounted with read-only permissions. Defaults to 1020 false. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs' 1021 type: boolean 1022 server: 1023 description: 'Server is the hostname or IP address of 1024 the NFS server. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs' 1025 type: string 1026 persistentVolumeClaim: 1027 description: 'PersistentVolumeClaimVolumeSource represents 1028 a reference to a PersistentVolumeClaim in the same namespace. 1029 More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims' 1030 type: object 1031 required: 1032 - claimName 1033 properties: 1034 claimName: 1035 description: 'ClaimName is the name of a PersistentVolumeClaim 1036 in the same namespace as the pod using this volume. 1037 More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims' 1038 type: string 1039 readOnly: 1040 description: Will force the ReadOnly setting in VolumeMounts. 1041 Default false. 1042 type: boolean 1043 photonPersistentDisk: 1044 description: PhotonPersistentDisk represents a PhotonController 1045 persistent disk attached and mounted on kubelets host machine 1046 type: object 1047 required: 1048 - pdID 1049 properties: 1050 fsType: 1051 description: Filesystem type to mount. Must be a filesystem 1052 type supported by the host operating system. Ex. "ext4", 1053 "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. 1054 type: string 1055 pdID: 1056 description: ID that identifies Photon Controller persistent 1057 disk 1058 type: string 1059 portworxVolume: 1060 description: PortworxVolume represents a portworx volume attached 1061 and mounted on kubelets host machine 1062 type: object 1063 required: 1064 - volumeID 1065 properties: 1066 fsType: 1067 description: FSType represents the filesystem type to 1068 mount Must be a filesystem type supported by the host 1069 operating system. Ex. "ext4", "xfs". Implicitly inferred 1070 to be "ext4" if unspecified. 1071 type: string 1072 readOnly: 1073 description: Defaults to false (read/write). ReadOnly 1074 here will force the ReadOnly setting in VolumeMounts. 1075 type: boolean 1076 volumeID: 1077 description: VolumeID uniquely identifies a Portworx volume 1078 type: string 1079 projected: 1080 description: Items for all in one resources secrets, configmaps, 1081 and downward API 1082 type: object 1083 required: 1084 - sources 1085 properties: 1086 defaultMode: 1087 description: Mode bits to use on created files by default. 1088 Must be a value between 0 and 0777. Directories within 1089 the path are not affected by this setting. This might 1090 be in conflict with other options that affect the file 1091 mode, like fsGroup, and the result can be other mode 1092 bits set. 1093 type: integer 1094 format: int32 1095 sources: 1096 description: list of volume projections 1097 type: array 1098 items: 1099 description: Projection that may be projected along 1100 with other supported volume types 1101 type: object 1102 properties: 1103 configMap: 1104 description: information about the configMap data 1105 to project 1106 type: object 1107 properties: 1108 items: 1109 description: If unspecified, each key-value 1110 pair in the Data field of the referenced ConfigMap 1111 will be projected into the volume as a file 1112 whose name is the key and content is the value. 1113 If specified, the listed keys will be projected 1114 into the specified paths, and unlisted keys 1115 will not be present. If a key is specified 1116 which is not present in the ConfigMap, the 1117 volume setup will error unless it is marked 1118 optional. Paths must be relative and may not 1119 contain the '..' path or start with '..'. 1120 type: array 1121 items: 1122 description: Maps a string key to a path within 1123 a volume. 1124 type: object 1125 required: 1126 - key 1127 - path 1128 properties: 1129 key: 1130 description: The key to project. 1131 type: string 1132 mode: 1133 description: 'Optional: mode bits to use 1134 on this file, must be a value between 1135 0 and 0777. If not specified, the volume 1136 defaultMode will be used. This might 1137 be in conflict with other options that 1138 affect the file mode, like fsGroup, 1139 and the result can be other mode bits 1140 set.' 1141 type: integer 1142 format: int32 1143 path: 1144 description: The relative path of the 1145 file to map the key to. May not be an 1146 absolute path. May not contain the path 1147 element '..'. May not start with the 1148 string '..'. 1149 type: string 1150 name: 1151 description: 'Name of the referent. More info: 1152 https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 1153 TODO: Add other useful fields. apiVersion, 1154 kind, uid?' 1155 type: string 1156 optional: 1157 description: Specify whether the ConfigMap or 1158 its keys must be defined 1159 type: boolean 1160 downwardAPI: 1161 description: information about the downwardAPI data 1162 to project 1163 type: object 1164 properties: 1165 items: 1166 description: Items is a list of DownwardAPIVolume 1167 file 1168 type: array 1169 items: 1170 description: DownwardAPIVolumeFile represents 1171 information to create the file containing 1172 the pod field 1173 type: object 1174 required: 1175 - path 1176 properties: 1177 fieldRef: 1178 description: 'Required: Selects a field 1179 of the pod: only annotations, labels, 1180 name and namespace are supported.' 1181 type: object 1182 required: 1183 - fieldPath 1184 properties: 1185 apiVersion: 1186 description: Version of the schema 1187 the FieldPath is written in terms 1188 of, defaults to "v1". 1189 type: string 1190 fieldPath: 1191 description: Path of the field to 1192 select in the specified API version. 1193 type: string 1194 mode: 1195 description: 'Optional: mode bits to use 1196 on this file, must be a value between 1197 0 and 0777. If not specified, the volume 1198 defaultMode will be used. This might 1199 be in conflict with other options that 1200 affect the file mode, like fsGroup, 1201 and the result can be other mode bits 1202 set.' 1203 type: integer 1204 format: int32 1205 path: 1206 description: 'Required: Path is the relative 1207 path name of the file to be created. 1208 Must not be absolute or contain the 1209 ''..'' path. Must be utf-8 encoded. 1210 The first item of the relative path 1211 must not start with ''..''' 1212 type: string 1213 resourceFieldRef: 1214 description: 'Selects a resource of the 1215 container: only resources limits and 1216 requests (limits.cpu, limits.memory, 1217 requests.cpu and requests.memory) are 1218 currently supported.' 1219 type: object 1220 required: 1221 - resource 1222 properties: 1223 containerName: 1224 description: 'Container name: required 1225 for volumes, optional for env vars' 1226 type: string 1227 divisor: 1228 description: Specifies the output 1229 format of the exposed resources, 1230 defaults to "1" 1231 type: string 1232 resource: 1233 description: 'Required: resource to 1234 select' 1235 type: string 1236 secret: 1237 description: information about the secret data to 1238 project 1239 type: object 1240 properties: 1241 items: 1242 description: If unspecified, each key-value 1243 pair in the Data field of the referenced Secret 1244 will be projected into the volume as a file 1245 whose name is the key and content is the value. 1246 If specified, the listed keys will be projected 1247 into the specified paths, and unlisted keys 1248 will not be present. If a key is specified 1249 which is not present in the Secret, the volume 1250 setup will error unless it is marked optional. 1251 Paths must be relative and may not contain 1252 the '..' path or start with '..'. 1253 type: array 1254 items: 1255 description: Maps a string key to a path within 1256 a volume. 1257 type: object 1258 required: 1259 - key 1260 - path 1261 properties: 1262 key: 1263 description: The key to project. 1264 type: string 1265 mode: 1266 description: 'Optional: mode bits to use 1267 on this file, must be a value between 1268 0 and 0777. If not specified, the volume 1269 defaultMode will be used. This might 1270 be in conflict with other options that 1271 affect the file mode, like fsGroup, 1272 and the result can be other mode bits 1273 set.' 1274 type: integer 1275 format: int32 1276 path: 1277 description: The relative path of the 1278 file to map the key to. May not be an 1279 absolute path. May not contain the path 1280 element '..'. May not start with the 1281 string '..'. 1282 type: string 1283 name: 1284 description: 'Name of the referent. More info: 1285 https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 1286 TODO: Add other useful fields. apiVersion, 1287 kind, uid?' 1288 type: string 1289 optional: 1290 description: Specify whether the Secret or its 1291 key must be defined 1292 type: boolean 1293 serviceAccountToken: 1294 description: information about the serviceAccountToken 1295 data to project 1296 type: object 1297 required: 1298 - path 1299 properties: 1300 audience: 1301 description: Audience is the intended audience 1302 of the token. A recipient of a token must 1303 identify itself with an identifier specified 1304 in the audience of the token, and otherwise 1305 should reject the token. The audience defaults 1306 to the identifier of the apiserver. 1307 type: string 1308 expirationSeconds: 1309 description: ExpirationSeconds is the requested 1310 duration of validity of the service account 1311 token. As the token approaches expiration, 1312 the kubelet volume plugin will proactively 1313 rotate the service account token. The kubelet 1314 will start trying to rotate the token if the 1315 token is older than 80 percent of its time 1316 to live or if the token is older than 24 hours.Defaults 1317 to 1 hour and must be at least 10 minutes. 1318 type: integer 1319 format: int64 1320 path: 1321 description: Path is the path relative to the 1322 mount point of the file to project the token 1323 into. 1324 type: string 1325 quobyte: 1326 description: Quobyte represents a Quobyte mount on the host 1327 that shares a pod's lifetime 1328 type: object 1329 required: 1330 - registry 1331 - volume 1332 properties: 1333 group: 1334 description: Group to map volume access to Default is 1335 no group 1336 type: string 1337 readOnly: 1338 description: ReadOnly here will force the Quobyte volume 1339 to be mounted with read-only permissions. Defaults to 1340 false. 1341 type: boolean 1342 registry: 1343 description: Registry represents a single or multiple 1344 Quobyte Registry services specified as a string as host:port 1345 pair (multiple entries are separated with commas) which 1346 acts as the central registry for volumes 1347 type: string 1348 tenant: 1349 description: Tenant owning the given Quobyte volume in 1350 the Backend Used with dynamically provisioned Quobyte 1351 volumes, value is set by the plugin 1352 type: string 1353 user: 1354 description: User to map volume access to Defaults to 1355 serivceaccount user 1356 type: string 1357 volume: 1358 description: Volume is a string that references an already 1359 created Quobyte volume by name. 1360 type: string 1361 rbd: 1362 description: 'RBD represents a Rados Block Device mount on 1363 the host that shares a pod''s lifetime. More info: https://examples.k8s.io/volumes/rbd/README.md' 1364 type: object 1365 required: 1366 - image 1367 - monitors 1368 properties: 1369 fsType: 1370 description: 'Filesystem type of the volume that you want 1371 to mount. Tip: Ensure that the filesystem type is supported 1372 by the host operating system. Examples: "ext4", "xfs", 1373 "ntfs". Implicitly inferred to be "ext4" if unspecified. 1374 More info: https://kubernetes.io/docs/concepts/storage/volumes#rbd 1375 TODO: how do we prevent errors in the filesystem from 1376 compromising the machine' 1377 type: string 1378 image: 1379 description: 'The rados image name. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it' 1380 type: string 1381 keyring: 1382 description: 'Keyring is the path to key ring for RBDUser. 1383 Default is /etc/ceph/keyring. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it' 1384 type: string 1385 monitors: 1386 description: 'A collection of Ceph monitors. More info: 1387 https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it' 1388 type: array 1389 items: 1390 type: string 1391 pool: 1392 description: 'The rados pool name. Default is rbd. More 1393 info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it' 1394 type: string 1395 readOnly: 1396 description: 'ReadOnly here will force the ReadOnly setting 1397 in VolumeMounts. Defaults to false. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it' 1398 type: boolean 1399 secretRef: 1400 description: 'SecretRef is name of the authentication 1401 secret for RBDUser. If provided overrides keyring. Default 1402 is nil. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it' 1403 type: object 1404 properties: 1405 name: 1406 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 1407 TODO: Add other useful fields. apiVersion, kind, 1408 uid?' 1409 type: string 1410 user: 1411 description: 'The rados user name. Default is admin. More 1412 info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it' 1413 type: string 1414 scaleIO: 1415 description: ScaleIO represents a ScaleIO persistent volume 1416 attached and mounted on Kubernetes nodes. 1417 type: object 1418 required: 1419 - gateway 1420 - secretRef 1421 - system 1422 properties: 1423 fsType: 1424 description: Filesystem type to mount. Must be a filesystem 1425 type supported by the host operating system. Ex. "ext4", 1426 "xfs", "ntfs". Default is "xfs". 1427 type: string 1428 gateway: 1429 description: The host address of the ScaleIO API Gateway. 1430 type: string 1431 protectionDomain: 1432 description: The name of the ScaleIO Protection Domain 1433 for the configured storage. 1434 type: string 1435 readOnly: 1436 description: Defaults to false (read/write). ReadOnly 1437 here will force the ReadOnly setting in VolumeMounts. 1438 type: boolean 1439 secretRef: 1440 description: SecretRef references to the secret for ScaleIO 1441 user and other sensitive information. If this is not 1442 provided, Login operation will fail. 1443 type: object 1444 properties: 1445 name: 1446 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 1447 TODO: Add other useful fields. apiVersion, kind, 1448 uid?' 1449 type: string 1450 sslEnabled: 1451 description: Flag to enable/disable SSL communication 1452 with Gateway, default false 1453 type: boolean 1454 storageMode: 1455 description: Indicates whether the storage for a volume 1456 should be ThickProvisioned or ThinProvisioned. Default 1457 is ThinProvisioned. 1458 type: string 1459 storagePool: 1460 description: The ScaleIO Storage Pool associated with 1461 the protection domain. 1462 type: string 1463 system: 1464 description: The name of the storage system as configured 1465 in ScaleIO. 1466 type: string 1467 volumeName: 1468 description: The name of a volume already created in the 1469 ScaleIO system that is associated with this volume source. 1470 type: string 1471 secret: 1472 description: 'Secret represents a secret that should populate 1473 this volume. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret' 1474 type: object 1475 properties: 1476 defaultMode: 1477 description: 'Optional: mode bits to use on created files 1478 by default. Must be a value between 0 and 0777. Defaults 1479 to 0644. Directories within the path are not affected 1480 by this setting. This might be in conflict with other 1481 options that affect the file mode, like fsGroup, and 1482 the result can be other mode bits set.' 1483 type: integer 1484 format: int32 1485 items: 1486 description: If unspecified, each key-value pair in the 1487 Data field of the referenced Secret will be projected 1488 into the volume as a file whose name is the key and 1489 content is the value. If specified, the listed keys 1490 will be projected into the specified paths, and unlisted 1491 keys will not be present. If a key is specified which 1492 is not present in the Secret, the volume setup will 1493 error unless it is marked optional. Paths must be relative 1494 and may not contain the '..' path or start with '..'. 1495 type: array 1496 items: 1497 description: Maps a string key to a path within a volume. 1498 type: object 1499 required: 1500 - key 1501 - path 1502 properties: 1503 key: 1504 description: The key to project. 1505 type: string 1506 mode: 1507 description: 'Optional: mode bits to use on this 1508 file, must be a value between 0 and 0777. If not 1509 specified, the volume defaultMode will be used. 1510 This might be in conflict with other options that 1511 affect the file mode, like fsGroup, and the result 1512 can be other mode bits set.' 1513 type: integer 1514 format: int32 1515 path: 1516 description: The relative path of the file to map 1517 the key to. May not be an absolute path. May not 1518 contain the path element '..'. May not start with 1519 the string '..'. 1520 type: string 1521 optional: 1522 description: Specify whether the Secret or its keys must 1523 be defined 1524 type: boolean 1525 secretName: 1526 description: 'Name of the secret in the pod''s namespace 1527 to use. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret' 1528 type: string 1529 storageos: 1530 description: StorageOS represents a StorageOS volume attached 1531 and mounted on Kubernetes nodes. 1532 type: object 1533 properties: 1534 fsType: 1535 description: Filesystem type to mount. Must be a filesystem 1536 type supported by the host operating system. Ex. "ext4", 1537 "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. 1538 type: string 1539 readOnly: 1540 description: Defaults to false (read/write). ReadOnly 1541 here will force the ReadOnly setting in VolumeMounts. 1542 type: boolean 1543 secretRef: 1544 description: SecretRef specifies the secret to use for 1545 obtaining the StorageOS API credentials. If not specified, 1546 default values will be attempted. 1547 type: object 1548 properties: 1549 name: 1550 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 1551 TODO: Add other useful fields. apiVersion, kind, 1552 uid?' 1553 type: string 1554 volumeName: 1555 description: VolumeName is the human-readable name of 1556 the StorageOS volume. Volume names are only unique 1557 within a namespace. 1558 type: string 1559 volumeNamespace: 1560 description: VolumeNamespace specifies the scope of the 1561 volume within StorageOS. If no namespace is specified 1562 then the Pod's namespace will be used. This allows 1563 the Kubernetes name scoping to be mirrored within StorageOS 1564 for tighter integration. Set VolumeName to any name 1565 to override the default behaviour. Set to "default" 1566 if you are not using namespaces within StorageOS. Namespaces 1567 that do not pre-exist within StorageOS will be created. 1568 type: string 1569 vsphereVolume: 1570 description: VsphereVolume represents a vSphere volume attached 1571 and mounted on kubelets host machine 1572 type: object 1573 required: 1574 - volumePath 1575 properties: 1576 fsType: 1577 description: Filesystem type to mount. Must be a filesystem 1578 type supported by the host operating system. Ex. "ext4", 1579 "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. 1580 type: string 1581 storagePolicyID: 1582 description: Storage Policy Based Management (SPBM) profile 1583 ID associated with the StoragePolicyName. 1584 type: string 1585 storagePolicyName: 1586 description: Storage Policy Based Management (SPBM) profile 1587 name. 1588 type: string 1589 volumePath: 1590 description: Path that identifies vSphere volume vmdk 1591 type: string 1592 installPlanApproval: 1593 description: Approval is the user approval policy for an InstallPlan. 1594 type: string 1595 name: 1596 type: string 1597 source: 1598 type: string 1599 sourceNamespace: 1600 type: string 1601 startingCSV: 1602 type: string 1603 status: 1604 type: object 1605 required: 1606 - lastUpdated 1607 properties: 1608 catalogHealth: 1609 description: CatalogHealth contains the Subscription's view of its relevant 1610 CatalogSources' status. It is used to determine SubscriptionStatusConditions 1611 related to CatalogSources. 1612 type: array 1613 items: 1614 description: SubscriptionCatalogHealth describes the health of a CatalogSource 1615 the Subscription knows about. 1616 type: object 1617 required: 1618 - catalogSourceRef 1619 - healthy 1620 - lastUpdated 1621 properties: 1622 catalogSourceRef: 1623 description: CatalogSourceRef is a reference to a CatalogSource. 1624 type: object 1625 properties: 1626 apiVersion: 1627 description: API version of the referent. 1628 type: string 1629 fieldPath: 1630 description: 'If referring to a piece of an object instead 1631 of an entire object, this string should contain a valid 1632 JSON/Go field access statement, such as desiredState.manifest.containers[2]. 1633 For example, if the object reference is to a container within 1634 a pod, this would take on a value like: "spec.containers{name}" 1635 (where "name" refers to the name of the container that triggered 1636 the event) or if no container name is specified "spec.containers[2]" 1637 (container with index 2 in this pod). This syntax is chosen 1638 only to have some well-defined way of referencing a part 1639 of an object. TODO: this design is not final and this field 1640 is subject to change in the future.' 1641 type: string 1642 kind: 1643 description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 1644 type: string 1645 name: 1646 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' 1647 type: string 1648 namespace: 1649 description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' 1650 type: string 1651 resourceVersion: 1652 description: 'Specific resourceVersion to which this reference 1653 is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' 1654 type: string 1655 uid: 1656 description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' 1657 type: string 1658 healthy: 1659 description: Healthy is true if the CatalogSource is healthy; 1660 false otherwise. 1661 type: boolean 1662 lastUpdated: 1663 description: LastUpdated represents the last time that the CatalogSourceHealth 1664 changed 1665 type: string 1666 format: date-time 1667 conditions: 1668 description: Conditions is a list of the latest available observations 1669 about a Subscription's current state. 1670 type: array 1671 items: 1672 description: SubscriptionCondition represents the latest available 1673 observations of a Subscription's state. 1674 type: object 1675 required: 1676 - status 1677 - type 1678 properties: 1679 lastHeartbeatTime: 1680 description: LastHeartbeatTime is the last time we got an update 1681 on a given condition 1682 type: string 1683 format: date-time 1684 lastTransitionTime: 1685 description: LastTransitionTime is the last time the condition 1686 transit from one status to another 1687 type: string 1688 format: date-time 1689 message: 1690 description: Message is a human-readable message indicating details 1691 about last transition. 1692 type: string 1693 reason: 1694 description: Reason is a one-word CamelCase reason for the condition's 1695 last transition. 1696 type: string 1697 status: 1698 description: Status is the status of the condition, one of True, 1699 False, Unknown. 1700 type: string 1701 type: 1702 description: Type is the type of Subscription condition. 1703 type: string 1704 currentCSV: 1705 description: CurrentCSV is the CSV the Subscription is progressing to. 1706 type: string 1707 installPlanRef: 1708 description: InstallPlanRef is a reference to the latest InstallPlan 1709 that contains the Subscription's current CSV. 1710 type: object 1711 properties: 1712 apiVersion: 1713 description: API version of the referent. 1714 type: string 1715 fieldPath: 1716 description: 'If referring to a piece of an object instead of an 1717 entire object, this string should contain a valid JSON/Go field 1718 access statement, such as desiredState.manifest.containers[2]. 1719 For example, if the object reference is to a container within 1720 a pod, this would take on a value like: "spec.containers{name}" 1721 (where "name" refers to the name of the container that triggered 1722 the event) or if no container name is specified "spec.containers[2]" 1723 (container with index 2 in this pod). This syntax is chosen only 1724 to have some well-defined way of referencing a part of an object. 1725 TODO: this design is not final and this field is subject to change 1726 in the future.' 1727 type: string 1728 kind: 1729 description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 1730 type: string 1731 name: 1732 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' 1733 type: string 1734 namespace: 1735 description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' 1736 type: string 1737 resourceVersion: 1738 description: 'Specific resourceVersion to which this reference is 1739 made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' 1740 type: string 1741 uid: 1742 description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' 1743 type: string 1744 installedCSV: 1745 description: InstalledCSV is the CSV currently installed by the Subscription. 1746 type: string 1747 installplan: 1748 description: 'Install is a reference to the latest InstallPlan generated 1749 for the Subscription. DEPRECATED: InstallPlanRef' 1750 type: object 1751 required: 1752 - apiVersion 1753 - kind 1754 - name 1755 - uuid 1756 properties: 1757 apiVersion: 1758 type: string 1759 kind: 1760 type: string 1761 name: 1762 type: string 1763 uuid: 1764 description: UID is a type that holds unique ID values, including 1765 UUIDs. Because we don't ONLY use UUIDs, this is an alias to string. Being 1766 a type captures intent and helps make sure that UIDs and names 1767 do not get conflated. 1768 type: string 1769 lastUpdated: 1770 description: LastUpdated represents the last time that the Subscription 1771 status was updated. 1772 type: string 1773 format: date-time 1774 reason: 1775 description: Reason is the reason the Subscription was transitioned 1776 to its current state. 1777 type: string 1778 state: 1779 description: State represents the current state of the Subscription 1780 type: string