github.com/operator-framework/operator-lifecycle-manager@v0.30.0/deploy/upstream/manifests/0.18.3/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.4.1 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 Catalogs. 41 type: object 42 required: 43 - metadata 44 - spec 45 properties: 46 apiVersion: 47 description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' 48 type: string 49 kind: 50 description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 51 type: string 52 metadata: 53 type: object 54 spec: 55 description: SubscriptionSpec defines an Application that can be installed 56 type: object 57 required: 58 - name 59 - source 60 - sourceNamespace 61 properties: 62 channel: 63 type: string 64 config: 65 description: SubscriptionConfig contains configuration specified for a subscription. 66 type: object 67 properties: 68 env: 69 description: Env is a list of environment variables to set in the container. Cannot be updated. 70 type: array 71 items: 72 description: EnvVar represents an environment variable present in a Container. 73 type: object 74 required: 75 - name 76 properties: 77 name: 78 description: Name of the environment variable. Must be a C_IDENTIFIER. 79 type: string 80 value: 81 description: 'Variable references $(VAR_NAME) are expanded using the previous defined environment variables in the container and any service environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to "".' 82 type: string 83 valueFrom: 84 description: Source for the environment variable's value. Cannot be used if value is not empty. 85 type: object 86 properties: 87 configMapKeyRef: 88 description: Selects a key of a ConfigMap. 89 type: object 90 required: 91 - key 92 properties: 93 key: 94 description: The key to select. 95 type: string 96 name: 97 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?' 98 type: string 99 optional: 100 description: Specify whether the ConfigMap or its key must be defined 101 type: boolean 102 fieldRef: 103 description: 'Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels[''<KEY>'']`, `metadata.annotations[''<KEY>'']`, spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs.' 104 type: object 105 required: 106 - fieldPath 107 properties: 108 apiVersion: 109 description: Version of the schema the FieldPath is written in terms of, defaults to "v1". 110 type: string 111 fieldPath: 112 description: Path of the field to select in the specified API version. 113 type: string 114 resourceFieldRef: 115 description: 'Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported.' 116 type: object 117 required: 118 - resource 119 properties: 120 containerName: 121 description: 'Container name: required for volumes, optional for env vars' 122 type: string 123 divisor: 124 description: Specifies the output format of the exposed resources, defaults to "1" 125 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 126 anyOf: 127 - type: integer 128 - type: string 129 x-kubernetes-int-or-string: true 130 resource: 131 description: 'Required: resource to select' 132 type: string 133 secretKeyRef: 134 description: Selects a key of a secret in the pod's namespace 135 type: object 136 required: 137 - key 138 properties: 139 key: 140 description: The key of the secret to select from. Must be a valid secret key. 141 type: string 142 name: 143 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?' 144 type: string 145 optional: 146 description: Specify whether the Secret or its key must be defined 147 type: boolean 148 envFrom: 149 description: EnvFrom is a list of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Immutable. 150 type: array 151 items: 152 description: EnvFromSource represents the source of a set of ConfigMaps 153 type: object 154 properties: 155 configMapRef: 156 description: The ConfigMap to select from 157 type: object 158 properties: 159 name: 160 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?' 161 type: string 162 optional: 163 description: Specify whether the ConfigMap must be defined 164 type: boolean 165 prefix: 166 description: An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER. 167 type: string 168 secretRef: 169 description: The Secret to select from 170 type: object 171 properties: 172 name: 173 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?' 174 type: string 175 optional: 176 description: Specify whether the Secret must be defined 177 type: boolean 178 nodeSelector: 179 description: 'NodeSelector is a selector which must be true for the pod to fit on a node. Selector which must match a node''s labels for the pod to be scheduled on that node. More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/' 180 type: object 181 additionalProperties: 182 type: string 183 resources: 184 description: 'Resources represents compute resources required by this container. Immutable. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' 185 type: object 186 properties: 187 limits: 188 description: 'Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' 189 type: object 190 additionalProperties: 191 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 192 anyOf: 193 - type: integer 194 - type: string 195 x-kubernetes-int-or-string: true 196 requests: 197 description: 'Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' 198 type: object 199 additionalProperties: 200 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 201 anyOf: 202 - type: integer 203 - type: string 204 x-kubernetes-int-or-string: true 205 selector: 206 description: Selector is the label selector for pods to be configured. Existing ReplicaSets whose pods are selected by this will be the ones affected by this deployment. It must match the pod template's labels. 207 type: object 208 properties: 209 matchExpressions: 210 description: matchExpressions is a list of label selector requirements. The requirements are ANDed. 211 type: array 212 items: 213 description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. 214 type: object 215 required: 216 - key 217 - operator 218 properties: 219 key: 220 description: key is the label key that the selector applies to. 221 type: string 222 operator: 223 description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. 224 type: string 225 values: 226 description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. 227 type: array 228 items: 229 type: string 230 matchLabels: 231 description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. 232 type: object 233 additionalProperties: 234 type: string 235 tolerations: 236 description: Tolerations are the pod's tolerations. 237 type: array 238 items: 239 description: The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect> using the matching operator <operator>. 240 type: object 241 properties: 242 effect: 243 description: Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute. 244 type: string 245 key: 246 description: Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys. 247 type: string 248 operator: 249 description: Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category. 250 type: string 251 tolerationSeconds: 252 description: TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system. 253 type: integer 254 format: int64 255 value: 256 description: Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string. 257 type: string 258 volumeMounts: 259 description: List of VolumeMounts to set in the container. 260 type: array 261 items: 262 description: VolumeMount describes a mounting of a Volume within a container. 263 type: object 264 required: 265 - mountPath 266 - name 267 properties: 268 mountPath: 269 description: Path within the container at which the volume should be mounted. Must not contain ':'. 270 type: string 271 mountPropagation: 272 description: mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationNone is used. This field is beta in 1.10. 273 type: string 274 name: 275 description: This must match the Name of a Volume. 276 type: string 277 readOnly: 278 description: Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false. 279 type: boolean 280 subPath: 281 description: Path within the volume from which the container's volume should be mounted. Defaults to "" (volume's root). 282 type: string 283 subPathExpr: 284 description: Expanded path within the volume from which the container's volume should be mounted. Behaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container's environment. Defaults to "" (volume's root). SubPathExpr and SubPath are mutually exclusive. 285 type: string 286 volumes: 287 description: List of Volumes to set in the podSpec. 288 type: array 289 items: 290 description: Volume represents a named volume in a pod that may be accessed by any container in the pod. 291 type: object 292 required: 293 - name 294 properties: 295 awsElasticBlockStore: 296 description: 'AWSElasticBlockStore represents an AWS Disk resource that is attached to a kubelet''s host machine and then exposed to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore' 297 type: object 298 required: 299 - volumeID 300 properties: 301 fsType: 302 description: 'Filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore TODO: how do we prevent errors in the filesystem from compromising the machine' 303 type: string 304 partition: 305 description: 'The partition in the volume that you want to mount. If omitted, the default is to mount by volume name. Examples: For volume /dev/sda1, you specify the partition as "1". Similarly, the volume partition for /dev/sda is "0" (or you can leave the property empty).' 306 type: integer 307 format: int32 308 readOnly: 309 description: 'Specify "true" to force and set the ReadOnly property in VolumeMounts to "true". If omitted, the default is "false". More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore' 310 type: boolean 311 volumeID: 312 description: 'Unique ID of the persistent disk resource in AWS (Amazon EBS volume). More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore' 313 type: string 314 azureDisk: 315 description: AzureDisk represents an Azure Data Disk mount on the host and bind mount to the pod. 316 type: object 317 required: 318 - diskName 319 - diskURI 320 properties: 321 cachingMode: 322 description: 'Host Caching mode: None, Read Only, Read Write.' 323 type: string 324 diskName: 325 description: The Name of the data disk in the blob storage 326 type: string 327 diskURI: 328 description: The URI the data disk in the blob storage 329 type: string 330 fsType: 331 description: Filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. 332 type: string 333 kind: 334 description: 'Expected values Shared: multiple blob disks per storage account Dedicated: single blob disk per storage account Managed: azure managed data disk (only in managed availability set). defaults to shared' 335 type: string 336 readOnly: 337 description: Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. 338 type: boolean 339 azureFile: 340 description: AzureFile represents an Azure File Service mount on the host and bind mount to the pod. 341 type: object 342 required: 343 - secretName 344 - shareName 345 properties: 346 readOnly: 347 description: Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. 348 type: boolean 349 secretName: 350 description: the name of secret that contains Azure Storage Account Name and Key 351 type: string 352 shareName: 353 description: Share Name 354 type: string 355 cephfs: 356 description: CephFS represents a Ceph FS mount on the host that shares a pod's lifetime 357 type: object 358 required: 359 - monitors 360 properties: 361 monitors: 362 description: 'Required: Monitors is a collection of Ceph monitors More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it' 363 type: array 364 items: 365 type: string 366 path: 367 description: 'Optional: Used as the mounted root, rather than the full Ceph tree, default is /' 368 type: string 369 readOnly: 370 description: 'Optional: Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it' 371 type: boolean 372 secretFile: 373 description: 'Optional: SecretFile is the path to key ring for User, default is /etc/ceph/user.secret More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it' 374 type: string 375 secretRef: 376 description: 'Optional: SecretRef is reference to the authentication secret for User, default is empty. More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it' 377 type: object 378 properties: 379 name: 380 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?' 381 type: string 382 user: 383 description: 'Optional: User is the rados user name, default is admin More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it' 384 type: string 385 cinder: 386 description: 'Cinder represents a cinder volume attached and mounted on kubelets host machine. More info: https://examples.k8s.io/mysql-cinder-pd/README.md' 387 type: object 388 required: 389 - volumeID 390 properties: 391 fsType: 392 description: 'Filesystem type to mount. Must be a filesystem type supported by the host operating system. Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. More info: https://examples.k8s.io/mysql-cinder-pd/README.md' 393 type: string 394 readOnly: 395 description: 'Optional: Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. More info: https://examples.k8s.io/mysql-cinder-pd/README.md' 396 type: boolean 397 secretRef: 398 description: 'Optional: points to a secret object containing parameters used to connect to OpenStack.' 399 type: object 400 properties: 401 name: 402 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?' 403 type: string 404 volumeID: 405 description: 'volume id used to identify the volume in cinder. More info: https://examples.k8s.io/mysql-cinder-pd/README.md' 406 type: string 407 configMap: 408 description: ConfigMap represents a configMap that should populate this volume 409 type: object 410 properties: 411 defaultMode: 412 description: 'Optional: mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.' 413 type: integer 414 format: int32 415 items: 416 description: If unspecified, each key-value pair in the Data field of the referenced ConfigMap will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the ConfigMap, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'. 417 type: array 418 items: 419 description: Maps a string key to a path within a volume. 420 type: object 421 required: 422 - key 423 - path 424 properties: 425 key: 426 description: The key to project. 427 type: string 428 mode: 429 description: 'Optional: mode bits used to set permissions on this file. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.' 430 type: integer 431 format: int32 432 path: 433 description: The relative path of the file to map the key to. May not be an absolute path. May not contain the path element '..'. May not start with the string '..'. 434 type: string 435 name: 436 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?' 437 type: string 438 optional: 439 description: Specify whether the ConfigMap or its keys must be defined 440 type: boolean 441 csi: 442 description: CSI (Container Storage Interface) represents ephemeral storage that is handled by certain external CSI drivers (Beta feature). 443 type: object 444 required: 445 - driver 446 properties: 447 driver: 448 description: Driver is the name of the CSI driver that handles this volume. Consult with your admin for the correct name as registered in the cluster. 449 type: string 450 fsType: 451 description: Filesystem type to mount. Ex. "ext4", "xfs", "ntfs". If not provided, the empty value is passed to the associated CSI driver which will determine the default filesystem to apply. 452 type: string 453 nodePublishSecretRef: 454 description: NodePublishSecretRef is a reference to the secret object containing sensitive information to pass to the CSI driver to complete the CSI NodePublishVolume and NodeUnpublishVolume calls. This field is optional, and may be empty if no secret is required. If the secret object contains more than one secret, all secret references are passed. 455 type: object 456 properties: 457 name: 458 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?' 459 type: string 460 readOnly: 461 description: Specifies a read-only configuration for the volume. Defaults to false (read/write). 462 type: boolean 463 volumeAttributes: 464 description: VolumeAttributes stores driver-specific properties that are passed to the CSI driver. Consult your driver's documentation for supported values. 465 type: object 466 additionalProperties: 467 type: string 468 downwardAPI: 469 description: DownwardAPI represents downward API about the pod that should populate this volume 470 type: object 471 properties: 472 defaultMode: 473 description: 'Optional: mode bits to use on created files by default. Must be a Optional: mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.' 474 type: integer 475 format: int32 476 items: 477 description: Items is a list of downward API volume file 478 type: array 479 items: 480 description: DownwardAPIVolumeFile represents information to create the file containing the pod field 481 type: object 482 required: 483 - path 484 properties: 485 fieldRef: 486 description: 'Required: Selects a field of the pod: only annotations, labels, name and namespace are supported.' 487 type: object 488 required: 489 - fieldPath 490 properties: 491 apiVersion: 492 description: Version of the schema the FieldPath is written in terms of, defaults to "v1". 493 type: string 494 fieldPath: 495 description: Path of the field to select in the specified API version. 496 type: string 497 mode: 498 description: 'Optional: mode bits used to set permissions on this file, must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.' 499 type: integer 500 format: int32 501 path: 502 description: 'Required: Path is the relative path name of the file to be created. Must not be absolute or contain the ''..'' path. Must be utf-8 encoded. The first item of the relative path must not start with ''..''' 503 type: string 504 resourceFieldRef: 505 description: 'Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, requests.cpu and requests.memory) are currently supported.' 506 type: object 507 required: 508 - resource 509 properties: 510 containerName: 511 description: 'Container name: required for volumes, optional for env vars' 512 type: string 513 divisor: 514 description: Specifies the output format of the exposed resources, defaults to "1" 515 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 516 anyOf: 517 - type: integer 518 - type: string 519 x-kubernetes-int-or-string: true 520 resource: 521 description: 'Required: resource to select' 522 type: string 523 emptyDir: 524 description: 'EmptyDir represents a temporary directory that shares a pod''s lifetime. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir' 525 type: object 526 properties: 527 medium: 528 description: 'What type of storage medium should back this directory. The default is "" which means to use the node''s default medium. Must be an empty string (default) or Memory. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir' 529 type: string 530 sizeLimit: 531 description: 'Total amount of local storage required for this EmptyDir volume. The size limit is also applicable for memory medium. The maximum usage on memory medium EmptyDir would be the minimum value between the SizeLimit specified here and the sum of memory limits of all containers in a pod. The default is nil which means that the limit is undefined. More info: http://kubernetes.io/docs/user-guide/volumes#emptydir' 532 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 533 anyOf: 534 - type: integer 535 - type: string 536 x-kubernetes-int-or-string: true 537 ephemeral: 538 description: "Ephemeral represents a volume that is handled by a cluster storage driver (Alpha feature). The volume's lifecycle is tied to the pod that defines it - it will be created before the pod starts, and deleted when the pod is removed. \n Use this if: a) the volume is only needed while the pod runs, b) features of normal volumes like restoring from snapshot or capacity tracking are needed, c) the storage driver is specified through a storage class, and d) the storage driver supports dynamic volume provisioning through a PersistentVolumeClaim (see EphemeralVolumeSource for more information on the connection between this volume type and PersistentVolumeClaim). \n Use PersistentVolumeClaim or one of the vendor-specific APIs for volumes that persist for longer than the lifecycle of an individual pod. \n Use CSI for light-weight local ephemeral volumes if the CSI driver is meant to be used that way - see the documentation of the driver for more information. \n A pod can use both types of ephemeral volumes and persistent volumes at the same time." 539 type: object 540 properties: 541 readOnly: 542 description: Specifies a read-only configuration for the volume. Defaults to false (read/write). 543 type: boolean 544 volumeClaimTemplate: 545 description: "Will be used to create a stand-alone PVC to provision the volume. The pod in which this EphemeralVolumeSource is embedded will be the owner of the PVC, i.e. the PVC will be deleted together with the pod. The name of the PVC will be `<pod name>-<volume name>` where `<volume name>` is the name from the `PodSpec.Volumes` array entry. Pod validation will reject the pod if the concatenated name is not valid for a PVC (for example, too long). \n An existing PVC with that name that is not owned by the pod will *not* be used for the pod to avoid using an unrelated volume by mistake. Starting the pod is then blocked until the unrelated PVC is removed. If such a pre-created PVC is meant to be used by the pod, the PVC has to updated with an owner reference to the pod once the pod exists. Normally this should not be necessary, but it may be useful when manually reconstructing a broken cluster. \n This field is read-only and no changes will be made by Kubernetes to the PVC after it has been created. \n Required, must not be nil." 546 type: object 547 required: 548 - spec 549 properties: 550 metadata: 551 description: May contain labels and annotations that will be copied into the PVC when creating it. No other fields are allowed and will be rejected during validation. 552 type: object 553 spec: 554 description: The specification for the PersistentVolumeClaim. The entire content is copied unchanged into the PVC that gets created from this template. The same fields as in a PersistentVolumeClaim are also valid here. 555 type: object 556 properties: 557 accessModes: 558 description: 'AccessModes contains the desired access modes the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1' 559 type: array 560 items: 561 type: string 562 dataSource: 563 description: 'This field can be used to specify either: * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot) * An existing PVC (PersistentVolumeClaim) * An existing custom resource that implements data population (Alpha) In order to use custom resource types that implement data population, the AnyVolumeDataSource feature gate must be enabled. If the provisioner or an external controller can support the specified data source, it will create a new volume based on the contents of the specified data source.' 564 type: object 565 required: 566 - kind 567 - name 568 properties: 569 apiGroup: 570 description: APIGroup is the group for the resource being referenced. If APIGroup is not specified, the specified Kind must be in the core API group. For any other third-party types, APIGroup is required. 571 type: string 572 kind: 573 description: Kind is the type of resource being referenced 574 type: string 575 name: 576 description: Name is the name of resource being referenced 577 type: string 578 resources: 579 description: 'Resources represents the minimum resources the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources' 580 type: object 581 properties: 582 limits: 583 description: 'Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' 584 type: object 585 additionalProperties: 586 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 587 anyOf: 588 - type: integer 589 - type: string 590 x-kubernetes-int-or-string: true 591 requests: 592 description: 'Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' 593 type: object 594 additionalProperties: 595 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 596 anyOf: 597 - type: integer 598 - type: string 599 x-kubernetes-int-or-string: true 600 selector: 601 description: A label query over volumes to consider for binding. 602 type: object 603 properties: 604 matchExpressions: 605 description: matchExpressions is a list of label selector requirements. The requirements are ANDed. 606 type: array 607 items: 608 description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. 609 type: object 610 required: 611 - key 612 - operator 613 properties: 614 key: 615 description: key is the label key that the selector applies to. 616 type: string 617 operator: 618 description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. 619 type: string 620 values: 621 description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. 622 type: array 623 items: 624 type: string 625 matchLabels: 626 description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. 627 type: object 628 additionalProperties: 629 type: string 630 storageClassName: 631 description: 'Name of the StorageClass required by the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1' 632 type: string 633 volumeMode: 634 description: volumeMode defines what type of volume is required by the claim. Value of Filesystem is implied when not included in claim spec. 635 type: string 636 volumeName: 637 description: VolumeName is the binding reference to the PersistentVolume backing this claim. 638 type: string 639 fc: 640 description: FC represents a Fibre Channel resource that is attached to a kubelet's host machine and then exposed to the pod. 641 type: object 642 properties: 643 fsType: 644 description: 'Filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. TODO: how do we prevent errors in the filesystem from compromising the machine' 645 type: string 646 lun: 647 description: 'Optional: FC target lun number' 648 type: integer 649 format: int32 650 readOnly: 651 description: 'Optional: Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.' 652 type: boolean 653 targetWWNs: 654 description: 'Optional: FC target worldwide names (WWNs)' 655 type: array 656 items: 657 type: string 658 wwids: 659 description: 'Optional: FC volume world wide identifiers (wwids) Either wwids or combination of targetWWNs and lun must be set, but not both simultaneously.' 660 type: array 661 items: 662 type: string 663 flexVolume: 664 description: FlexVolume represents a generic volume resource that is provisioned/attached using an exec based plugin. 665 type: object 666 required: 667 - driver 668 properties: 669 driver: 670 description: Driver is the name of the driver to use for this volume. 671 type: string 672 fsType: 673 description: Filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. "ext4", "xfs", "ntfs". The default filesystem depends on FlexVolume script. 674 type: string 675 options: 676 description: 'Optional: Extra command options if any.' 677 type: object 678 additionalProperties: 679 type: string 680 readOnly: 681 description: 'Optional: Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.' 682 type: boolean 683 secretRef: 684 description: 'Optional: SecretRef is reference to the secret object containing sensitive information to pass to the plugin scripts. This may be empty if no secret object is specified. If the secret object contains more than one secret, all secrets are passed to the plugin scripts.' 685 type: object 686 properties: 687 name: 688 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?' 689 type: string 690 flocker: 691 description: Flocker represents a Flocker volume attached to a kubelet's host machine. This depends on the Flocker control service being running 692 type: object 693 properties: 694 datasetName: 695 description: Name of the dataset stored as metadata -> name on the dataset for Flocker should be considered as deprecated 696 type: string 697 datasetUUID: 698 description: UUID of the dataset. This is unique identifier of a Flocker dataset 699 type: string 700 gcePersistentDisk: 701 description: 'GCEPersistentDisk represents a GCE Disk resource that is attached to a kubelet''s host machine and then exposed to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk' 702 type: object 703 required: 704 - pdName 705 properties: 706 fsType: 707 description: 'Filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk TODO: how do we prevent errors in the filesystem from compromising the machine' 708 type: string 709 partition: 710 description: 'The partition in the volume that you want to mount. If omitted, the default is to mount by volume name. Examples: For volume /dev/sda1, you specify the partition as "1". Similarly, the volume partition for /dev/sda is "0" (or you can leave the property empty). More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk' 711 type: integer 712 format: int32 713 pdName: 714 description: 'Unique name of the PD resource in GCE. Used to identify the disk in GCE. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk' 715 type: string 716 readOnly: 717 description: 'ReadOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk' 718 type: boolean 719 gitRepo: 720 description: 'GitRepo represents a git repository at a particular revision. DEPRECATED: GitRepo is deprecated. To provision a container with a git repo, mount an EmptyDir into an InitContainer that clones the repo using git, then mount the EmptyDir into the Pod''s container.' 721 type: object 722 required: 723 - repository 724 properties: 725 directory: 726 description: Target directory name. Must not contain or start with '..'. If '.' is supplied, the volume directory will be the git repository. Otherwise, if specified, the volume will contain the git repository in the subdirectory with the given name. 727 type: string 728 repository: 729 description: Repository URL 730 type: string 731 revision: 732 description: Commit hash for the specified revision. 733 type: string 734 glusterfs: 735 description: 'Glusterfs represents a Glusterfs mount on the host that shares a pod''s lifetime. More info: https://examples.k8s.io/volumes/glusterfs/README.md' 736 type: object 737 required: 738 - endpoints 739 - path 740 properties: 741 endpoints: 742 description: 'EndpointsName is the endpoint name that details Glusterfs topology. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod' 743 type: string 744 path: 745 description: 'Path is the Glusterfs volume path. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod' 746 type: string 747 readOnly: 748 description: 'ReadOnly here will force the Glusterfs volume to be mounted with read-only permissions. Defaults to false. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod' 749 type: boolean 750 hostPath: 751 description: 'HostPath represents a pre-existing file or directory on the host machine that is directly exposed to the container. This is generally used for system agents or other privileged things that are allowed to see the host machine. Most containers will NOT need this. More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath --- TODO(jonesdl) We need to restrict who can use host directory mounts and who can/can not mount host directories as read/write.' 752 type: object 753 required: 754 - path 755 properties: 756 path: 757 description: 'Path of the directory on the host. If the path is a symlink, it will follow the link to the real path. More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath' 758 type: string 759 type: 760 description: 'Type for HostPath Volume Defaults to "" More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath' 761 type: string 762 iscsi: 763 description: 'ISCSI represents an ISCSI Disk resource that is attached to a kubelet''s host machine and then exposed to the pod. More info: https://examples.k8s.io/volumes/iscsi/README.md' 764 type: object 765 required: 766 - iqn 767 - lun 768 - targetPortal 769 properties: 770 chapAuthDiscovery: 771 description: whether support iSCSI Discovery CHAP authentication 772 type: boolean 773 chapAuthSession: 774 description: whether support iSCSI Session CHAP authentication 775 type: boolean 776 fsType: 777 description: 'Filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#iscsi TODO: how do we prevent errors in the filesystem from compromising the machine' 778 type: string 779 initiatorName: 780 description: Custom iSCSI Initiator Name. If initiatorName is specified with iscsiInterface simultaneously, new iSCSI interface <target portal>:<volume name> will be created for the connection. 781 type: string 782 iqn: 783 description: Target iSCSI Qualified Name. 784 type: string 785 iscsiInterface: 786 description: iSCSI Interface Name that uses an iSCSI transport. Defaults to 'default' (tcp). 787 type: string 788 lun: 789 description: iSCSI Target Lun number. 790 type: integer 791 format: int32 792 portals: 793 description: iSCSI Target Portal List. The portal is either an IP or ip_addr:port if the port is other than default (typically TCP ports 860 and 3260). 794 type: array 795 items: 796 type: string 797 readOnly: 798 description: ReadOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false. 799 type: boolean 800 secretRef: 801 description: CHAP Secret for iSCSI target and initiator authentication 802 type: object 803 properties: 804 name: 805 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?' 806 type: string 807 targetPortal: 808 description: iSCSI Target Portal. The Portal is either an IP or ip_addr:port if the port is other than default (typically TCP ports 860 and 3260). 809 type: string 810 name: 811 description: 'Volume''s name. Must be a DNS_LABEL and unique within the pod. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' 812 type: string 813 nfs: 814 description: 'NFS represents an NFS mount on the host that shares a pod''s lifetime More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs' 815 type: object 816 required: 817 - path 818 - server 819 properties: 820 path: 821 description: 'Path that is exported by the NFS server. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs' 822 type: string 823 readOnly: 824 description: 'ReadOnly here will force the NFS export to be mounted with read-only permissions. Defaults to false. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs' 825 type: boolean 826 server: 827 description: 'Server is the hostname or IP address of the NFS server. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs' 828 type: string 829 persistentVolumeClaim: 830 description: 'PersistentVolumeClaimVolumeSource represents a reference to a PersistentVolumeClaim in the same namespace. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims' 831 type: object 832 required: 833 - claimName 834 properties: 835 claimName: 836 description: 'ClaimName is the name of a PersistentVolumeClaim in the same namespace as the pod using this volume. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims' 837 type: string 838 readOnly: 839 description: Will force the ReadOnly setting in VolumeMounts. Default false. 840 type: boolean 841 photonPersistentDisk: 842 description: PhotonPersistentDisk represents a PhotonController persistent disk attached and mounted on kubelets host machine 843 type: object 844 required: 845 - pdID 846 properties: 847 fsType: 848 description: Filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. 849 type: string 850 pdID: 851 description: ID that identifies Photon Controller persistent disk 852 type: string 853 portworxVolume: 854 description: PortworxVolume represents a portworx volume attached and mounted on kubelets host machine 855 type: object 856 required: 857 - volumeID 858 properties: 859 fsType: 860 description: FSType represents the filesystem type to mount Must be a filesystem type supported by the host operating system. Ex. "ext4", "xfs". Implicitly inferred to be "ext4" if unspecified. 861 type: string 862 readOnly: 863 description: Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. 864 type: boolean 865 volumeID: 866 description: VolumeID uniquely identifies a Portworx volume 867 type: string 868 projected: 869 description: Items for all in one resources secrets, configmaps, and downward API 870 type: object 871 properties: 872 defaultMode: 873 description: Mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. 874 type: integer 875 format: int32 876 sources: 877 description: list of volume projections 878 type: array 879 items: 880 description: Projection that may be projected along with other supported volume types 881 type: object 882 properties: 883 configMap: 884 description: information about the configMap data to project 885 type: object 886 properties: 887 items: 888 description: If unspecified, each key-value pair in the Data field of the referenced ConfigMap will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the ConfigMap, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'. 889 type: array 890 items: 891 description: Maps a string key to a path within a volume. 892 type: object 893 required: 894 - key 895 - path 896 properties: 897 key: 898 description: The key to project. 899 type: string 900 mode: 901 description: 'Optional: mode bits used to set permissions on this file. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.' 902 type: integer 903 format: int32 904 path: 905 description: The relative path of the file to map the key to. May not be an absolute path. May not contain the path element '..'. May not start with the string '..'. 906 type: string 907 name: 908 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?' 909 type: string 910 optional: 911 description: Specify whether the ConfigMap or its keys must be defined 912 type: boolean 913 downwardAPI: 914 description: information about the downwardAPI data to project 915 type: object 916 properties: 917 items: 918 description: Items is a list of DownwardAPIVolume file 919 type: array 920 items: 921 description: DownwardAPIVolumeFile represents information to create the file containing the pod field 922 type: object 923 required: 924 - path 925 properties: 926 fieldRef: 927 description: 'Required: Selects a field of the pod: only annotations, labels, name and namespace are supported.' 928 type: object 929 required: 930 - fieldPath 931 properties: 932 apiVersion: 933 description: Version of the schema the FieldPath is written in terms of, defaults to "v1". 934 type: string 935 fieldPath: 936 description: Path of the field to select in the specified API version. 937 type: string 938 mode: 939 description: 'Optional: mode bits used to set permissions on this file, must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.' 940 type: integer 941 format: int32 942 path: 943 description: 'Required: Path is the relative path name of the file to be created. Must not be absolute or contain the ''..'' path. Must be utf-8 encoded. The first item of the relative path must not start with ''..''' 944 type: string 945 resourceFieldRef: 946 description: 'Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, requests.cpu and requests.memory) are currently supported.' 947 type: object 948 required: 949 - resource 950 properties: 951 containerName: 952 description: 'Container name: required for volumes, optional for env vars' 953 type: string 954 divisor: 955 description: Specifies the output format of the exposed resources, defaults to "1" 956 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 957 anyOf: 958 - type: integer 959 - type: string 960 x-kubernetes-int-or-string: true 961 resource: 962 description: 'Required: resource to select' 963 type: string 964 secret: 965 description: information about the secret data to project 966 type: object 967 properties: 968 items: 969 description: If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'. 970 type: array 971 items: 972 description: Maps a string key to a path within a volume. 973 type: object 974 required: 975 - key 976 - path 977 properties: 978 key: 979 description: The key to project. 980 type: string 981 mode: 982 description: 'Optional: mode bits used to set permissions on this file. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.' 983 type: integer 984 format: int32 985 path: 986 description: The relative path of the file to map the key to. May not be an absolute path. May not contain the path element '..'. May not start with the string '..'. 987 type: string 988 name: 989 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?' 990 type: string 991 optional: 992 description: Specify whether the Secret or its key must be defined 993 type: boolean 994 serviceAccountToken: 995 description: information about the serviceAccountToken data to project 996 type: object 997 required: 998 - path 999 properties: 1000 audience: 1001 description: Audience is the intended audience of the token. A recipient of a token must identify itself with an identifier specified in the audience of the token, and otherwise should reject the token. The audience defaults to the identifier of the apiserver. 1002 type: string 1003 expirationSeconds: 1004 description: ExpirationSeconds is the requested duration of validity of the service account token. As the token approaches expiration, the kubelet volume plugin will proactively rotate the service account token. The kubelet will start trying to rotate the token if the token is older than 80 percent of its time to live or if the token is older than 24 hours.Defaults to 1 hour and must be at least 10 minutes. 1005 type: integer 1006 format: int64 1007 path: 1008 description: Path is the path relative to the mount point of the file to project the token into. 1009 type: string 1010 quobyte: 1011 description: Quobyte represents a Quobyte mount on the host that shares a pod's lifetime 1012 type: object 1013 required: 1014 - registry 1015 - volume 1016 properties: 1017 group: 1018 description: Group to map volume access to Default is no group 1019 type: string 1020 readOnly: 1021 description: ReadOnly here will force the Quobyte volume to be mounted with read-only permissions. Defaults to false. 1022 type: boolean 1023 registry: 1024 description: Registry represents a single or multiple Quobyte Registry services specified as a string as host:port pair (multiple entries are separated with commas) which acts as the central registry for volumes 1025 type: string 1026 tenant: 1027 description: Tenant owning the given Quobyte volume in the Backend Used with dynamically provisioned Quobyte volumes, value is set by the plugin 1028 type: string 1029 user: 1030 description: User to map volume access to Defaults to serivceaccount user 1031 type: string 1032 volume: 1033 description: Volume is a string that references an already created Quobyte volume by name. 1034 type: string 1035 rbd: 1036 description: 'RBD represents a Rados Block Device mount on the host that shares a pod''s lifetime. More info: https://examples.k8s.io/volumes/rbd/README.md' 1037 type: object 1038 required: 1039 - image 1040 - monitors 1041 properties: 1042 fsType: 1043 description: 'Filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#rbd TODO: how do we prevent errors in the filesystem from compromising the machine' 1044 type: string 1045 image: 1046 description: 'The rados image name. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it' 1047 type: string 1048 keyring: 1049 description: 'Keyring is the path to key ring for RBDUser. Default is /etc/ceph/keyring. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it' 1050 type: string 1051 monitors: 1052 description: 'A collection of Ceph monitors. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it' 1053 type: array 1054 items: 1055 type: string 1056 pool: 1057 description: 'The rados pool name. Default is rbd. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it' 1058 type: string 1059 readOnly: 1060 description: 'ReadOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it' 1061 type: boolean 1062 secretRef: 1063 description: 'SecretRef is name of the authentication secret for RBDUser. If provided overrides keyring. Default is nil. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it' 1064 type: object 1065 properties: 1066 name: 1067 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?' 1068 type: string 1069 user: 1070 description: 'The rados user name. Default is admin. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it' 1071 type: string 1072 scaleIO: 1073 description: ScaleIO represents a ScaleIO persistent volume attached and mounted on Kubernetes nodes. 1074 type: object 1075 required: 1076 - gateway 1077 - secretRef 1078 - system 1079 properties: 1080 fsType: 1081 description: Filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. "ext4", "xfs", "ntfs". Default is "xfs". 1082 type: string 1083 gateway: 1084 description: The host address of the ScaleIO API Gateway. 1085 type: string 1086 protectionDomain: 1087 description: The name of the ScaleIO Protection Domain for the configured storage. 1088 type: string 1089 readOnly: 1090 description: Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. 1091 type: boolean 1092 secretRef: 1093 description: SecretRef references to the secret for ScaleIO user and other sensitive information. If this is not provided, Login operation will fail. 1094 type: object 1095 properties: 1096 name: 1097 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?' 1098 type: string 1099 sslEnabled: 1100 description: Flag to enable/disable SSL communication with Gateway, default false 1101 type: boolean 1102 storageMode: 1103 description: Indicates whether the storage for a volume should be ThickProvisioned or ThinProvisioned. Default is ThinProvisioned. 1104 type: string 1105 storagePool: 1106 description: The ScaleIO Storage Pool associated with the protection domain. 1107 type: string 1108 system: 1109 description: The name of the storage system as configured in ScaleIO. 1110 type: string 1111 volumeName: 1112 description: The name of a volume already created in the ScaleIO system that is associated with this volume source. 1113 type: string 1114 secret: 1115 description: 'Secret represents a secret that should populate this volume. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret' 1116 type: object 1117 properties: 1118 defaultMode: 1119 description: 'Optional: mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.' 1120 type: integer 1121 format: int32 1122 items: 1123 description: If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'. 1124 type: array 1125 items: 1126 description: Maps a string key to a path within a volume. 1127 type: object 1128 required: 1129 - key 1130 - path 1131 properties: 1132 key: 1133 description: The key to project. 1134 type: string 1135 mode: 1136 description: 'Optional: mode bits used to set permissions on this file. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.' 1137 type: integer 1138 format: int32 1139 path: 1140 description: The relative path of the file to map the key to. May not be an absolute path. May not contain the path element '..'. May not start with the string '..'. 1141 type: string 1142 optional: 1143 description: Specify whether the Secret or its keys must be defined 1144 type: boolean 1145 secretName: 1146 description: 'Name of the secret in the pod''s namespace to use. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret' 1147 type: string 1148 storageos: 1149 description: StorageOS represents a StorageOS volume attached and mounted on Kubernetes nodes. 1150 type: object 1151 properties: 1152 fsType: 1153 description: Filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. 1154 type: string 1155 readOnly: 1156 description: Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. 1157 type: boolean 1158 secretRef: 1159 description: SecretRef specifies the secret to use for obtaining the StorageOS API credentials. If not specified, default values will be attempted. 1160 type: object 1161 properties: 1162 name: 1163 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?' 1164 type: string 1165 volumeName: 1166 description: VolumeName is the human-readable name of the StorageOS volume. Volume names are only unique within a namespace. 1167 type: string 1168 volumeNamespace: 1169 description: VolumeNamespace specifies the scope of the volume within StorageOS. If no namespace is specified then the Pod's namespace will be used. This allows the Kubernetes name scoping to be mirrored within StorageOS for tighter integration. Set VolumeName to any name to override the default behaviour. Set to "default" if you are not using namespaces within StorageOS. Namespaces that do not pre-exist within StorageOS will be created. 1170 type: string 1171 vsphereVolume: 1172 description: VsphereVolume represents a vSphere volume attached and mounted on kubelets host machine 1173 type: object 1174 required: 1175 - volumePath 1176 properties: 1177 fsType: 1178 description: Filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. 1179 type: string 1180 storagePolicyID: 1181 description: Storage Policy Based Management (SPBM) profile ID associated with the StoragePolicyName. 1182 type: string 1183 storagePolicyName: 1184 description: Storage Policy Based Management (SPBM) profile name. 1185 type: string 1186 volumePath: 1187 description: Path that identifies vSphere volume vmdk 1188 type: string 1189 installPlanApproval: 1190 description: Approval is the user approval policy for an InstallPlan. It must be one of "Automatic" or "Manual". 1191 type: string 1192 name: 1193 type: string 1194 source: 1195 type: string 1196 sourceNamespace: 1197 type: string 1198 startingCSV: 1199 type: string 1200 status: 1201 type: object 1202 required: 1203 - lastUpdated 1204 properties: 1205 catalogHealth: 1206 description: CatalogHealth contains the Subscription's view of its relevant CatalogSources' status. It is used to determine SubscriptionStatusConditions related to CatalogSources. 1207 type: array 1208 items: 1209 description: SubscriptionCatalogHealth describes the health of a CatalogSource the Subscription knows about. 1210 type: object 1211 required: 1212 - catalogSourceRef 1213 - healthy 1214 - lastUpdated 1215 properties: 1216 catalogSourceRef: 1217 description: CatalogSourceRef is a reference to a CatalogSource. 1218 type: object 1219 properties: 1220 apiVersion: 1221 description: API version of the referent. 1222 type: string 1223 fieldPath: 1224 description: 'If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. TODO: this design is not final and this field is subject to change in the future.' 1225 type: string 1226 kind: 1227 description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 1228 type: string 1229 name: 1230 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' 1231 type: string 1232 namespace: 1233 description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' 1234 type: string 1235 resourceVersion: 1236 description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' 1237 type: string 1238 uid: 1239 description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' 1240 type: string 1241 healthy: 1242 description: Healthy is true if the CatalogSource is healthy; false otherwise. 1243 type: boolean 1244 lastUpdated: 1245 description: LastUpdated represents the last time that the CatalogSourceHealth changed 1246 type: string 1247 format: date-time 1248 conditions: 1249 description: Conditions is a list of the latest available observations about a Subscription's current state. 1250 type: array 1251 items: 1252 description: SubscriptionCondition represents the latest available observations of a Subscription's state. 1253 type: object 1254 required: 1255 - status 1256 - type 1257 properties: 1258 lastHeartbeatTime: 1259 description: LastHeartbeatTime is the last time we got an update on a given condition 1260 type: string 1261 format: date-time 1262 lastTransitionTime: 1263 description: LastTransitionTime is the last time the condition transit from one status to another 1264 type: string 1265 format: date-time 1266 message: 1267 description: Message is a human-readable message indicating details about last transition. 1268 type: string 1269 reason: 1270 description: Reason is a one-word CamelCase reason for the condition's last transition. 1271 type: string 1272 status: 1273 description: Status is the status of the condition, one of True, False, Unknown. 1274 type: string 1275 type: 1276 description: Type is the type of Subscription condition. 1277 type: string 1278 currentCSV: 1279 description: CurrentCSV is the CSV the Subscription is progressing to. 1280 type: string 1281 installPlanGeneration: 1282 description: InstallPlanGeneration is the current generation of the installplan 1283 type: integer 1284 installPlanRef: 1285 description: InstallPlanRef is a reference to the latest InstallPlan that contains the Subscription's current CSV. 1286 type: object 1287 properties: 1288 apiVersion: 1289 description: API version of the referent. 1290 type: string 1291 fieldPath: 1292 description: 'If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. TODO: this design is not final and this field is subject to change in the future.' 1293 type: string 1294 kind: 1295 description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 1296 type: string 1297 name: 1298 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' 1299 type: string 1300 namespace: 1301 description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' 1302 type: string 1303 resourceVersion: 1304 description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' 1305 type: string 1306 uid: 1307 description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' 1308 type: string 1309 installedCSV: 1310 description: InstalledCSV is the CSV currently installed by the Subscription. 1311 type: string 1312 installplan: 1313 description: 'Install is a reference to the latest InstallPlan generated for the Subscription. DEPRECATED: InstallPlanRef' 1314 type: object 1315 required: 1316 - apiVersion 1317 - kind 1318 - name 1319 - uuid 1320 properties: 1321 apiVersion: 1322 type: string 1323 kind: 1324 type: string 1325 name: 1326 type: string 1327 uuid: 1328 description: UID is a type that holds unique ID values, including UUIDs. Because we don't ONLY use UUIDs, this is an alias to string. Being a type captures intent and helps make sure that UIDs and names do not get conflated. 1329 type: string 1330 lastUpdated: 1331 description: LastUpdated represents the last time that the Subscription status was updated. 1332 type: string 1333 format: date-time 1334 reason: 1335 description: Reason is the reason the Subscription was transitioned to its current state. 1336 type: string 1337 state: 1338 description: State represents the current state of the Subscription 1339 type: string 1340 served: true 1341 storage: true 1342 subresources: 1343 status: {} 1344