diff --git a/controllers/certmanager/digicertissuer_controller.go b/controllers/certmanager/digicertissuer_controller.go index fe4feaf..fda7c39 100644 --- a/controllers/certmanager/digicertissuer_controller.go +++ b/controllers/certmanager/digicertissuer_controller.go @@ -51,35 +51,35 @@ func (r *DigicertIssuerReconciler) Reconcile(ctx context.Context, req ctrl.Reque return ctrl.Result{}, client.IgnoreNotFound(err) } - issuer, err := k8sutils.EnsureDigicertIssuerStatusInitialized(r.Client, issuer) + issuer, err := k8sutils.EnsureDigicertIssuerStatusInitialized(ctx, r.Client, issuer) if err != nil { logger.Error(err, "failed to initialize issuer status") } if err := validateDigicertIssuerSpec(issuer.Spec); err != nil { k8sutils.SetDigicertIssuerStatusConditionType( - r.Client, issuer, certmanagerv1beta1.ConditionConfigurationError, certmanagerv1beta1.ConditionTrue, + ctx, r.Client, issuer, certmanagerv1beta1.ConditionConfigurationError, certmanagerv1beta1.ConditionTrue, certmanagerv1beta1.ConditionReasonInvalidIssuerSpec, err.Error(), ) logger.Error(err, "issuer.spec is invalid") return ctrl.Result{}, err } k8sutils.SetDigicertIssuerStatusConditionType( - r.Client, issuer, certmanagerv1beta1.ConditionConfigurationError, certmanagerv1beta1.ConditionFalse, "", "", + ctx, r.Client, issuer, certmanagerv1beta1.ConditionConfigurationError, certmanagerv1beta1.ConditionFalse, "", "", ) secretRef := issuer.Spec.Provisioner.APITokenReference - digicertAPIToken, err := k8sutils.GetSecretData(r.Client, issuer.GetNamespace(), secretRef.Name, secretRef.Key) + digicertAPIToken, err := k8sutils.GetSecretData(ctx, r.Client, issuer.GetNamespace(), secretRef.Name, secretRef.Key) if err != nil { logger.Error(err, "failed to get provisioner secret containing the API token") k8sutils.SetDigicertIssuerStatusConditionType( - r.Client, issuer, certmanagerv1beta1.ConditionConfigurationError, certmanagerv1beta1.ConditionTrue, + ctx, r.Client, issuer, certmanagerv1beta1.ConditionConfigurationError, certmanagerv1beta1.ConditionTrue, certmanagerv1beta1.ConditionReasonSecretNotFoundOrEmpty, err.Error(), ) return ctrl.Result{}, err } k8sutils.SetDigicertIssuerStatusConditionType( - r.Client, issuer, certmanagerv1beta1.ConditionConfigurationError, certmanagerv1beta1.ConditionFalse, "", "", + ctx, r.Client, issuer, certmanagerv1beta1.ConditionConfigurationError, certmanagerv1beta1.ConditionFalse, "", "", ) prov, err := provisioners.New(issuer, digicertAPIToken) @@ -92,7 +92,7 @@ func (r *DigicertIssuerReconciler) Reconcile(ctx context.Context, req ctrl.Reque logger.Info("provisioner is ready", "name", prov.GetName()) _, err = k8sutils.SetDigicertIssuerStatusConditionType( - r.Client, issuer, certmanagerv1beta1.ConditionReady, certmanagerv1beta1.ConditionTrue, "", "", + ctx, r.Client, issuer, certmanagerv1beta1.ConditionReady, certmanagerv1beta1.ConditionTrue, "", "", ) return ctrl.Result{}, err } diff --git a/pkg/k8sutils/digicertissuer.go b/pkg/k8sutils/digicertissuer.go index 16f7563..38c7b5a 100644 --- a/pkg/k8sutils/digicertissuer.go +++ b/pkg/k8sutils/digicertissuer.go @@ -25,7 +25,7 @@ import ( "sigs.k8s.io/controller-runtime/pkg/client" ) -func SetDigicertIssuerStatusConditionType(k8sClient client.Client, cur *certmanagerv1beta1.DigicertIssuer, statusType certmanagerv1beta1.ConditionType, status certmanagerv1beta1.ConditionStatus, reason certmanagerv1beta1.ConditionReason, message string) (*certmanagerv1beta1.DigicertIssuer, error) { +func SetDigicertIssuerStatusConditionType(ctx context.Context, k8sClient client.Client, cur *certmanagerv1beta1.DigicertIssuer, statusType certmanagerv1beta1.ConditionType, status certmanagerv1beta1.ConditionStatus, reason certmanagerv1beta1.ConditionReason, message string) (*certmanagerv1beta1.DigicertIssuer, error) { ts := metav1.NewTime(time.Now().UTC()) newCondition := certmanagerv1beta1.DigicertIssuerCondition{ Type: statusType, @@ -49,7 +49,7 @@ func SetDigicertIssuerStatusConditionType(k8sClient client.Client, cur *certmana if new.Status.Conditions == nil || len(new.Status.Conditions) == 0 { new.Status.Conditions = []certmanagerv1beta1.DigicertIssuerCondition{newCondition} - return patchDigicertIssuerStatus(k8sClient, cur, new) + return patchDigicertIssuerStatus(ctx, k8sClient, cur, new) } for idx, curCondition := range new.Status.Conditions { @@ -58,16 +58,16 @@ func SetDigicertIssuerStatusConditionType(k8sClient client.Client, cur *certmana } } - return patchDigicertIssuerStatus(k8sClient, cur, new) + return patchDigicertIssuerStatus(ctx, k8sClient, cur, new) } -func EnsureDigicertIssuerStatusInitialized(k8sClient client.Client, issuer *certmanagerv1beta1.DigicertIssuer) (*certmanagerv1beta1.DigicertIssuer, error) { +func EnsureDigicertIssuerStatusInitialized(ctx context.Context, k8sClient client.Client, issuer *certmanagerv1beta1.DigicertIssuer) (*certmanagerv1beta1.DigicertIssuer, error) { if isDigicertIssuerReady(issuer) { return issuer, nil } return SetDigicertIssuerStatusConditionType( - k8sClient, issuer, certmanagerv1beta1.ConditionReady, certmanagerv1beta1.ConditionFalse, "", "", + ctx, k8sClient, issuer, certmanagerv1beta1.ConditionReady, certmanagerv1beta1.ConditionFalse, "", "", ) } @@ -78,9 +78,9 @@ func isDigicertIssuerReady(issuer *certmanagerv1beta1.DigicertIssuer) bool { }) } -func patchDigicertIssuerStatus(k8sClient client.Client, cur, new *certmanagerv1beta1.DigicertIssuer) (*certmanagerv1beta1.DigicertIssuer, error) { +func patchDigicertIssuerStatus(ctx context.Context, k8sClient client.Client, cur, new *certmanagerv1beta1.DigicertIssuer) (*certmanagerv1beta1.DigicertIssuer, error) { patch := client.MergeFrom(cur) - if err := k8sClient.Status().Patch(context.Background(), new, patch); err != nil { + if err := k8sClient.Status().Patch(ctx, new, patch); err != nil { return cur, err } diff --git a/pkg/k8sutils/secret.go b/pkg/k8sutils/secret.go index 2ae91f5..dd0014d 100644 --- a/pkg/k8sutils/secret.go +++ b/pkg/k8sutils/secret.go @@ -25,9 +25,9 @@ import ( "sigs.k8s.io/controller-runtime/pkg/client" ) -func GetSecretData(k8sClient client.Client, secretNamespace, secretName, secretDataKey string) (string, error) { +func GetSecretData(ctx context.Context, k8sClient client.Client, secretNamespace, secretName, secretDataKey string) (string, error) { s := new(corev1.Secret) - if err := k8sClient.Get(context.Background(), client.ObjectKey{ + if err := k8sClient.Get(ctx, client.ObjectKey{ Namespace: secretNamespace, Name: secretName, }, s); err != nil {