Skip to content

Commit a8c7f31

Browse files
committed
ESO-155: Updates to use different TLS Secret name when cert-manager enabled
Signed-off-by: Bharath B <[email protected]>
1 parent 0714206 commit a8c7f31

File tree

4 files changed

+24
-7
lines changed

4 files changed

+24
-7
lines changed

pkg/controller/common/utils.go

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -210,16 +210,17 @@ func deploymentSpecModified(desired, fetched *appsv1.Deployment) bool {
210210
return true
211211
}
212212
for _, desiredVolume := range desired.Spec.Template.Spec.Volumes {
213-
if desiredVolume.Secret != nil && desiredVolume.Secret.Items != nil {
213+
if desiredVolume.Secret != nil {
214214
for _, fetchedVolume := range fetched.Spec.Template.Spec.Volumes {
215-
if !reflect.DeepEqual(desiredVolume.Secret.Items, fetchedVolume.Secret.Items) {
216-
return true
217-
}
218-
if desiredVolume.Secret.SecretName != fetchedVolume.Secret.SecretName {
219-
return true
215+
if desiredVolume.Name == fetchedVolume.Name {
216+
if !reflect.DeepEqual(desiredVolume.Secret.Items, fetchedVolume.Secret.Items) {
217+
return true
218+
}
219+
if !reflect.DeepEqual(desiredVolume.Secret.SecretName, fetchedVolume.Secret.SecretName) {
220+
return true
221+
}
220222
}
221223
}
222-
223224
}
224225
}
225226

pkg/controller/external_secrets/certificate.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,11 @@ func (r *Reconciler) createOrApplyCertificate(esc *operatorv1alpha1.ExternalSecr
8282
func (r *Reconciler) getCertificateObject(esc *operatorv1alpha1.ExternalSecretsConfig, resourceLabels map[string]string, fileName string) (*certmanagerv1.Certificate, error) {
8383
certificate := common.DecodeCertificateObjBytes(assets.MustAsset(fileName))
8484

85+
// update the secret name in the Certificate resource of the webhook component.
86+
if fileName == webhookCertificateAssetName {
87+
certificate.Spec.SecretName = certmanagerTLSSecretWebhook
88+
}
89+
8590
updateNamespace(certificate, esc)
8691
common.UpdateResourceLabels(certificate, resourceLabels)
8792

pkg/controller/external_secrets/constants.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,10 @@ const (
4848
// externalsecretsDefaultNamespace is the namespace where the `external-secrets` operand required resources
4949
// will be created, when ExternalSecretsConfig.Spec.Namespace is not set.
5050
externalsecretsDefaultNamespace = "external-secrets"
51+
52+
// certmanagerTLSSecretWebhook is the TLS secret created by cert-manager for the webhook component. A different
53+
// name is used to avoiding clash with the secret created by the inbuilt cert-controller component.
54+
certmanagerTLSSecretWebhook = "external-secrets-webhook-cm"
5155
)
5256

5357
var (

pkg/controller/external_secrets/deployments.go

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,7 @@ func (r *Reconciler) getDeploymentObject(assetName string, esc *operatorv1alpha1
123123
checkInterval = esc.Spec.ApplicationConfig.WebhookConfig.CertificateCheckInterval.Duration.String()
124124
}
125125
updateWebhookContainerSpec(deployment, image, logLevel, checkInterval)
126+
updateWebhookVolumeConfig(deployment, esc)
126127
case certControllerDeploymentAssetName:
127128
updateCertControllerContainerSpec(deployment, image, logLevel)
128129
case bitwardenDeploymentAssetName:
@@ -410,6 +411,12 @@ func updateBitwardenVolumeConfig(deployment *appsv1.Deployment, esc *operatorv1a
410411
}
411412
}
412413

414+
func updateWebhookVolumeConfig(deployment *appsv1.Deployment, esc *operatorv1alpha1.ExternalSecretsConfig) {
415+
if isCertManagerConfigEnabled(esc) {
416+
updateSecretVolumeConfig(deployment, "certs", certmanagerTLSSecretWebhook)
417+
}
418+
}
419+
413420
func updateSecretVolumeConfig(deployment *appsv1.Deployment, volumeName, secretName string) {
414421
volumeExists := false
415422
for i := range deployment.Spec.Template.Spec.Volumes {

0 commit comments

Comments
 (0)