Skip to content

Commit 8b4826d

Browse files
Merge pull request #64 from bharath-b-rh/eso-155-2
ESO-155: Fixes bitwarden deployment to use custom certificates
2 parents 697230c + 00b59af commit 8b4826d

File tree

2 files changed

+280
-13
lines changed

2 files changed

+280
-13
lines changed

pkg/controller/external_secrets/deployments.go

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,7 @@ func (r *Reconciler) getDeploymentObject(assetName string, esc *operatorv1alpha1
128128
case bitwardenDeploymentAssetName:
129129
deployment.Labels["app.kubernetes.io/version"] = os.Getenv(bitwardenImageVersionEnvVarName)
130130
updateBitwardenServerContainerSpec(deployment, bitwardenImage)
131+
updateBitwardenVolumeConfig(deployment, esc)
131132
}
132133

133134
if err := r.updateResourceRequirement(deployment, esc); err != nil {
@@ -389,3 +390,36 @@ func updateBitwardenServerContainerSpec(deployment *appsv1.Deployment, image str
389390
}
390391
}
391392
}
393+
394+
func updateBitwardenVolumeConfig(deployment *appsv1.Deployment, esc *operatorv1alpha1.ExternalSecretsConfig) {
395+
if esc.Spec.Plugins.BitwardenSecretManagerProvider.SecretRef != nil &&
396+
esc.Spec.Plugins.BitwardenSecretManagerProvider.SecretRef.Name != "" {
397+
secretName := esc.Spec.Plugins.BitwardenSecretManagerProvider.SecretRef.Name
398+
updateSecretVolumeConfig(deployment, "bitwarden-tls-certs", secretName)
399+
}
400+
}
401+
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
407+
}
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+
})
424+
}
425+
}

0 commit comments

Comments
 (0)