code: func (ctx *PayloadContext) Expand(s string) (string, error) {
  	funcMap := template.FuncMap{
  		"secret": ctx.secretGetter,
  		"config": ctx.configGetter,
  		"env":    ctx.envGetter,
  	}
  
  	tmpl, err := newTemplate(s, funcMap)
  	if err != nil {
  		return s, err
  	}
  
  	var buf bytes.Buffer
  	if err := tmpl.Execute(&buf, ctx); err != nil {
  		return s, err
  	}
  
  	return buf.String(), nil
  }
docs: // Expand treats the string s as a template and populates it with values from
  // the context.