From 4436f3d7c0282f75bd0d2e0d7e113e20412b3ff2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=96=9F=E9=85=8C=20=E9=B5=AC=E5=85=84?= Date: Mon, 14 Mar 2022 11:14:53 +0900 Subject: [PATCH] Some proper logging --- freedns/freedns.go | 23 +++++++++++++++++------ go.mod | 2 +- go.sum | 2 ++ main.go | 13 ++++++++++--- 4 files changed, 30 insertions(+), 10 deletions(-) diff --git a/freedns/freedns.go b/freedns/freedns.go index 093021f..536e7c8 100755 --- a/freedns/freedns.go +++ b/freedns/freedns.go @@ -8,6 +8,7 @@ import ( "net/url" "strings" + logf "github.com/jetstack/cert-manager/pkg/logs" "golang.org/x/net/html" ) @@ -34,6 +35,16 @@ const URI_DELETE_RECORD = "https://freedns.afraid.org/subdomain/delete2.php?data // const URI_LOGIN string = "http://127.0.0.1:1234/" +func LogInfo(Mesg string) { + fmt.Println(Mesg) + logf.V(logf.InfoLevel).Info(Mesg) +} + +func LogDebug(Mesg string) { + fmt.Println(Mesg) + logf.V(logf.DebugLevel).Info(Mesg) +} + func GetDomainFromZone(Zone string) string { _segs := strings.Split(strings.TrimSuffix(Zone, "."), ".") _segs = _segs[len(_segs)-2:] @@ -113,7 +124,7 @@ func (dnsObj *FreeDNS) Logout() error { return nil } - _, _, err := _HttpRequest("GET", URI_DOMAIN, nil, dnsObj.AuthCookie) + _, _, err := _HttpRequest("GET", URI_LOGOUT, nil, dnsObj.AuthCookie) if err != nil { return err } @@ -149,7 +160,7 @@ loop: break loop case html.TextToken: if inBold && strings.TrimSpace(htmlTokens.Token().Data) == DomainName { - fmt.Println("Found " + DomainName + ", looking for domain id") + LogInfo("Found " + DomainName + ", looking for domain id") lookForA = true } // The [Manage] anchor is next to the bold tag @@ -164,7 +175,7 @@ loop: _href := string(attrValue) if string(attrKey) == "href" && strings.Contains(_href, "/subdomain/?limit=") { dnsObj.DomainId = strings.TrimPrefix(_href, "/subdomain/?limit=") - fmt.Printf("Domain id for \"%s\" is %s\n", DomainName, dnsObj.DomainId) + LogDebug(fmt.Sprintf("Domain id for \"%s\" is %s\n", DomainName, dnsObj.DomainId)) break loop } if !moreAttr { @@ -205,7 +216,7 @@ func (dnsObj *FreeDNS) AddRecord(RecordType string, Subdomain string, Address st // Record already exists, treat this as success if strings.Contains(respStr, "already have another already existent") { - fmt.Println("Record already exists") + LogInfo("Record already exists") return nil } @@ -230,7 +241,7 @@ func (dnsObj *FreeDNS) AddRecord(RecordType string, Subdomain string, Address st } if strings.Contains(_Location.Path, "/zc.php") { - fmt.Println("Error on AddRecord: Cookie expired") + LogDebug("Error on AddRecord: Cookie expired") return errors.New("dns_cookie maybe expired") } @@ -340,7 +351,7 @@ loop: // Begin deep search for truncated records htmlAddr := strings.ReplaceAll(html.EscapeString(Address), """, """) for _, RecordId := range DeepSearchCandidates { - fmt.Println("Searching in " + RecordId) + LogDebug("Searching in " + RecordId) _, respStr, err := _HttpRequest("GET", URI_SUBDOMAIN_EDIT+RecordId, nil, dnsObj.AuthCookie) if err != nil { continue diff --git a/go.mod b/go.mod index efd84bd..df9c028 100644 --- a/go.mod +++ b/go.mod @@ -3,7 +3,7 @@ module github.com/cert-manager/webhook-freedns go 1.17 require ( - github.com/jetstack/cert-manager v1.7.0 + github.com/jetstack/cert-manager v1.7.1 github.com/miekg/dns v1.1.34 github.com/stretchr/testify v1.7.0 k8s.io/apiextensions-apiserver v0.23.1 diff --git a/go.sum b/go.sum index 51d9de6..bedafae 100644 --- a/go.sum +++ b/go.sum @@ -305,6 +305,8 @@ github.com/inconshreveable/mousetrap v1.0.0 h1:Z8tu5sraLXCXIcARxBp/8cbvlwVa7Z1NH github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= github.com/jetstack/cert-manager v1.7.0 h1:XLLDmREJ8MlBg/Z1bySjHdyzT4yYTzGlbBsxqddJzxU= github.com/jetstack/cert-manager v1.7.0/go.mod h1:xj0TPp31HE0Jub5mNOnF3Fp3XvhIsiP+tsPZVOmU/Qs= +github.com/jetstack/cert-manager v1.7.1 h1:qIIP0RN5FzBChJLJ3uGCGJmdAAonwDMdcsJExATa64I= +github.com/jetstack/cert-manager v1.7.1/go.mod h1:xj0TPp31HE0Jub5mNOnF3Fp3XvhIsiP+tsPZVOmU/Qs= github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo= github.com/jonboulle/clockwork v0.2.2 h1:UOGuzwb1PwsrDAObMuhUnj0p5ULPj8V/xJ7Kx9qUBdQ= github.com/jonboulle/clockwork v0.2.2/go.mod h1:Pkfl5aHPm1nk2H9h0bjmnJD/BcgbGXUBGnn1kMkgxc8= diff --git a/main.go b/main.go index 0737116..94db337 100644 --- a/main.go +++ b/main.go @@ -121,7 +121,7 @@ func (c *customDNSProviderSolver) Present(ch *v1alpha1.ChallengeRequest) error { _zone = strings.TrimRight(_zone, ".") _key := "\"" + ch.Key + "\"" - fmt.Println("ADD", _zone, _key) + freedns.LogInfo(fmt.Sprintf("ADD %s %s", _zone, _key)) err = dnsObj.AddRecord("TXT", _zone, _key, false, "") if err != nil { @@ -140,11 +140,18 @@ func (c *customDNSProviderSolver) Present(ch *v1alpha1.ChallengeRequest) error { // concurrently. func (c *customDNSProviderSolver) CleanUp(ch *v1alpha1.ChallengeRequest) error { + if c.freedns == nil { + return nil + } + + c.freedns = nil + dnsObj := c.freedns + _addr := strings.TrimRight(ch.ResolvedFQDN, ".") _key := "\"" + ch.Key + "\"" _id, err := c.freedns.FindRecord(_addr, "TXT", _key) - fmt.Println("DEL", _addr) + freedns.LogInfo(fmt.Sprintf("DEL %s %s", _addr, _key)) if _id != "" { err = c.freedns.DeleteRecord(_id) @@ -153,7 +160,7 @@ func (c *customDNSProviderSolver) CleanUp(ch *v1alpha1.ChallengeRequest) error { } } - return c.freedns.Logout() + return dnsObj.Logout() } // Initialize will be called when the webhook first starts.