@@ -16,127 +16,23 @@ func GetVolumes(
1616 svc []storage.PropagationType ,
1717) []corev1.Volume {
1818
19- var scriptsVolumeDefaultMode int32 = 0755
20- var scriptsVolumeConfidentialMode int32 = 0420
21- var tlsCertificateMode int32 = 0444
22- var publicInfoMode int32 = 0744
23-
2419 volumes := []corev1.Volume {
25- {
26- Name : "horizontest-config" ,
27- VolumeSource : corev1.VolumeSource {
28- ConfigMap : & corev1.ConfigMapVolumeSource {
29- DefaultMode : & scriptsVolumeDefaultMode ,
30- LocalObjectReference : corev1.LocalObjectReference {
31- Name : instance .Name + "horizontest-config" ,
32- },
33- },
34- },
35- },
36- {
37- Name : util .TestOperatorCloudsConfigMapName ,
38- VolumeSource : corev1.VolumeSource {
39- ConfigMap : & corev1.ConfigMapVolumeSource {
40- DefaultMode : & scriptsVolumeConfidentialMode ,
41- LocalObjectReference : corev1.LocalObjectReference {
42- Name : util .TestOperatorCloudsConfigMapName ,
43- },
44- },
45- },
46- },
47- {
48- Name : "openstack-config-secret" ,
49- VolumeSource : corev1.VolumeSource {
50- Secret : & corev1.SecretVolumeSource {
51- DefaultMode : & tlsCertificateMode ,
52- SecretName : "openstack-config-secret" ,
53- },
54- },
55- },
56- {
57- Name : "test-operator-logs" ,
58- VolumeSource : corev1.VolumeSource {
59- PersistentVolumeClaim : & corev1.PersistentVolumeClaimVolumeSource {
60- ClaimName : logsPVCName ,
61- ReadOnly : false ,
62- },
63- },
64- },
65- {
66- Name : util .TestOperatorEphemeralVolumeNameWorkdir ,
67- VolumeSource : corev1.VolumeSource {
68- EmptyDir : & corev1.EmptyDirVolumeSource {},
69- },
70- },
71- {
72- Name : util .TestOperatorEphemeralVolumeNameTmp ,
73- VolumeSource : corev1.VolumeSource {
74- EmptyDir : & corev1.EmptyDirVolumeSource {},
75- },
76- },
20+ createHorizontestConfigVolume (instance .Name ),
21+ util .CreateOpenstackConfigMapVolume (util .TestOperatorCloudsConfigMapName ),
22+ util .CreateOpenstackConfigSecretVolume (),
23+ util .CreateLogsPVCVolume (logsPVCName ),
24+ util .CreateWorkdirVolume (),
25+ util .CreateTmpVolume (),
7726 }
7827
79- if mountCerts {
80- caCertsVolume := corev1.Volume {
81- Name : "ca-certs" ,
82- VolumeSource : corev1.VolumeSource {
83- Secret : & corev1.SecretVolumeSource {
84- DefaultMode : & scriptsVolumeConfidentialMode ,
85- SecretName : "combined-ca-bundle" ,
86- },
87- },
88- }
89-
90- volumes = append (volumes , caCertsVolume )
91- }
28+ volumes = util .AppendCACertsVolume (volumes , mountCerts )
9229
9330 if mountKubeconfig {
94- kubeconfigVolume := corev1.Volume {
95- Name : "kubeconfig" ,
96- VolumeSource : corev1.VolumeSource {
97- Secret : & corev1.SecretVolumeSource {
98- SecretName : instance .Spec .KubeconfigSecretName ,
99- Items : []corev1.KeyToPath {
100- {
101- Key : "config" ,
102- Path : "config" ,
103- },
104- },
105- },
106- },
107- }
108-
109- volumes = append (volumes , kubeconfigVolume )
31+ volumes = util .AppendKubeconfigVolume (volumes , instance .Spec .KubeconfigSecretName )
11032 }
11133
112- for _ , exv := range instance .Spec .ExtraMounts {
113- for _ , vol := range exv .Propagate (svc ) {
114- for _ , v := range vol .Volumes {
115- volumeSource , _ := v .ToCoreVolumeSource ()
116- convertedVolume := corev1.Volume {
117- Name : v .Name ,
118- VolumeSource : * volumeSource ,
119- }
120- volumes = append (volumes , convertedVolume )
121- }
122- }
123- }
124-
125- for _ , vol := range instance .Spec .ExtraConfigmapsMounts {
126- extraVol := corev1.Volume {
127- Name : vol .Name ,
128- VolumeSource : corev1.VolumeSource {
129- ConfigMap : & corev1.ConfigMapVolumeSource {
130- DefaultMode : & publicInfoMode ,
131- LocalObjectReference : corev1.LocalObjectReference {
132- Name : vol .Name ,
133- },
134- },
135- },
136- }
137-
138- volumes = append (volumes , extraVol )
139- }
34+ volumes = util .AppendExtraMountsVolumes (volumes , instance .Spec .ExtraMounts , svc )
35+ volumes = util .AppendExtraConfigmapsVolumes (volumes , instance .Spec .ExtraConfigmapsMounts , util .PublicInfoMode )
14036
14137 return volumes
14238}
@@ -256,3 +152,19 @@ func GetVolumeMounts(
256152
257153 return volumeMounts
258154}
155+
156+ // createHorizontestConfigVolume creates the horizontest-specific config volume
157+ func createHorizontestConfigVolume (instanceName string ) corev1.Volume {
158+ mode := util .ScriptsVolumeDefaultMode
159+ return corev1.Volume {
160+ Name : "horizontest-config" ,
161+ VolumeSource : corev1.VolumeSource {
162+ ConfigMap : & corev1.ConfigMapVolumeSource {
163+ DefaultMode : & mode ,
164+ LocalObjectReference : corev1.LocalObjectReference {
165+ Name : instanceName + "horizontest-config" ,
166+ },
167+ },
168+ },
169+ }
170+ }
0 commit comments