diff --git a/Dockerfile b/Dockerfile index 155b667..aee2198 100644 --- a/Dockerfile +++ b/Dockerfile @@ -26,15 +26,16 @@ FROM alpine:3.18 RUN apk add --no-cache ca-certificates -RUN apk add --no-cache bash bind-tools coreutils krb5 tcpdump +RUN apk add --no-cache zsh bash bind-tools coreutils krb5 tcpdump +COPY ./config/zsh.sh /root/.zshrc COPY ./config/bash.sh /root/.bashrc #COPY ./config/krb5.conf /etc -RUN chown -R root:root /root/.bashrc && \ - /bin/bash /root/.bashrc +RUN chown -R root:root /root/.zshrc && \ + chown -R root:root /root/.bashrc && \ + /bin/zsh /root/.zshrc RUN apk add --no-cache alpine-conf && \ setup-timezone -z Africa/Johannesburg # chmod 0644 /etc/krb5.conf -COPY config/resolv.sh /etc/resolv.conf ENV RUNNING_IN_DOCKER true ENV DEBIAN_FRONTEND=noninteractive diff --git a/config/bash.sh b/config/bash.sh index aa3c86c..d781e40 100644 --- a/config/bash.sh +++ b/config/bash.sh @@ -19,6 +19,7 @@ alias ll='ls -laFo' alias l='ls -l' alias g='egrep -i' alias dnsupd=/acme/updatedns.sh +alias acmesh=/acme/acmeauth.sh # # Some more alias to avoid making mistakes: # alias rm='rm -i' diff --git a/config/resolv.sh b/config/resolv.sh deleted file mode 100644 index a7bec8e..0000000 --- a/config/resolv.sh +++ /dev/null @@ -1,4 +0,0 @@ -search ix-sthome-webhook2.svc.cluster.local svc.cluster.local cluster.local sthome.lan -nameserver 10.0.0.15 -nameserver 172.17.0.10 -options ndots:5 \ No newline at end of file diff --git a/config/zsh.sh b/config/zsh.sh index aa578df..4f1e8bc 100644 --- a/config/zsh.sh +++ b/config/zsh.sh @@ -26,6 +26,7 @@ alias ll='ls -laFo' alias l='ls -l' alias g='egrep -i' alias dnsupd=/acme/updatedns.sh +alias acmesh=/acme/acmeauth.sh # # be paranoid # alias cp='cp -ip' diff --git a/deploy/sthome-webhook/Chart.yaml b/deploy/sthome-webhook/Chart.yaml index bb43157..21d1692 100644 --- a/deploy/sthome-webhook/Chart.yaml +++ b/deploy/sthome-webhook/Chart.yaml @@ -1,5 +1,5 @@ apiVersion: v1 -appVersion: v0.0.5-alpha.54 +appVersion: v0.0.5-alpha.77 description: Cert-Manager webhook for sthome name: sthome-webhook -version: 0.0.5-alpha.54 +version: 0.0.5-alpha.77 diff --git a/deploy/sthome-webhook/values.yaml b/deploy/sthome-webhook/values.yaml index 4da5487..5aa11f8 100644 --- a/deploy/sthome-webhook/values.yaml +++ b/deploy/sthome-webhook/values.yaml @@ -31,7 +31,7 @@ clusterIssuer: image: repository: stuurmcp/cert-manager-webhook-sthome #repository: wstat.sthome.net:5000/cert-manager-webhook-sthome - tag: 0.0.5-alpha.54 + tag: 0.0.5-alpha.77 #pullPolicy should be IfNotPresent. Set to Always for testing purposes pullPolicy: IfNotPresent diff --git a/pkg/dns/config.go b/pkg/dns/config.go index d67489f..46f1913 100644 --- a/pkg/dns/config.go +++ b/pkg/dns/config.go @@ -13,8 +13,11 @@ const ( SthomeSecretKeyEnv = "STHOME_SECRET_KEY" ProviderName = "sthome" - Shell = "/bin/bash" - AcmeAuthCmd = "/acme/acmeauth.sh" + bashShell = "/bin/bash" + zshShell = "/bin/zsh" + AcmeDir = "/acme" + Shell = bashShell + AcmeAuthCmd = AcmeDir + "/acmeauth.sh" Dnsserver_net = "10.0.0.15" Dnsserver_lan = "192.168.2.1" diff --git a/pkg/dns/shell.go b/pkg/dns/shell.go index b137498..fbb661b 100644 --- a/pkg/dns/shell.go +++ b/pkg/dns/shell.go @@ -4,6 +4,7 @@ import ( "bytes" "fmt" "os/exec" + "strings" "k8s.io/klog/v2" ) @@ -11,18 +12,23 @@ import ( func Execute(shell string, arg ...string) (bool, error) { var outb, errb bytes.Buffer cmd := exec.Command(shell, arg...) + cmd.Dir = AcmeDir cmd.Stdout = &outb cmd.Stderr = &errb + klog.Infof("cmd: %s\n", cmd.String()) err := cmd.Run() - klog.Infof("out:\n%s\n", outb.String()) + outstr := strings.TrimSuffix(outb.String(), "\n") + errstr := strings.TrimSuffix(errb.String(), "\n") + klog.Infof("out:\n%s\n", outstr) if err != nil { klog.Errorf("Script returned error:\nerr:\n") klog.Errorf("%s\n============\n", err) return false, err } if errb.String() != "" { - klog.Errorf("stderr:\n%s============\n", errb.String()) - return false, fmt.Errorf("stderr:\n%q", errb.String()) + klog.Infof("stderr:\n") + klog.Errorf("%s\n============\n", errstr) + return false, fmt.Errorf("stderr:\n%q", errstr) } klog.Infof("Script returned success\n") return true, nil diff --git a/pkg/dns/solver_local.go b/pkg/dns/solver_local.go index 7801981..02d617c 100644 --- a/pkg/dns/solver_local.go +++ b/pkg/dns/solver_local.go @@ -54,6 +54,7 @@ func (loc *LocalDNSProviderSolver) Present(ch *v1alpha1.ChallengeRequest) error //localip := GetOutboundIP(Dnsserver_net) success, err := Execute( Shell, + // "-c", AcmeAuthCmd, "set", ch.DNSName, @@ -82,6 +83,7 @@ func (loc *LocalDNSProviderSolver) CleanUp(ch *v1alpha1.ChallengeRequest) error //localip := GetOutboundIP(Dnsserver_net) success, err := Execute( Shell, + // "-c", AcmeAuthCmd, "unset", ch.DNSName, diff --git a/version.txt b/version.txt index 1e073d5..3891ec3 100644 --- a/version.txt +++ b/version.txt @@ -1,3 +1,3 @@ -0.0.5-alpha.54 -20240412-2211 -54 \ No newline at end of file +0.0.5-alpha.77 +20240414-1206 +77 \ No newline at end of file