mirror of
https://github.com/Luzifer/korvike.git
synced 2024-12-20 11:11:19 +00:00
korvike takes a Go template and executes it
Knut Ahlers
fd2a37ca97
and add `must*` variants for them Signed-off-by: Knut Ahlers <knut@ahlers.me> |
||
---|---|---|
.github/workflows | ||
ci | ||
functions | ||
.gitignore | ||
go.mod | ||
go.sum | ||
History.md | ||
LICENSE | ||
main.go | ||
Makefile | ||
README.md |
Luzifer / korvike
korvike
is the finnish translation to the word "replacer" and that is what it does: It takes a Go template and executes it.
Available functions
Starting with v1.0.0
Korvike is based on the sprig functions collection with some additions:
{{ .<variable name> }}
Take key-value pairs from the CLI and replace them inside the template$ echo "{{ .foo }}" | korvike -v foo=bar bar
{{ file <file name> }}
/{{ mustFile <file name> }}
Read a file and place it inside the template,file
returns an empty string on error,mustFile
an error$ echo "Hello World" > hello $ echo '{{ file "hello" }}' | korvike Hello World
{{ markdown <source> }}
Format the source using a markdown parser$ echo '{{ markdown "# headline" }}' | korvike <h1>headline</h1>
{{ tplexec (file "my.tpl") }}
Execute the given template with the same function set and variables as the parent template.$ export FOO=bar $ echo '{{ env "FOO" }}' >my.tpl $ echo '{{ tplexec (file "my.tpl") }}' | korvike bar
{{ urlescape <input string> }}
Do an URL escape to use the input string inside an query parameter in an URL$ echo '{{ urlescape "Hellö Wörld@Golang" }}' | korvike Hell%C3%B6+W%C3%B6rld%40Golang
{{ vault <path> <key> }}
/{{ mustVault <path> <key> }}
Read a key from Vault usingVAULT_ADDR
andVAULT_TOKEN
environment variables (or~/.vault-token
file) for authentication.vault
returns an empty string on error,mustVault
an error$ vault write secret/test foo=bar $ echo '{{ vault "secret/test" "foo" }}' | korvike bar