github.com/percona/percona-xtradb-cluster-operator@v1.14.0/pkg/pxc/app/volumes.go (about) 1 package app 2 3 import ( 4 corev1 "k8s.io/api/core/v1" 5 6 api "github.com/percona/percona-xtradb-cluster-operator/pkg/apis/pxc/v1" 7 ) 8 9 func GetConfigVolumes(cvName, cmName string) corev1.Volume { 10 vol1 := corev1.Volume{ 11 Name: cvName, 12 } 13 14 vol1.ConfigMap = &corev1.ConfigMapVolumeSource{} 15 vol1.ConfigMap.Name = cmName 16 t := true 17 vol1.ConfigMap.Optional = &t 18 return vol1 19 } 20 21 func GetSecretVolumes(cvName, cmName string, optional bool) corev1.Volume { 22 vol1 := corev1.Volume{ 23 Name: cvName, 24 } 25 26 vol1.Secret = &corev1.SecretVolumeSource{} 27 vol1.Secret.SecretName = cmName 28 vol1.Secret.Optional = &optional 29 return vol1 30 } 31 32 func GetTmpVolume(cvName string) corev1.Volume { 33 return corev1.Volume{ 34 Name: cvName, 35 VolumeSource: corev1.VolumeSource{ 36 EmptyDir: &corev1.EmptyDirVolumeSource{}, 37 }, 38 } 39 } 40 41 func Volumes(podSpec *api.PodSpec, dataVolumeName string) *api.Volume { 42 var volume api.Volume 43 44 if podSpec.VolumeSpec != nil && podSpec.VolumeSpec.PersistentVolumeClaim != nil { 45 pvcs := PVCs(dataVolumeName, podSpec.VolumeSpec) 46 volume.PVCs = pvcs 47 return &volume 48 } 49 50 if podSpec.VolumeSpec == nil { 51 volume.Volumes = []corev1.Volume{} 52 return &volume 53 } 54 55 volume.Volumes = append(volume.Volumes, corev1.Volume{ 56 VolumeSource: corev1.VolumeSource{ 57 HostPath: podSpec.VolumeSpec.HostPath, 58 EmptyDir: podSpec.VolumeSpec.EmptyDir, 59 }, 60 Name: dataVolumeName, 61 }) 62 63 return &volume 64 }