penguin/webhook-freedns

freedns webhook for cert-manager

commit 515ba49c84fe45a18251fa049b843ead0201f107

author斟酌 鵬兄 <tgckpg@gmail.com>
date2022-03-12T23:57:26Z
subjectTry get the secretObj
commit 515ba49c84fe45a18251fa049b843ead0201f107
Author: 斟酌 鵬兄 <tgckpg@gmail.com>
Date:   2022-03-12T23:57:26Z

    Try get the secretObj
---
 main.go | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/main.go b/main.go
index 8368df4..da78d24 100644
--- a/main.go
+++ b/main.go
@@ -1,11 +1,13 @@
 package main
 
 import (
+	"context"
 	"encoding/json"
 	"fmt"
 	"os"
 
 	extapi "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1"
+	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
 	"k8s.io/client-go/kubernetes"
 	"k8s.io/client-go/rest"
 
@@ -94,6 +96,14 @@ func (c *customDNSProviderSolver) Present(ch *v1alpha1.ChallengeRequest) error {
 	// TODO: do something more useful with the decoded configuration
 	fmt.Printf("Decoded configuration %v", cfg)
 
+	secretName := cfg.SecretRef
+	secretObj, err := c.client.CoreV1().Secrets(ch.ResourceNamespace).Get(context.Background(), secretName, metav1.GetOptions{})
+	if err != nil {
+		return fmt.Errorf("Unable to get secret `%s/%s`; %v", secretName, ch.ResourceNamespace, err)
+	}
+	fmt.Printf( "%v", secretObj )
+
+
 	// TODO: add code that sets a record in the DNS provider's console
 	return nil
 }