@@ -34,7 +34,6 @@ import (
3434 cminformers "github.com/cert-manager/cert-manager/pkg/client/informers/externalversions"
3535 cmlisters "github.com/cert-manager/cert-manager/pkg/client/listers/certmanager/v1"
3636 "github.com/go-logr/logr"
37- "github.com/prometheus/client_golang/prometheus"
3837 apierrors "k8s.io/apimachinery/pkg/api/errors"
3938 metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
4039 "k8s.io/apimachinery/pkg/labels"
@@ -131,9 +130,6 @@ func NewManager(opts Options) (*Manager, error) {
131130 if opts .Log == nil {
132131 return nil , errors .New ("log must be set" )
133132 }
134- if opts .Metrics == nil {
135- opts .Metrics = metrics .New (opts .Log , prometheus .NewRegistry ())
136- }
137133 if opts .MetadataReader == nil {
138134 return nil , errors .New ("MetadataReader must be set" )
139135 }
@@ -400,7 +396,9 @@ func (m *Manager) issue(ctx context.Context, volumeID string) error {
400396 log .Info ("Processing issuance" )
401397
402398 // Increase issue count
403- m .metrics .IncrementIssueCallCountTotal (m .nodeNameHash , volumeID )
399+ if m .metrics != nil {
400+ m .metrics .IncrementIssueCallCountTotal (m .nodeNameHash , volumeID )
401+ }
404402
405403 if err := m .cleanupStaleRequests (ctx , log , volumeID ); err != nil {
406404 return fmt .Errorf ("cleaning up stale requests: %w" , err )
@@ -609,7 +607,7 @@ func (m *Manager) handleRequest(ctx context.Context, volumeID string, meta metad
609607 // Calculate the default next issuance time.
610608 // The implementation's writeKeypair function may override this value before
611609 // writing to the storage layer.
612- expiryPoint , renewalPoint , err := getExpiryAndDefaultNextIssuanceTime (req .Status .Certificate )
610+ renewalPoint , err := calculateNextIssuanceTime (req .Status .Certificate )
613611 if err != nil {
614612 return fmt .Errorf ("calculating next issuance time: %w" , err )
615613 }
@@ -621,10 +619,6 @@ func (m *Manager) handleRequest(ctx context.Context, volumeID string, meta metad
621619 }
622620 log .V (2 ).Info ("Wrote new keypair to storage" )
623621
624- // Update the request metrics.
625- // Using meta.NextIssuanceTime instead of renewalPoint here, in case writeKeypair overrides the value.
626- m .metrics .UpdateCertificateRequest (req , expiryPoint , * meta .NextIssuanceTime )
627-
628622 // We must explicitly delete the private key from the pending requests map so that the existing Completed
629623 // request will not be re-used upon renewal.
630624 // Without this, the renewal would pick up the existing issued certificate and re-issue, rather than requesting
@@ -676,9 +670,6 @@ func (m *Manager) cleanupStaleRequests(ctx context.Context, log logr.Logger, vol
676670 }
677671 }
678672
679- // Remove the CertificateRequest from the metrics.
680- m .metrics .RemoveCertificateRequest (toDelete .Name , toDelete .Namespace )
681-
682673 log .Info ("Deleted CertificateRequest resource" , "name" , toDelete .Name , "namespace" , toDelete .Namespace )
683674 }
684675
@@ -779,7 +770,9 @@ func (m *Manager) ManageVolumeImmediate(ctx context.Context, volumeID string) (m
779770 // how to proceed depending on the context this method was called within.
780771 if err := m .issue (ctx , volumeID ); err != nil {
781772 // Increase issue error count
782- m .metrics .IncrementIssueErrorCountTotal (m .nodeNameHash , volumeID )
773+ if m .metrics != nil {
774+ m .metrics .IncrementIssueErrorCountTotal (m .nodeNameHash , volumeID )
775+ }
783776 return true , err
784777 }
785778 }
@@ -807,8 +800,6 @@ func (m *Manager) manageVolumeIfNotManaged(volumeID string) (managed bool) {
807800 // construct a new channel used to stop management of the volume
808801 stopCh := make (chan struct {})
809802 m .managedVolumes [volumeID ] = stopCh
810- // Increase managed volume count for this driver
811- m .metrics .IncrementManagedVolumeCountTotal (m .nodeNameHash )
812803
813804 return true
814805}
@@ -826,10 +817,6 @@ func (m *Manager) startRenewalRoutine(volumeID string) (started bool) {
826817 return false
827818 }
828819
829- // Increase managed certificate count for this driver.
830- // We assume each volume will have one certificate to be managed.
831- m .metrics .IncrementManagedCertificateCountTotal (m .nodeNameHash )
832-
833820 // Create a context that will be cancelled when the stopCh is closed
834821 ctx , cancel := context .WithCancel (context .Background ())
835822 go func () {
@@ -866,7 +853,9 @@ func (m *Manager) startRenewalRoutine(volumeID string) (started bool) {
866853 if err := m .issue (issueCtx , volumeID ); err != nil {
867854 log .Error (err , "Failed to issue certificate, retrying after applying exponential backoff" )
868855 // Increase issue error count
869- m .metrics .IncrementIssueErrorCountTotal (m .nodeNameHash , volumeID )
856+ if m .metrics != nil {
857+ m .metrics .IncrementIssueErrorCountTotal (m .nodeNameHash , volumeID )
858+ }
870859 return false , nil
871860 }
872861 return true , nil
@@ -906,14 +895,6 @@ func (m *Manager) UnmanageVolume(volumeID string) {
906895 if stopCh , ok := m .managedVolumes [volumeID ]; ok {
907896 close (stopCh )
908897 delete (m .managedVolumes , volumeID )
909- if reqs , err := m .listAllRequestsForVolume (volumeID ); err == nil {
910- // Remove the CertificateRequest from the metrics with the best effort.
911- for _ , req := range reqs {
912- if req != nil {
913- m .metrics .RemoveCertificateRequest (req .Name , req .Namespace )
914- }
915- }
916- }
917898 }
918899}
919900
@@ -959,19 +940,19 @@ func (m *Manager) Stop() {
959940 }
960941}
961942
962- // getExpiryAndDefaultNextIssuanceTime will return the certificate expiry time, together with
963- // default time at which the certificate should be renewed by the driver- 2/3rds through its
964- // lifetime (NotAfter - NotBefore).
965- func getExpiryAndDefaultNextIssuanceTime (chain []byte ) (time. Time , time.Time , error ) {
943+ // calculateNextIssuanceTime will return the default time at which the certificate
944+ // should be renewed by the driver- 2/3rds through its lifetime (NotAfter -
945+ // NotBefore).
946+ func calculateNextIssuanceTime (chain []byte ) (time.Time , error ) {
966947 block , _ := pem .Decode (chain )
967948 crt , err := x509 .ParseCertificate (block .Bytes )
968949 if err != nil {
969- return time.Time {}, time. Time {}, fmt .Errorf ("parsing issued certificate: %w" , err )
950+ return time.Time {}, fmt .Errorf ("parsing issued certificate: %w" , err )
970951 }
971952
972953 actualDuration := crt .NotAfter .Sub (crt .NotBefore )
973954
974955 renewBeforeNotAfter := actualDuration / 3
975956
976- return crt .NotAfter , crt . NotAfter .Add (- renewBeforeNotAfter ), nil
957+ return crt .NotAfter .Add (- renewBeforeNotAfter ), nil
977958}
0 commit comments