diff --git a/Dockerfile b/Dockerfile index 9bdd3e0..04c4a23 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,5 +1,7 @@ FROM golang:1.21-alpine3.18 AS build_deps +ARG GROUP_NAME=api.sthome.net + RUN apk add --no-cache git WORKDIR /workspace diff --git a/main.go b/main.go index 5e293ef..cd3537e 100644 --- a/main.go +++ b/main.go @@ -6,6 +6,7 @@ import ( "os" extapi "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1" + "k8s.io/client-go/kubernetes" "k8s.io/client-go/rest" "github.com/cert-manager/cert-manager/pkg/acme/webhook/apis/acme/v1alpha1" @@ -13,7 +14,7 @@ import ( ) const ( - providerName = "sthome" + providerName = "sthome-solver" ) var GroupName = os.Getenv("GROUP_NAME") @@ -44,7 +45,7 @@ type customDNSProviderSolver struct { // 3. uncomment the relevant code in the Initialize method below // 4. ensure your webhook's service account has the required RBAC role // assigned to it for interacting with the Kubernetes APIs you need. - //client kubernetes.Clientset + client kubernetes.Clientset } // customDNSProviderConfig is a structure that is used to decode into when @@ -67,7 +68,7 @@ type customDNSProviderConfig struct { // These fields will be set by users in the // `issuer.spec.acme.dns01.providers.webhook.config` field. - //Email string `json:"email"` + Email string `json:"email"` //APIKeySecretRef v1alpha1.SecretKeySelector `json:"apiKeySecretRef"` } @@ -123,12 +124,12 @@ func (c *customDNSProviderSolver) Initialize(kubeClientConfig *rest.Config, stop ///// UNCOMMENT THE BELOW CODE TO MAKE A KUBERNETES CLIENTSET AVAILABLE TO ///// YOUR CUSTOM DNS PROVIDER - //cl, err := kubernetes.NewForConfig(kubeClientConfig) - //if err != nil { - // return err - //} - // - //c.client = cl + cl, err := kubernetes.NewForConfig(kubeClientConfig) + if err != nil { + return err + } + + c.client = *cl ///// END OF CODE TO MAKE KUBERNETES CLIENTSET AVAILABLE return nil diff --git a/main_test.go b/main_test.go index e2280f4..09217a8 100644 --- a/main_test.go +++ b/main_test.go @@ -22,13 +22,13 @@ func TestRunsSuite(t *testing.T) { //fixture := acmetest.NewFixture(&customDNSProviderSolver{}, // acmetest.SetResolvedZone(zone), // acmetest.SetAllowAmbientCredentials(false), - // acmetest.SetManifestPath("testdata/my-custom-solver"), + // acmetest.SetManifestPath("testdata/sthome-solver"), // acmetest.SetBinariesPath("_test/kubebuilder/bin"), //) solver := sthome.New("59351") fixture := acmetest.NewFixture(solver, acmetest.SetResolvedZone("sthome.net."), - acmetest.SetManifestPath("testdata/my-custom-solver"), + acmetest.SetManifestPath("testdata/sthome-solver"), acmetest.SetDNSServer("127.0.0.1:59351"), acmetest.SetUseAuthoritative(false), ) diff --git a/sthome/sthome.go b/sthome/sthome.go index 6bce952..dfaeabc 100644 --- a/sthome/sthome.go +++ b/sthome/sthome.go @@ -1,5 +1,4 @@ -// package sthome contains a self-contained sthome of a webhook that passes the cert-manager -// DNS conformance tests +// must pass cert-manager DNS conformance tests package sthome import (