2 Commits

Author SHA1 Message Date
b62f1cf632 Bump version to v0.4.3
All checks were successful
Release workflow / Check version (push) Successful in 5s
Release workflow / Publish Helm chart (push) Successful in 32s
Release workflow / Publish Docker image (push) Successful in 2m24s
2023-10-17 14:40:27 -04:00
cfc6360ffc Revert secret decoding "fixes"
Apparently the data from the secret is already decoded?
2023-10-17 14:39:57 -04:00
2 changed files with 6 additions and 13 deletions

View File

@@ -1,4 +1,4 @@
apiVersion: v2
description: A Helm chart for cert-manager-webhook-gandi
name: cert-manager-webhook-gandi
version: v0.4.2
version: v0.4.3

17
main.go
View File

@@ -2,7 +2,6 @@ package main
import (
"context"
"encoding/base64"
"encoding/json"
"errors"
"fmt"
@@ -206,34 +205,28 @@ func (c *gandiDNSProviderSolver) newClient(ch *v1alpha1.ChallengeRequest) (*live
}
return gandi.NewLiveDNSClient(config.Config{
APIKey: *apiKey,
APIKey: apiKey,
Timeout: time.Second * 30,
Debug: DebugHTTP != "",
}), nil
}
// Get Gandi API key from Kubernetes secret.
func (c *gandiDNSProviderSolver) getApiKey(cfg *gandiDNSProviderConfig, namespace string) (*string, error) {
func (c *gandiDNSProviderSolver) getApiKey(cfg *gandiDNSProviderConfig, namespace string) (string, error) {
secretName := cfg.APIKeySecretRef.LocalObjectReference.Name
klog.V(6).Infof("try to load secret `%s` with key `%s`", secretName, cfg.APIKeySecretRef.Key)
sec, err := c.client.CoreV1().Secrets(namespace).Get(context.Background(), secretName, metav1.GetOptions{})
if err != nil {
return nil, fmt.Errorf("unable to get secret `%s`; %v", secretName, err)
return "", fmt.Errorf("unable to get secret `%s`; %v", secretName, err)
}
secBytes, ok := sec.Data[cfg.APIKeySecretRef.Key]
if !ok {
return nil, fmt.Errorf("key %q not found in secret \"%s/%s\"", cfg.APIKeySecretRef.Key,
return "", fmt.Errorf("key %q not found in secret \"%s/%s\"", cfg.APIKeySecretRef.Key,
cfg.APIKeySecretRef.LocalObjectReference.Name, namespace)
}
decoded := make([]byte, base64.StdEncoding.DecodedLen(len(secBytes)))
_, err = base64.RawStdEncoding.Decode(decoded, secBytes)
if err != nil {
return nil, fmt.Errorf("failed to decode api key secret: %w", err)
}
apiKey := string(decoded)
return &apiKey, nil
return string(secBytes), nil
}