# Packages
Package aws_ebs contains the internal representation of AWS Elastic Block Store volumes.
No description provided by the author
Package azure_file contains the internal representation of Azure File Service Volume.
Package nfs contains the internal representation of Ceph file system (CephFS) volumes.
Package cinder contains the internal representation of cinder volumes.
Package configmap contains the internal representation of configMap volumes.
No description provided by the author
Package empty_dir contains the internal representation of emptyDir volumes.
Package fc contains the internal representation of Fibre Channel (fc) volumes.
No description provided by the author
Package flocker contains the internal representation of Flocker volumes.
Package gce_pd contains the internal representation of GCE PersistentDisk volumes.
Package git_repo contains the internal representation of git repo volumes.
Package glusterfs contains the internal representation of glusterfs volumes.
Package host_path contains the internal representation of hostPath volumes.
Package iscsi contains the internal representation of Internet Small Computer System Interface (iSCSI) volumes.
Package local contains the internal representation of local volumes.
Package nfs contains the internal representation of network file system (NFS) volumes.
No description provided by the author
Package portworx contains the internal representation of Portworx Block Device volumes.
No description provided by the author
Package quobyte contains the internal representation of Quobyte volumes.
Package rbd contains the internal representation of Rados Block Store (Ceph) volumes.
No description provided by the author
Package secret contains the internal representation of secret volumes.
Package storageos contains the internal representation of StorageOS PersistentDisk volumes.
No description provided by the author
Contains utility code for use by volume plugins.
No description provided by the author
No description provided by the author
# Functions
AccessModesContainedInAll returns whether all of the requested modes are contained by modes.
AccessModesContains returns whether the requested mode is contained by modes.
CalculateTimeoutForVolume calculates time for a Recycler pod to complete a recycle operation.
ChooseZone implements our heuristics for choosing a zone for volume creation based on the volume name Volumes are generally round-robin-ed across all active zones, using the hash of the PVC Name.
ChooseZonesForVolume is identical to ChooseZoneForVolume, but selects a multiple zones, for multi-zone disks.
GenerateVolumeName returns a PV name with clusterName prefix.
Check if the path from the mounter is empty.
IsDeletedVolumeInUse returns true if an error returned from Delete() is deletedVolumeInUseError.
IsNotSupported returns true if and only if err is "key" not found error.
IsSameFSGroup is called only for requests to mount an already mounted volume.
JoinMountOptions joins mount options eliminating duplicates.
MountOptionFromSpec extracts and joins mount options from volume spec with supplied options.
NewCachedMetrics creates a new cachedMetrics wrapping another MetricsProvider and caching the results.
NewDeletedVolumeInUseError returns a new instance of DeletedVolumeInUseError error.
NewFsInfoFailedError creates a new MetricsError with code FsInfoFailed.
NewMetricsDu creates a new metricsDu with the Volume path.
NewMetricsStatfs creates a new metricsStatFS with the Volume path.
NewNoPathDefined creates a new MetricsError with code NoPathDefined.
NewNotSupportedError creates a new MetricsError with code NotSupported.
NewPersistentVolumeRecyclerPodTemplate creates a template for a recycler pod.
NewSpecFromPersistentVolume creates an Spec from an v1.PersistentVolume.
NewSpecFromVolume creates an Spec from an v1.Volume.
RecycleVolumeByWatchingPodUntilCompletion is intended for use with volume Recyclers.
RoundUpSize calculates how many allocation units are needed to accommodate a volume of given size.
SetVolumeOwnership modifies the given volume to be owned by fsGroup, and sets SetGid so that newly created files are owned by fsGroup.
UnmountViaEmptyDir delegates the tear down operation for secret, configmap, git_repo and downwardapi to empty_dir.
Check validity of recycle pod template List of checks: - at least one volume is defined in the recycle pod template If successful, returns nil if unsuccessful, returns an error.
ValidateZone returns: - an error in case zone is an empty string or contains only any combination of spaces and tab characters - nil otherwise.
# Constants
No description provided by the author
No description provided by the author
ErrCodeNotSupported code for NotSupported Errors.
Name of a volume in external cloud that is being provisioned and thus should be ignored by rest of Kubernetes.
Common parameter which can be specified in StorageClass to specify the desired FSType Provisioners SHOULD implement support for this if they are block device based Must be a filesystem type supported by the host operating system.
# Structs
Attributes represents the attributes of this mounter.
Metrics represents the used and available bytes of the Volume.
MetricsError to distinguish different Metrics Errors.
MetricsNil represents a MetricsProvider that does not support returning Metrics.
Spec is an internal representation of a volume.
VolumeConfig is how volume plugins receive configuration.
VolumeOptions contains option information about a volume.
VolumePluginMgr tracks registered plugins.
# Interfaces
AttachableVolumePlugin is an extended interface of VolumePlugin and is used for volumes that require attachment to a node before mounting.
Attacher can attach a volume to a node.
No description provided by the author
DeletableVolumePlugin is an extended interface of VolumePlugin and is used by persistent volumes that want to be deleted from the cluster after their release from a PersistentVolumeClaim.
Deleter removes the resource from the underlying storage provider.
Detacher can detach a volume from a node.
No description provided by the author
ExpandableVolumePlugin is an extended interface of VolumePlugin and is used for volumes that can be expanded.
MetricsProvider exposes metrics (e.g.
Mounter interface provides methods to set up/mount the volume.
PersistentVolumePlugin is an extended interface of VolumePlugin and is used by volumes that want to provide long term persistence of data.
ProvisionableVolumePlugin is an extended interface of VolumePlugin and is used to create volumes for the cluster.
Provisioner is an interface that creates templates for PersistentVolumes and can create the volume as a new resource in the infrastructure provider.
RecyclableVolumePlugin is an extended interface of VolumePlugin and is used by persistent volumes that want to be recycled before being made available again to new claims.
Unmounter interface provides methods to cleanup/unmount the volumes.
Volume represents a directory used by pods or hosts on a node.
VolumeHost is an interface that plugins can use to access the kubelet.
VolumePlugin is an interface to volume plugins that can be used on a kubernetes node (e.g.
# Type aliases
No description provided by the author