Added: 
dev/solr/solr-operator/solr-operator-v0.9.1-RC2-revd35f0b50852fb24b1c74e955fda1e33e9912dcc6/crds/solrclouds.yaml
==============================================================================
--- 
dev/solr/solr-operator/solr-operator-v0.9.1-RC2-revd35f0b50852fb24b1c74e955fda1e33e9912dcc6/crds/solrclouds.yaml
 (added)
+++ 
dev/solr/solr-operator/solr-operator-v0.9.1-RC2-revd35f0b50852fb24b1c74e955fda1e33e9912dcc6/crds/solrclouds.yaml
 Wed Mar 19 19:11:38 2025
@@ -0,0 +1,17609 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+---
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+  annotations:
+    operator.solr.apache.org/version: v0.9.1
+    argocd.argoproj.io/sync-options: Replace=true
+    controller-gen.kubebuilder.io/version: v0.16.4
+  name: solrclouds.solr.apache.org
+spec:
+  group: solr.apache.org
+  names:
+    kind: SolrCloud
+    listKind: SolrCloudList
+    plural: solrclouds
+    shortNames:
+    - solr
+    singular: solrcloud
+  scope: Namespaced
+  versions:
+  - additionalPrinterColumns:
+    - description: Solr Version of the cloud
+      jsonPath: .status.version
+      name: Version
+      type: string
+    - description: Target Solr Version of the cloud
+      jsonPath: .status.targetVersion
+      name: TargetVersion
+      type: string
+    - description: Number of solr nodes configured to run in the cloud
+      jsonPath: .spec.replicas
+      name: DesiredNodes
+      type: integer
+    - description: Number of solr nodes running
+      jsonPath: .status.replicas
+      name: Nodes
+      type: integer
+    - description: Number of solr nodes connected to the cloud
+      jsonPath: .status.readyReplicas
+      name: ReadyNodes
+      type: integer
+    - description: Number of solr nodes running the latest SolrCloud pod spec
+      jsonPath: .status.upToDateNodes
+      name: UpToDateNodes
+      type: integer
+    - jsonPath: .metadata.creationTimestamp
+      name: Age
+      type: date
+    name: v1beta1
+    schema:
+      openAPIV3Schema:
+        description: SolrCloud is the Schema for the solrclouds API
+        properties:
+          apiVersion:
+            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
+            type: string
+          kind:
+            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
+            type: string
+          metadata:
+            type: object
+          spec:
+            description: SolrCloudSpec defines the desired state of SolrCloud
+            properties:
+              additionalLibs:
+                description: |-
+                  List of paths in the Solr Docker image to load in the 
classpath.
+                  Note: Solr Modules will be auto-loaded if specified in the 
"solrModules" property. There is no need to specify them here as well.
+                items:
+                  type: string
+                type: array
+              availability:
+                description: Define how Solr nodes should be available.
+                properties:
+                  podDisruptionBudget:
+                    description: Define PodDisruptionBudget(s) to ensure 
availability
+                      of Solr
+                    properties:
+                      enabled:
+                        default: true
+                        description: What method should be used when creating 
PodDisruptionBudget(s)
+                        type: boolean
+                      method:
+                        default: ClusterWide
+                        description: What method should be used when creating 
PodDisruptionBudget(s)
+                        enum:
+                        - ClusterWide
+                        type: string
+                    required:
+                    - enabled
+                    type: object
+                type: object
+              backupRepositories:
+                description: Allows specification of multiple different 
"repositories"
+                  for Solr to use when backing up data.
+                items:
+                  maxProperties: 2
+                  minProperties: 2
+                  properties:
+                    gcs:
+                      description: A GCSRepository for Solr to use when 
backing up
+                        and restoring collections.
+                      properties:
+                        baseLocation:
+                          description: An already-created chroot within the 
bucket
+                            to store data in. Defaults to the root path "/" if 
not
+                            specified.
+                          type: string
+                        bucket:
+                          description: The name of the GCS bucket that all 
backup
+                            data will be stored in
+                          type: string
+                        gcsCredentialSecret:
+                          description: |-
+                            The name & key of a Kubernetes secret holding a 
Google cloud service account key.  Must be set unless deployed in
+                            GKE and making use of Google's "Workplace 
Identity" feature.
+                          properties:
+                            key:
+                              description: The key of the secret to select 
from.  Must
+                                be a valid secret key.
+                              type: string
+                            name:
+                              default: ""
+                              description: |-
+                                Name of the referent.
+                                This field is effectively required, but due to 
backwards compatibility is
+                                allowed to be empty. Instances of this type 
with an empty value here are
+                                almost certainly wrong.
+                                More info: 
https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+                              type: string
+                            optional:
+                              description: Specify whether the Secret or its 
key must
+                                be defined
+                              type: boolean
+                          required:
+                          - key
+                          type: object
+                          x-kubernetes-map-type: atomic
+                      required:
+                      - bucket
+                      type: object
+                    name:
+                      description: |-
+                        A name used to identify this local storage profile.  
Values should follow RFC-1123.  (See here for more details:
+                        
https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#dns-label-names)
+                      maxLength: 100
+                      minLength: 1
+                      pattern: '[a-zA-Z0-9]([-_a-zA-Z0-9]*[a-zA-Z0-9])?'
+                      type: string
+                    s3:
+                      description: An S3Repository for Solr to use when 
backing up
+                        and restoring collections.
+                      properties:
+                        baseLocation:
+                          description: An already-created chroot within the 
bucket
+                            to store data in. Defaults to the root path "/" if 
not
+                            specified.
+                          type: string
+                        bucket:
+                          description: The name of the S3 bucket that all 
backup data
+                            will be stored in
+                          type: string
+                        credentials:
+                          description: |-
+                            Options for specifying S3Credentials. This is 
optional in case you want to mount this information yourself.
+                            However, if you do not include these credentials, 
and you do not load them yourself via a mount or EnvVars,
+                            you will likely see errors when taking s3 backups.
+
+                            If running in EKS, you can create an 
IAMServiceAccount that uses a role permissioned for this S3 bucket.
+                            Then use that serviceAccountName for your 
SolrCloud, and the credentials should be auto-populated.
+                          properties:
+                            accessKeyIdSecret:
+                              description: The name & key of a Kubernetes 
secret holding
+                                an AWS Access Key ID
+                              properties:
+                                key:
+                                  description: The key of the secret to select 
from.  Must
+                                    be a valid secret key.
+                                  type: string
+                                name:
+                                  default: ""
+                                  description: |-
+                                    Name of the referent.
+                                    This field is effectively required, but 
due to backwards compatibility is
+                                    allowed to be empty. Instances of this 
type with an empty value here are
+                                    almost certainly wrong.
+                                    More info: 
https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+                                  type: string
+                                optional:
+                                  description: Specify whether the Secret or 
its key
+                                    must be defined
+                                  type: boolean
+                              required:
+                              - key
+                              type: object
+                              x-kubernetes-map-type: atomic
+                            credentialsFileSecret:
+                              description: The name & key of a Kubernetes 
secret holding
+                                an AWS credentials file
+                              properties:
+                                key:
+                                  description: The key of the secret to select 
from.  Must
+                                    be a valid secret key.
+                                  type: string
+                                name:
+                                  default: ""
+                                  description: |-
+                                    Name of the referent.
+                                    This field is effectively required, but 
due to backwards compatibility is
+                                    allowed to be empty. Instances of this 
type with an empty value here are
+                                    almost certainly wrong.
+                                    More info: 
https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+                                  type: string
+                                optional:
+                                  description: Specify whether the Secret or 
its key
+                                    must be defined
+                                  type: boolean
+                              required:
+                              - key
+                              type: object
+                              x-kubernetes-map-type: atomic
+                            secretAccessKeySecret:
+                              description: The name & key of a Kubernetes 
secret holding
+                                an AWS Secret Access Key
+                              properties:
+                                key:
+                                  description: The key of the secret to select 
from.  Must
+                                    be a valid secret key.
+                                  type: string
+                                name:
+                                  default: ""
+                                  description: |-
+                                    Name of the referent.
+                                    This field is effectively required, but 
due to backwards compatibility is
+                                    allowed to be empty. Instances of this 
type with an empty value here are
+                                    almost certainly wrong.
+                                    More info: 
https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+                                  type: string
+                                optional:
+                                  description: Specify whether the Secret or 
its key
+                                    must be defined
+                                  type: boolean
+                              required:
+                              - key
+                              type: object
+                              x-kubernetes-map-type: atomic
+                            sessionTokenSecret:
+                              description: The name & key of a Kubernetes 
secret holding
+                                an AWS Session Token
+                              properties:
+                                key:
+                                  description: The key of the secret to select 
from.  Must
+                                    be a valid secret key.
+                                  type: string
+                                name:
+                                  default: ""
+                                  description: |-
+                                    Name of the referent.
+                                    This field is effectively required, but 
due to backwards compatibility is
+                                    allowed to be empty. Instances of this 
type with an empty value here are
+                                    almost certainly wrong.
+                                    More info: 
https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+                                  type: string
+                                optional:
+                                  description: Specify whether the Secret or 
its key
+                                    must be defined
+                                  type: boolean
+                              required:
+                              - key
+                              type: object
+                              x-kubernetes-map-type: atomic
+                          type: object
+                        endpoint:
+                          description: The full endpoint URL to use when 
connecting
+                            with S3 (or a supported S3 compatible interface)
+                          type: string
+                        proxyUrl:
+                          description: The full proxy URL to use when 
connecting with
+                            S3
+                          type: string
+                        region:
+                          description: The S3 region to store the backup data 
in
+                          type: string
+                      required:
+                      - bucket
+                      - region
+                      type: object
+                    volume:
+                      description: Allows specification of a "repository" for 
Solr
+                        to use when backing up data "locally".
+                      properties:
+                        directory:
+                          description: |-
+                            Select a custom directory name to mount the 
backup/restore data in the given volume.
+                            If not specified, then the name of the solrcloud 
will be used by default.
+                          type: string
+                        source:
+                          description: |-
+                            This is a volumeSource for a volume that will be 
mounted to all solrNodes to store backups and load restores.
+                            The data within the volume will be namespaced for 
this instance, so feel free to use the same volume for multiple clouds.
+                            Since the volume will be mounted to all solrNodes, 
it must be able to be written from multiple pods.
+                            If a PVC reference is given, the PVC must have 
`accessModes: - ReadWriteMany`.
+                            Other options are to use a NFS volume.
+                          properties:
+                            awsElasticBlockStore:
+                              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
+                              properties:
+                                fsType:
+                                  description: |-
+                                    fsType is the 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
+                                  type: string
+                                partition:
+                                  description: |-
+                                    partition is 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).
+                                  format: int32
+                                  type: integer
+                                readOnly:
+                                  description: |-
+                                    readOnly value true will force the 
readOnly setting in VolumeMounts.
+                                    More info: 
https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore
+                                  type: boolean
+                                volumeID:
+                                  description: |-
+                                    volumeID is unique ID of the persistent 
disk resource in AWS (Amazon EBS volume).
+                                    More info: 
https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore
+                                  type: string
+                              required:
+                              - volumeID
+                              type: object
+                            azureDisk:
+                              description: azureDisk represents an Azure Data 
Disk
+                                mount on the host and bind mount to the pod.
+                              properties:
+                                cachingMode:
+                                  description: 'cachingMode is the Host 
Caching mode:
+                                    None, Read Only, Read Write.'
+                                  type: string
+                                diskName:
+                                  description: diskName is the Name of the 
data disk
+                                    in the blob storage
+                                  type: string
+                                diskURI:
+                                  description: diskURI is the URI of data disk 
in
+                                    the blob storage
+                                  type: string
+                                fsType:
+                                  default: ext4
+                                  description: |-
+                                    fsType is 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.
+                                  type: string
+                                kind:
+                                  description: 'kind expected values are 
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'
+                                  type: string
+                                readOnly:
+                                  default: false
+                                  description: |-
+                                    readOnly Defaults to false (read/write). 
ReadOnly here will force
+                                    the ReadOnly setting in VolumeMounts.
+                                  type: boolean
+                              required:
+                              - diskName
+                              - diskURI
+                              type: object
+                            azureFile:
+                              description: azureFile represents an Azure File 
Service
+                                mount on the host and bind mount to the pod.
+                              properties:
+                                readOnly:
+                                  description: |-
+                                    readOnly defaults to false (read/write). 
ReadOnly here will force
+                                    the ReadOnly setting in VolumeMounts.
+                                  type: boolean
+                                secretName:
+                                  description: secretName is the  name of 
secret that
+                                    contains Azure Storage Account Name and Key
+                                  type: string
+                                shareName:
+                                  description: shareName is the azure share 
Name
+                                  type: string
+                              required:
+                              - secretName
+                              - shareName
+                              type: object
+                            cephfs:
+                              description: cephFS represents a Ceph FS mount 
on the
+                                host that shares a pod's lifetime
+                              properties:
+                                monitors:
+                                  description: |-
+                                    monitors is Required: Monitors is a 
collection of Ceph monitors
+                                    More info: 
https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it
+                                  items:
+                                    type: string
+                                  type: array
+                                  x-kubernetes-list-type: atomic
+                                path:
+                                  description: 'path is Optional: Used as the 
mounted
+                                    root, rather than the full Ceph tree, 
default
+                                    is /'
+                                  type: string
+                                readOnly:
+                                  description: |-
+                                    readOnly is 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
+                                  type: boolean
+                                secretFile:
+                                  description: |-
+                                    secretFile is 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
+                                  type: string
+                                secretRef:
+                                  description: |-
+                                    secretRef is 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
+                                  properties:
+                                    name:
+                                      default: ""
+                                      description: |-
+                                        Name of the referent.
+                                        This field is effectively required, 
but due to backwards compatibility is
+                                        allowed to be empty. Instances of this 
type with an empty value here are
+                                        almost certainly wrong.
+                                        More info: 
https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+                                      type: string
+                                  type: object
+                                  x-kubernetes-map-type: atomic
+                                user:
+                                  description: |-
+                                    user is optional: User is the rados user 
name, default is admin
+                                    More info: 
https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it
+                                  type: string
+                              required:
+                              - monitors
+                              type: object
+                            cinder:
+                              description: |-
+                                cinder represents a cinder volume attached and 
mounted on kubelets host machine.
+                                More info: 
https://examples.k8s.io/mysql-cinder-pd/README.md
+                              properties:
+                                fsType:
+                                  description: |-
+                                    fsType is the 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
+                                  type: string
+                                readOnly:
+                                  description: |-
+                                    readOnly 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
+                                  type: boolean
+                                secretRef:
+                                  description: |-
+                                    secretRef is optional: points to a secret 
object containing parameters used to connect
+                                    to OpenStack.
+                                  properties:
+                                    name:
+                                      default: ""
+                                      description: |-
+                                        Name of the referent.
+                                        This field is effectively required, 
but due to backwards compatibility is
+                                        allowed to be empty. Instances of this 
type with an empty value here are
+                                        almost certainly wrong.
+                                        More info: 
https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+                                      type: string
+                                  type: object
+                                  x-kubernetes-map-type: atomic
+                                volumeID:
+                                  description: |-
+                                    volumeID used to identify the volume in 
cinder.
+                                    More info: 
https://examples.k8s.io/mysql-cinder-pd/README.md
+                                  type: string
+                              required:
+                              - volumeID
+                              type: object
+                            configMap:
+                              description: configMap represents a configMap 
that should
+                                populate this volume
+                              properties:
+                                defaultMode:
+                                  description: |-
+                                    defaultMode is 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.
+                                  format: int32
+                                  type: integer
+                                items:
+                                  description: |-
+                                    items 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 '..'.
+                                  items:
+                                    description: Maps a string key to a path 
within
+                                      a volume.
+                                    properties:
+                                      key:
+                                        description: key is the key to project.
+                                        type: string
+                                      mode:
+                                        description: |-
+                                          mode is 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.
+                                        format: int32
+                                        type: integer
+                                      path:
+                                        description: |-
+                                          path is 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 '..'.
+                                        type: string
+                                    required:
+                                    - key
+                                    - path
+                                    type: object
+                                  type: array
+                                  x-kubernetes-list-type: atomic
+                                name:
+                                  default: ""
+                                  description: |-
+                                    Name of the referent.
+                                    This field is effectively required, but 
due to backwards compatibility is
+                                    allowed to be empty. Instances of this 
type with an empty value here are
+                                    almost certainly wrong.
+                                    More info: 
https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+                                  type: string
+                                optional:
+                                  description: optional specify whether the 
ConfigMap
+                                    or its keys must be defined
+                                  type: boolean
+                              type: object
+                              x-kubernetes-map-type: atomic
+                            csi:
+                              description: csi (Container Storage Interface) 
represents
+                                ephemeral storage that is handled by certain 
external
+                                CSI drivers (Beta feature).
+                              properties:
+                                driver:
+                                  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.
+                                  type: string
+                                fsType:
+                                  description: |-
+                                    fsType 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.
+                                  type: string
+                                nodePublishSecretRef:
+                                  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.
+                                  properties:
+                                    name:
+                                      default: ""
+                                      description: |-
+                                        Name of the referent.
+                                        This field is effectively required, 
but due to backwards compatibility is
+                                        allowed to be empty. Instances of this 
type with an empty value here are
+                                        almost certainly wrong.
+                                        More info: 
https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+                                      type: string
+                                  type: object
+                                  x-kubernetes-map-type: atomic
+                                readOnly:
+                                  description: |-
+                                    readOnly specifies a read-only 
configuration for the volume.
+                                    Defaults to false (read/write).
+                                  type: boolean
+                                volumeAttributes:
+                                  additionalProperties:
+                                    type: string
+                                  description: |-
+                                    volumeAttributes stores driver-specific 
properties that are passed to the CSI
+                                    driver. Consult your driver's 
documentation for supported values.
+                                  type: object
+                              required:
+                              - driver
+                              type: object
+                            downwardAPI:
+                              description: downwardAPI represents downward API 
about
+                                the pod that should populate this volume
+                              properties:
+                                defaultMode:
+                                  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.
+                                  format: int32
+                                  type: integer
+                                items:
+                                  description: Items is a list of downward API 
volume
+                                    file
+                                  items:
+                                    description: DownwardAPIVolumeFile 
represents
+                                      information to create the file 
containing the
+                                      pod field
+                                    properties:
+                                      fieldRef:
+                                        description: 'Required: Selects a 
field of
+                                          the pod: only annotations, labels, 
name,
+                                          namespace and uid are supported.'
+                                        properties:
+                                          apiVersion:
+                                            description: Version of the schema 
the
+                                              FieldPath is written in terms 
of, defaults
+                                              to "v1".
+                                            type: string
+                                          fieldPath:
+                                            description: Path of the field to 
select
+                                              in the specified API version.
+                                            type: string
+                                        required:
+                                        - fieldPath
+                                        type: object
+                                        x-kubernetes-map-type: atomic
+                                      mode:
+                                        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.
+                                        format: int32
+                                        type: integer
+                                      path:
+                                        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 ''..'''
+                                        type: string
+                                      resourceFieldRef:
+                                        description: |-
+                                          Selects a resource of the container: 
only resources limits and requests
+                                          (limits.cpu, limits.memory, 
requests.cpu and requests.memory) are currently supported.
+                                        properties:
+                                          containerName:
+                                            description: 'Container name: 
required
+                                              for volumes, optional for env 
vars'
+                                            type: string
+                                          divisor:
+                                            anyOf:
+                                            - type: integer
+                                            - type: string
+                                            description: Specifies the output 
format
+                                              of the exposed resources, 
defaults to
+                                              "1"
+                                            pattern: 
^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+                                            x-kubernetes-int-or-string: true
+                                          resource:
+                                            description: 'Required: resource 
to select'
+                                            type: string
+                                        required:
+                                        - resource
+                                        type: object
+                                        x-kubernetes-map-type: atomic
+                                    required:
+                                    - path
+                                    type: object
+                                  type: array
+                                  x-kubernetes-list-type: atomic
+                              type: object
+                            emptyDir:
+                              description: |-
+                                emptyDir represents a temporary directory that 
shares a pod's lifetime.
+                                More info: 
https://kubernetes.io/docs/concepts/storage/volumes#emptydir
+                              properties:
+                                medium:
+                                  description: |-
+                                    medium represents 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
+                                  type: string
+                                sizeLimit:
+                                  anyOf:
+                                  - type: integer
+                                  - type: string
+                                  description: |-
+                                    sizeLimit is the 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: 
https://kubernetes.io/docs/concepts/storage/volumes#emptydir
+                                  pattern: 
^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+                                  x-kubernetes-int-or-string: true
+                              type: object
+                            ephemeral:
+                              description: |-
+                                ephemeral represents a volume that is handled 
by a cluster storage driver.
+                                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.
+
+                                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).
+
+                                Use PersistentVolumeClaim or one of the 
vendor-specific
+                                APIs for volumes that persist for longer than 
the lifecycle
+                                of an individual pod.
+
+                                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.
+
+                                A pod can use both types of ephemeral volumes 
and
+                                persistent volumes at the same time.
+                              properties:
+                                volumeClaimTemplate:
+                                  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).
+
+                                    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.
+
+                                    This field is read-only and no changes 
will be made by Kubernetes
+                                    to the PVC after it has been created.
+
+                                    Required, must not be nil.
+                                  properties:
+                                    metadata:
+                                      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.
+                                      type: object
+                                    spec:
+                                      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.
+                                      properties:
+                                        accessModes:
+                                          description: |-
+                                            accessModes contains the desired 
access modes the volume should have.
+                                            More info: 
https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1
+                                          items:
+                                            type: string
+                                          type: array
+                                          x-kubernetes-list-type: atomic
+                                        dataSource:
+                                          description: |-
+                                            dataSource field can be used to 
specify either:
+                                            * An existing VolumeSnapshot 
object (snapshot.storage.k8s.io/VolumeSnapshot)
+                                            * An existing PVC 
(PersistentVolumeClaim)
+                                            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.
+                                            When the AnyVolumeDataSource 
feature gate is enabled, dataSource contents will be copied to dataSourceRef,
+                                            and dataSourceRef contents will be 
copied to dataSource when dataSourceRef.namespace is not specified.
+                                            If the namespace is specified, 
then dataSourceRef will not be copied to dataSource.
+                                          properties:
+                                            apiGroup:
+                                              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.
+                                              type: string
+                                            kind:
+                                              description: Kind is the type of 
resource
+                                                being referenced
+                                              type: string
+                                            name:
+                                              description: Name is the name of 
resource
+                                                being referenced
+                                              type: string
+                                          required:
+                                          - kind
+                                          - name
+                                          type: object
+                                          x-kubernetes-map-type: atomic
+                                        dataSourceRef:
+                                          description: |-
+                                            dataSourceRef specifies the object 
from which to populate the volume with data, if a non-empty
+                                            volume is desired. This may be any 
object from a non-empty API group (non
+                                            core object) or a 
PersistentVolumeClaim object.
+                                            When this field is specified, 
volume binding will only succeed if the type of
+                                            the specified object matches some 
installed volume populator or dynamic
+                                            provisioner.
+                                            This field will replace the 
functionality of the dataSource field and as such
+                                            if both fields are non-empty, they 
must have the same value. For backwards
+                                            compatibility, when namespace 
isn't specified in dataSourceRef,
+                                            both fields (dataSource and 
dataSourceRef) will be set to the same
+                                            value automatically if one of them 
is empty and the other is non-empty.
+                                            When namespace is specified in 
dataSourceRef,
+                                            dataSource isn't set to the same 
value and must be empty.
+                                            There are three important 
differences between dataSource and dataSourceRef:
+                                            * While dataSource only allows two 
specific types of objects, dataSourceRef
+                                              allows any non-core object, as 
well as PersistentVolumeClaim objects.
+                                            * While dataSource ignores 
disallowed values (dropping them), dataSourceRef
+                                              preserves all values, and 
generates an error if a disallowed value is
+                                              specified.
+                                            * While dataSource only allows 
local objects, dataSourceRef allows objects
+                                              in any namespaces.
+                                            (Beta) Using this field requires 
the AnyVolumeDataSource feature gate to be enabled.
+                                            (Alpha) Using the namespace field 
of dataSourceRef requires the CrossNamespaceVolumeDataSource feature gate to be 
enabled.
+                                          properties:
+                                            apiGroup:
+                                              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.
+                                              type: string
+                                            kind:
+                                              description: Kind is the type of 
resource
+                                                being referenced
+                                              type: string
+                                            name:
+                                              description: Name is the name of 
resource
+                                                being referenced
+                                              type: string
+                                            namespace:
+                                              description: |-
+                                                Namespace is the namespace of 
resource being referenced
+                                                Note that when a namespace is 
specified, a gateway.networking.k8s.io/ReferenceGrant object is required in the 
referent namespace to allow that namespace's owner to accept the reference. See 
the ReferenceGrant documentation for details.
+                                                (Alpha) This field requires 
the CrossNamespaceVolumeDataSource feature gate to be enabled.
+                                              type: string
+                                          required:
+                                          - kind
+                                          - name
+                                          type: object
+                                        resources:
+                                          description: |-
+                                            resources represents the minimum 
resources the volume should have.
+                                            If RecoverVolumeExpansionFailure 
feature is enabled users are allowed to specify resource requirements
+                                            that are lower than previous value 
but must still be higher than capacity recorded in the
+                                            status field of the claim.
+                                            More info: 
https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources
+                                          properties:
+                                            limits:
+                                              additionalProperties:
+                                                anyOf:
+                                                - type: integer
+                                                - type: string
+                                                pattern: 
^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+                                                x-kubernetes-int-or-string: 
true
+                                              description: |-
+                                                Limits describes the maximum 
amount of compute resources allowed.
+                                                More info: 
https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
+                                              type: object
+                                            requests:
+                                              additionalProperties:
+                                                anyOf:
+                                                - type: integer
+                                                - type: string
+                                                pattern: 
^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+                                                x-kubernetes-int-or-string: 
true
+                                              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. Requests cannot exceed Limits.
+                                                More info: 
https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
+                                              type: object
+                                          type: object
+                                        selector:
+                                          description: selector is a label 
query over
+                                            volumes to consider for binding.
+                                          properties:
+                                            matchExpressions:
+                                              description: matchExpressions is 
a list
+                                                of label selector 
requirements. The
+                                                requirements are ANDed.
+                                              items:
+                                                description: |-
+                                                  A label selector requirement 
is a selector that contains values, a key, and an operator that
+                                                  relates the key and values.
+                                                properties:
+                                                  key:
+                                                    description: key is the 
label
+                                                      key that the selector 
applies
+                                                      to.
+                                                    type: string
+                                                  operator:
+                                                    description: |-
+                                                      operator represents a 
key's relationship to a set of values.
+                                                      Valid operators are In, 
NotIn, Exists and DoesNotExist.
+                                                    type: string
+                                                  values:
+                                                    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.
+                                                    items:
+                                                      type: string
+                                                    type: array
+                                                    x-kubernetes-list-type: 
atomic
+                                                required:
+                                                - key
+                                                - operator
+                                                type: object
+                                              type: array
+                                              x-kubernetes-list-type: atomic
+                                            matchLabels:
+                                              additionalProperties:
+                                                type: string
+                                              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.
+                                              type: object
+                                          type: object
+                                          x-kubernetes-map-type: atomic
+                                        storageClassName:
+                                          description: |-
+                                            storageClassName is the name of 
the StorageClass required by the claim.
+                                            More info: 
https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1
+                                          type: string
+                                        volumeAttributesClassName:
+                                          description: |-
+                                            volumeAttributesClassName may be 
used to set the VolumeAttributesClass used by this claim.
+                                            If specified, the CSI driver will 
create or update the volume with the attributes defined
+                                            in the corresponding 
VolumeAttributesClass. This has a different purpose than storageClassName,
+                                            it can be changed after the claim 
is created. An empty string value means that no VolumeAttributesClass
+                                            will be applied to the claim but 
it's not allowed to reset this field to empty string once it is set.
+                                            If unspecified and the 
PersistentVolumeClaim is unbound, the default VolumeAttributesClass
+                                            will be set by the 
persistentvolume controller if it exists.
+                                            If the resource referred to by 
volumeAttributesClass does not exist, this PersistentVolumeClaim will be
+                                            set to a Pending state, as 
reflected by the modifyVolumeStatus field, until such as a resource
+                                            exists.
+                                            More info: 
https://kubernetes.io/docs/concepts/storage/volume-attributes-classes/
+                                            (Beta) Using this field requires 
the VolumeAttributesClass feature gate to be enabled (off by default).
+                                          type: string
+                                        volumeMode:
+                                          description: |-
+                                            volumeMode defines what type of 
volume is required by the claim.
+                                            Value of Filesystem is implied 
when not included in claim spec.
+                                          type: string
+                                        volumeName:
+                                          description: volumeName is the 
binding reference
+                                            to the PersistentVolume backing 
this claim.
+                                          type: string
+                                      type: object
+                                  required:
+                                  - spec
+                                  type: object
+                              type: object
+                            fc:
+                              description: fc represents a Fibre Channel 
resource
+                                that is attached to a kubelet's host machine 
and then
+                                exposed to the pod.
+                              properties:
+                                fsType:
+                                  description: |-
+                                    fsType is the 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.
+                                  type: string
+                                lun:
+                                  description: 'lun is Optional: FC target lun 
number'
+                                  format: int32
+                                  type: integer
+                                readOnly:
+                                  description: |-
+                                    readOnly is Optional: Defaults to false 
(read/write). ReadOnly here will force
+                                    the ReadOnly setting in VolumeMounts.
+                                  type: boolean
+                                targetWWNs:
+                                  description: 'targetWWNs is Optional: FC 
target
+                                    worldwide names (WWNs)'
+                                  items:
+                                    type: string
+                                  type: array
+                                  x-kubernetes-list-type: atomic
+                                wwids:
+                                  description: |-
+                                    wwids Optional: FC volume world wide 
identifiers (wwids)
+                                    Either wwids or combination of targetWWNs 
and lun must be set, but not both simultaneously.
+                                  items:
+                                    type: string
+                                  type: array
+                                  x-kubernetes-list-type: atomic
+                              type: object
+                            flexVolume:
+                              description: |-
+                                flexVolume represents a generic volume 
resource that is
+                                provisioned/attached using an exec based 
plugin.
+                              properties:
+                                driver:
+                                  description: driver is the name of the 
driver to
+                                    use for this volume.
+                                  type: string
+                                fsType:
+                                  description: |-
+                                    fsType is the 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.
+                                  type: string
+                                options:
+                                  additionalProperties:
+                                    type: string
+                                  description: 'options is Optional: this 
field holds
+                                    extra command options if any.'
+                                  type: object
+                                readOnly:
+                                  description: |-
+                                    readOnly is Optional: defaults to false 
(read/write). ReadOnly here will force
+                                    the ReadOnly setting in VolumeMounts.
+                                  type: boolean
+                                secretRef:
+                                  description: |-
+                                    secretRef is 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.
+                                  properties:
+                                    name:
+                                      default: ""
+                                      description: |-
+                                        Name of the referent.
+                                        This field is effectively required, 
but due to backwards compatibility is
+                                        allowed to be empty. Instances of this 
type with an empty value here are
+                                        almost certainly wrong.
+                                        More info: 
https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+                                      type: string
+                                  type: object
+                                  x-kubernetes-map-type: atomic
+                              required:
+                              - driver
+                              type: object
+                            flocker:
+                              description: flocker represents a Flocker volume 
attached
+                                to a kubelet's host machine. This depends on 
the Flocker
+                                control service being running
+                              properties:
+                                datasetName:
+                                  description: |-
+                                    datasetName is Name of the dataset stored 
as metadata -> name on the dataset for Flocker
+                                    should be considered as deprecated
+                                  type: string
+                                datasetUUID:
+                                  description: datasetUUID is the UUID of the 
dataset.
+                                    This is unique identifier of a Flocker 
dataset
+                                  type: string
+                              type: object
+                            gcePersistentDisk:
+                              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
+                              properties:
+                                fsType:
+                                  description: |-
+                                    fsType is 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
+                                  type: string
+                                partition:
+                                  description: |-
+                                    partition is 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
+                                  format: int32
+                                  type: integer
+                                pdName:
+                                  description: |-
+                                    pdName is 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
+                                  type: string
+                                readOnly:
+                                  description: |-
+                                    readOnly here will force the ReadOnly 
setting in VolumeMounts.
+                                    Defaults to false.
+                                    More info: 
https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk
+                                  type: boolean
+                              required:
+                              - pdName
+                              type: object
+                            gitRepo:
+                              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.
+                              properties:
+                                directory:
+                                  description: |-
+                                    directory is the 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.
+                                  type: string
+                                repository:
+                                  description: repository is the URL
+                                  type: string
+                                revision:
+                                  description: revision is the commit hash for 
the
+                                    specified revision.
+                                  type: string
+                              required:
+                              - repository
+                              type: object
+                            glusterfs:
+                              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
+                              properties:
+                                endpoints:
+                                  description: |-
+                                    endpoints is the endpoint name that 
details Glusterfs topology.
+                                    More info: 
https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod
+                                  type: string
+                                path:
+                                  description: |-
+                                    path is the Glusterfs volume path.
+                                    More info: 
https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod
+                                  type: string
+                                readOnly:
+                                  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
+                                  type: boolean
+                              required:
+                              - endpoints
+                              - path
+                              type: object
+                            hostPath:
+                              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
+                              properties:
+                                path:
+                                  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
+                                  type: string
+                                type:
+                                  description: |-
+                                    type for HostPath Volume
+                                    Defaults to ""
+                                    More info: 
https://kubernetes.io/docs/concepts/storage/volumes#hostpath
+                                  type: string
+                              required:
+                              - path
+                              type: object
+                            image:
+                              description: |-
+                                image represents an OCI object (a container 
image or artifact) pulled and mounted on the kubelet's host machine.
+                                The volume is resolved at pod startup 
depending on which PullPolicy value is provided:
+
+                                - Always: the kubelet always attempts to pull 
the reference. Container creation will fail If the pull fails.
+                                - Never: the kubelet never pulls the reference 
and only uses a local image or artifact. Container creation will fail if the 
reference isn't present.
+                                - IfNotPresent: the kubelet pulls if the 
reference isn't already present on disk. Container creation will fail if the 
reference isn't present and the pull fails.
+
+                                The volume gets re-resolved if the pod gets 
deleted and recreated, which means that new remote content will become 
available on pod recreation.
+                                A failure to resolve or pull the image during 
pod startup will block containers from starting and may add significant 
latency. Failures will be retried using normal volume backoff and will be 
reported on the pod reason and message.
+                                The types of objects that may be mounted by 
this volume are defined by the container runtime implementation on a host 
machine and at minimum must include all valid types supported by the container 
image field.
+                                The OCI object gets mounted in a single 
directory (spec.containers[*].volumeMounts.mountPath) by merging the manifest 
layers in the same way as for container images.
+                                The volume will be mounted read-only (ro) and 
non-executable files (noexec).
+                                Sub path mounts for containers are not 
supported (spec.containers[*].volumeMounts.subpath).
+                                The field 
spec.securityContext.fsGroupChangePolicy has no effect on this volume type.
+                              properties:
+                                pullPolicy:
+                                  description: |-
+                                    Policy for pulling OCI objects. Possible 
values are:
+                                    Always: the kubelet always attempts to 
pull the reference. Container creation will fail If the pull fails.
+                                    Never: the kubelet never pulls the 
reference and only uses a local image or artifact. Container creation will fail 
if the reference isn't present.
+                                    IfNotPresent: the kubelet pulls if the 
reference isn't already present on disk. Container creation will fail if the 
reference isn't present and the pull fails.
+                                    Defaults to Always if :latest tag is 
specified, or IfNotPresent otherwise.
+                                  type: string
+                                reference:
+                                  description: |-
+                                    Required: Image or artifact reference to 
be used.
+                                    Behaves in the same way as 
pod.spec.containers[*].image.
+                                    Pull secrets will be assembled in the same 
way as for the container image by looking up node credentials, SA image pull 
secrets, and pod spec image pull secrets.
+                                    More info: 
https://kubernetes.io/docs/concepts/containers/images
+                                    This field is optional to allow higher 
level config management to default or override
+                                    container images in workload controllers 
like Deployments and StatefulSets.
+                                  type: string
+                              type: object
+                            iscsi:
+                              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
+                              properties:
+                                chapAuthDiscovery:
+                                  description: chapAuthDiscovery defines 
whether support
+                                    iSCSI Discovery CHAP authentication
+                                  type: boolean
+                                chapAuthSession:
+                                  description: chapAuthSession defines whether 
support
+                                    iSCSI Session CHAP authentication
+                                  type: boolean
+                                fsType:
+                                  description: |-
+                                    fsType is the 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
+                                  type: string
+                                initiatorName:
+                                  description: |-
+                                    initiatorName is the custom iSCSI 
Initiator Name.
+                                    If initiatorName is specified with 
iscsiInterface simultaneously, new iSCSI interface
+                                    <target portal>:<volume name> will be 
created for the connection.
+                                  type: string
+                                iqn:
+                                  description: iqn is the target iSCSI 
Qualified Name.
+                                  type: string
+                                iscsiInterface:

[... 16319 lines stripped ...]


Reply via email to