Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| b62f1cf632 | |||
| cfc6360ffc |
@@ -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
17
main.go
@@ -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
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user