Skip to content

Commit e6cca33

Browse files
committed
fix: merge projected volumes
Signed-off-by: Oleksii Kurinnyi <[email protected]>
1 parent e679586 commit e6cca33

File tree

1 file changed

+8
-1
lines changed

1 file changed

+8
-1
lines changed

pkg/provision/automount/projected.go

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,8 @@ func mergeProjectedVolumes(resources *Resources) (*Resources, error) {
5454
volumeNameToVolume[volume.Name] = volume
5555
}
5656

57+
// Map of merged volume names -> bool, for not merging the same volume twice
58+
mergedVolumeNames := map[string]bool{}
5759
for _, mountPath := range mountPathOrder {
5860
volumeMounts := mountPathToVolumeMounts[mountPath]
5961
switch len(volumeMounts) {
@@ -63,7 +65,12 @@ func mergeProjectedVolumes(resources *Resources) (*Resources, error) {
6365
// No projected volume necessary
6466
mergedResources.VolumeMounts = append(mergedResources.VolumeMounts, volumeMounts[0])
6567
volume := volumeNameToVolume[volumeMounts[0].Name]
66-
mergedResources.Volumes = append(mergedResources.Volumes, volume)
68+
69+
_, isMerged := mergedVolumeNames[volume.Name]
70+
if !isMerged {
71+
mergedResources.Volumes = append(mergedResources.Volumes, volume)
72+
mergedVolumeNames[volume.Name] = true
73+
}
6774
default:
6875
vm, vol, err := generateProjectedVolume(mountPath, volumeMounts, volumeNameToVolume)
6976
if err != nil {

0 commit comments

Comments
 (0)