Skip to content

CMD golang template cli using sprig library. Like helm. But only for local templating.

License

Notifications You must be signed in to change notification settings

rjshrjndrn/templater

Repository files navigation

Templater

License Build Status Version

Templater is a cli tool that helps you to quickly and easily create files from templates, using go template.

How to use

  1. Inline variables
# File using helm templating
cat <<'EOF'>file
---
{{- $name := "John" }}
class:
{{- range $i := until 11 }}
  {{$i}}: {{$name}}
{{- end }}
EOF

templater -i file

# This will be the output

File: out/file
---
class:
  0: John
  1: John
  2: John
  3: John
  4: John
  5: John
  6: John
  7: John
  8: John
  9: John
  10: John
  1. Passing variables from external yaml, using helm style templating.
# Value file
cat <<'EOF'>values.yaml
school: Govt. Public School
EOF
# File using helm templating
cat <<'EOF'>file
---
{{- $name := "John" }}
class:
  school: {{ .Values.school }}
{{- range $i := until 11 }}
  {{$i}}: {{$name}}
{{- end }}
EOF

templater -i file -f values.yaml -o out/

# This will be the output

File: out/file
---
class:
  school: Govt. Public School
  0: John
  1: John
  2: John
  3: John
  4: John
  5: John
  6: John
  7: John
  8: John
  9: John
  10: John
  1. Using stdin
# Value file
cat <<'EOF'>values.yaml
name: Rajesh
EOF

echo "hi: {{.Values.name}}" | templater -f values.yaml -i -

output:

hi: Rajesh

Installation

  1. HomeBrew

brew install rjshrjndrn/tap/templater

  1. Binary

Download the latest binary from Release Page.

  1. Using go get
go get github.com/rjshrjndrn/templater