@@ -22,7 +22,7 @@ import (
2222
2323const (
2424 defaultTTL = 600
25- acmeDelegate = "/acme_delegate.sh"
25+ acmeDelegate = "/usr/local/bin/ acme_delegate.sh"
2626 acmeReturnValue = "ACME_RETVAL"
2727)
2828
@@ -33,10 +33,18 @@ func main() {
3333 panic ("GROUP_NAME must be specified" )
3434 }
3535
36- klog .Infof ("Starting webhook server with group name: %s" , GroupName )
36+ var commitHash = getCommitHash ()
37+ klog .Infof ("Starting webhook server with group name: %s with version: %s" , GroupName , commitHash )
3738 cmd .RunWebhookServer (GroupName , & customDNSProviderSolver {})
3839}
3940
41+ func getCommitHash () string {
42+ if val := os .Getenv ("COMMIT_HASH" ); val != "" {
43+ return val
44+ }
45+ return "unknown"
46+ }
47+
4048type customDNSProviderSolver struct {
4149 client * kubernetes.Clientset
4250}
@@ -74,16 +82,9 @@ func (c *customDNSProviderSolver) DoDNSAPI(action string, ch *v1alpha1.Challenge
7482 return err
7583 }
7684
77- envData , ok := envSecret .Data ["env" ]
78- if ! ok {
79- klog .Errorf ("Missing 'env' key in secret" )
80- return fmt .Errorf ("no env in secret" )
81- }
82-
83- env := envFromSecret {}
84- if err := json .Unmarshal (envData , & env ); err != nil {
85- klog .Errorf ("Failed to unmarshal env data: %v" , err )
86- return err
85+ envVars := []string {}
86+ for key , val := range envSecret .Data {
87+ envVars = append (envVars , fmt .Sprintf ("%s=%s" , key , string (val )))
8788 }
8889
8990 uuid := uuid .New ()
@@ -96,18 +97,12 @@ func (c *customDNSProviderSolver) DoDNSAPI(action string, ch *v1alpha1.Challenge
9697
9798 procAttr := & os.ProcAttr {
9899 Files : []* os.File {os .Stdin , stdoutFile , os .Stderr },
99- Env : env ,
100- }
101-
102- dir , err := os .Getwd ()
103- if err != nil {
104- klog .Errorf ("Failed to get working directory: %v" , err )
105- return err
100+ Env : envVars ,
106101 }
107102
108103 klog .Infof ("Executing %s with action=%s" , acmeDelegate , action )
109- process , err := os .StartProcess (dir + acmeDelegate , []string {
110- dir + acmeDelegate , cfg .DNSAPI , action , util .UnFqdn (ch .ResolvedFQDN ), ch .Key ,
104+ process , err := os .StartProcess (acmeDelegate , []string {
105+ acmeDelegate , cfg .DNSAPI , action , util .UnFqdn (ch .ResolvedFQDN ), ch .Key ,
111106 }, procAttr )
112107 if err != nil {
113108 klog .Errorf ("Failed to start process: %v" , err )
0 commit comments