@@ -392,23 +392,34 @@ func updateBitwardenServerContainerSpec(deployment *appsv1.Deployment, image str
392392}
393393
394394func updateBitwardenVolumeConfig (deployment * appsv1.Deployment , esc * operatorv1alpha1.ExternalSecretsConfig ) {
395- const certsVolumeName = "bitwarden-tls-certs"
396-
397395 if esc .Spec .Plugins .BitwardenSecretManagerProvider .SecretRef != nil &&
398396 esc .Spec .Plugins .BitwardenSecretManagerProvider .SecretRef .Name != "" {
399- if deployment .Spec .Template .Spec .Volumes == nil {
400- deployment .Spec .Template .Spec .Volumes = append (deployment .Spec .Template .Spec .Volumes , corev1.Volume {
401- Name : certsVolumeName ,
402- })
403- }
397+ secretName := esc .Spec .Plugins .BitwardenSecretManagerProvider .SecretRef .Name
398+ updateSecretVolumeConfig (deployment , "bitwarden-tls-certs" , secretName )
399+ }
400+ }
404401
405- for i := range deployment .Spec .Template .Spec .Volumes {
406- if deployment .Spec .Template .Spec .Volumes [i ].Name == certsVolumeName {
407- if deployment .Spec .Template .Spec .Volumes [i ].Secret == nil {
408- deployment .Spec .Template .Spec .Volumes [i ].Secret = & corev1.SecretVolumeSource {}
409- }
410- deployment .Spec .Template .Spec .Volumes [i ].Secret .SecretName = esc .Spec .Plugins .BitwardenSecretManagerProvider .SecretRef .Name
411- }
402+ func updateSecretVolumeConfig (deployment * appsv1.Deployment , volumeName , secretName string ) {
403+ volumeExists := false
404+ for i := range deployment .Spec .Template .Spec .Volumes {
405+ if deployment .Spec .Template .Spec .Volumes [i ].Name == volumeName {
406+ volumeExists = true
412407 }
408+ if deployment .Spec .Template .Spec .Volumes [i ].Secret == nil {
409+ deployment .Spec .Template .Spec .Volumes [i ].Secret = & corev1.SecretVolumeSource {}
410+ }
411+ deployment .Spec .Template .Spec .Volumes [i ].Secret .SecretName = secretName
412+ break
413+ }
414+
415+ if ! volumeExists {
416+ deployment .Spec .Template .Spec .Volumes = append (deployment .Spec .Template .Spec .Volumes , corev1.Volume {
417+ Name : volumeName ,
418+ VolumeSource : corev1.VolumeSource {
419+ Secret : & corev1.SecretVolumeSource {
420+ SecretName : secretName ,
421+ },
422+ },
423+ })
413424 }
414425}
0 commit comments