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