Documentation ¶
Index ¶
- func FilesystemInfo(ctx context.Context, client kubernetes.Interface, namespace string, ...) (*caas.FilesystemInfo, error)
- func FilesystemStatus(pvcPhase corev1.PersistentVolumeClaimPhase) status.Status
- func GetMountPathForFilesystem(idx int, appName string, fs storage.KubernetesFilesystemParams) string
- func ParseStorageMode(attrs map[string]interface{}) (*corev1.PersistentVolumeAccessMode, error)
- func PersistentVolumeClaimSpec(params VolumeParams) *corev1.PersistentVolumeClaimSpec
- func PushUniqueVolume(podSpec *corev1.PodSpec, vol corev1.Volume, force bool) error
- func PushUniqueVolumeClaimTemplate(spec *apps.StatefulSetSpec, pvc corev1.PersistentVolumeClaim) error
- func PushUniqueVolumeMount(container *corev1.Container, volMount corev1.VolumeMount)
- func StorageClassSpec(cfg k8s.StorageProvisioner, legacyLabels bool) *storagev1.StorageClass
- func StorageProvisioner(namespace, model string, params VolumeParams) k8s.StorageProvisioner
- func VolumeInfo(pv *resources.PersistentVolume, now time.Time) caas.VolumeInfo
- func VolumeSourceForFilesystem(fs storage.KubernetesFilesystemParams) (*corev1.VolumeSource, error)
- func VolumeStatus(pvPhase corev1.PersistentVolumePhase) status.Status
- type StorageConfig
- type VolumeParams
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func FilesystemInfo ¶
func FilesystemInfo(ctx context.Context, client kubernetes.Interface, namespace string, volume corev1.Volume, volumeMount corev1.VolumeMount, now time.Time) (*caas.FilesystemInfo, error)
FilesystemInfo returns filesystem info.
func FilesystemStatus ¶
func FilesystemStatus(pvcPhase corev1.PersistentVolumeClaimPhase) status.Status
FilesystemStatus returns filesystem status.
func GetMountPathForFilesystem ¶
func GetMountPathForFilesystem(idx int, appName string, fs storage.KubernetesFilesystemParams) string
GetMountPathForFilesystem returns mount path.
func ParseStorageMode ¶
func ParseStorageMode(attrs map[string]interface{}) (*corev1.PersistentVolumeAccessMode, error)
ParseStorageMode returns k8s persistent volume access mode.
func PersistentVolumeClaimSpec ¶
func PersistentVolumeClaimSpec(params VolumeParams) *corev1.PersistentVolumeClaimSpec
PersistentVolumeClaimSpec returns k8s PVC spec.
func PushUniqueVolume ¶
PushUniqueVolume ensures to only add unique volumes because k8s will not schedule pods if it has duplicated volumes. The existing volume will be replaced if force sets to true.
func PushUniqueVolumeClaimTemplate ¶
func PushUniqueVolumeClaimTemplate(spec *apps.StatefulSetSpec, pvc corev1.PersistentVolumeClaim) error
PushUniqueVolumeClaimTemplate ensures to only add unique volume claim template to a statefulset.
func PushUniqueVolumeMount ¶
func PushUniqueVolumeMount(container *corev1.Container, volMount corev1.VolumeMount)
PushUniqueVolumeMount ensures to only add unique volume mount to a container.
func StorageClassSpec ¶
func StorageClassSpec(cfg k8s.StorageProvisioner, legacyLabels bool) *storagev1.StorageClass
StorageClassSpec converts storage provisioner config to k8s storage class.
func StorageProvisioner ¶
func StorageProvisioner(namespace, model string, params VolumeParams) k8s.StorageProvisioner
StorageProvisioner returns storage provisioner.
func VolumeInfo ¶
func VolumeInfo(pv *resources.PersistentVolume, now time.Time) caas.VolumeInfo
VolumeInfo returns volume info.
func VolumeSourceForFilesystem ¶
func VolumeSourceForFilesystem(fs storage.KubernetesFilesystemParams) (*corev1.VolumeSource, error)
VolumeSourceForFilesystem return k8s volume source.
func VolumeStatus ¶
func VolumeStatus(pvPhase corev1.PersistentVolumePhase) status.Status
VolumeStatus returns volume status.
Types ¶
type StorageConfig ¶
type StorageConfig struct { // StorageClass defines a storage class // which will be created with the specified // provisioner and parameters if it doesn't // exist. StorageClass string // StorageProvisioner is the provisioner class to use. StorageProvisioner string // Parameters define attributes of the storage class. Parameters map[string]string // ReclaimPolicy defines the volume reclaim policy. ReclaimPolicy corev1.PersistentVolumeReclaimPolicy }
StorageConfig defines config for storage.
func ParseStorageConfig ¶
func ParseStorageConfig(attrs map[string]interface{}) (*StorageConfig, error)
ParseStorageConfig returns storage config.
type VolumeParams ¶
type VolumeParams struct { Name string StorageConfig *StorageConfig Size resource.Quantity AccessMode corev1.PersistentVolumeAccessMode }
VolumeParams holds PV and PVC related config.
func ParseVolumeParams ¶
func ParseVolumeParams(name string, size resource.Quantity, storageAttr map[string]interface{}) (*VolumeParams, error)
ParseVolumeParams returns a volume param.