Skip to content

Commit 778fe91

Browse files
committed
Only update certificate in CreateCertificate if there are changes
1 parent 16c6890 commit 778fe91

File tree

2 files changed

+17
-6
lines changed

2 files changed

+17
-6
lines changed

certs/create.go

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ package certs
33
import (
44
"context"
55
"fmt"
6+
"reflect"
67
"time"
78

89
cmapi "github.com/cert-manager/cert-manager/pkg/apis/certmanager/v1"
@@ -28,23 +29,25 @@ func CreateCertificate(ctx context.Context, l logr.Logger, c client.Client, svc
2829
}, &cert)
2930
if err != nil {
3031
if errors.IsNotFound(err) {
31-
l.Info("Certificate resource doesn't exist, creating")
32+
l.V(1).Info("Certificate resource doesn't exist, creating")
3233
return newCertificate(ctx, c, certName, secretName, svc)
3334
}
3435

35-
l.Info("Error looking up certificate resource", "error", err)
36+
l.V(1).Info("Error looking up certificate resource", "error", err)
3637
// Unexpected error, bail
3738
return err
3839
}
3940

40-
l.Info("Found existing Certificate, updating...")
41-
41+
origCert := cert.DeepCopy()
4242
err = updateCertificate(&cert, svc)
4343
if err != nil {
4444
return err
4545
}
46-
47-
return c.Update(ctx, &cert)
46+
if !reflect.DeepEqual(origCert, cert) {
47+
l.V(1).Info("Applying changes to existing certificate")
48+
return c.Update(ctx, &cert)
49+
}
50+
return nil
4851
}
4952

5053
func newCertificate(ctx context.Context, c client.Client, certName, secretName string, svc corev1.Service) error {

certs/create_test.go

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,14 @@ func TestCerts_CreateCertificate(t *testing.T) {
4343
prepareCertificate("test-svc", "test-ns", "foo-tls"),
4444
},
4545
},
46+
"Noop_NoError": {
47+
svc: prepareService("test-svc", "test-ns"),
48+
secretName: "foo-tls",
49+
err: nil,
50+
objects: []client.Object{
51+
prepareCertificate("test-svc", "test-ns", "foo-tls"),
52+
},
53+
},
4654
}
4755

4856
for _, tc := range tests {

0 commit comments

Comments
 (0)