diff --git a/pki/helm.go b/pki/helm.go index 852e5aa4..0a2f7f02 100644 --- a/pki/helm.go +++ b/pki/helm.go @@ -4,11 +4,11 @@ import ( "io" "text/template" - "github.com/Masterminds/sprig/v3" "github.com/pkg/errors" "github.com/smallstep/certificates/authority" authconfig "github.com/smallstep/certificates/authority/config" "github.com/smallstep/certificates/authority/provisioner" + "github.com/smallstep/certificates/templates" "go.step.sm/linkedca" ) @@ -24,11 +24,7 @@ type helmVariables struct { // WriteHelmTemplate a helm template to configure the // smallstep/step-certificates helm chart. func (p *PKI) WriteHelmTemplate(w io.Writer) error { - funcs := sprig.TxtFuncMap() - delete(funcs, "env") - delete(funcs, "expandenv") - - tmpl, err := template.New("helm").Funcs(funcs).Parse(helmTemplate) + tmpl, err := template.New("helm").Funcs(templates.StepFuncMap()).Parse(helmTemplate) if err != nil { return errors.Wrap(err, "error writing helm template") } diff --git a/templates/templates.go b/templates/templates.go index 8f10d8a4..09416b68 100644 --- a/templates/templates.go +++ b/templates/templates.go @@ -183,7 +183,7 @@ func (t *Template) Load() error { // the template fails. func (t *Template) LoadBytes(b []byte) error { t.backfill(b) - tmpl, err := template.New(t.Name).Funcs(getFuncMap()).Parse(string(b)) + tmpl, err := template.New(t.Name).Funcs(StepFuncMap()).Parse(string(b)) if err != nil { return errors.Wrapf(err, "error parsing template %s", t.Name) } @@ -271,9 +271,9 @@ func mkdir(path string, perm os.FileMode) error { return nil } -// getFuncMap returns sprig.TxtFuncMap but removing the "env" and "expandenv" +// StepFuncMap returns sprig.TxtFuncMap but removing the "env" and "expandenv" // functions to avoid any leak of information. -func getFuncMap() template.FuncMap { +func StepFuncMap() template.FuncMap { m := sprig.TxtFuncMap() delete(m, "env") delete(m, "expandenv")