consul-template-plugin-savetofile

command module
v3.0.0+incompatible Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 8, 2017 License: MIT Imports: 4 Imported by: 0

README

savetofile - a consul-template plugin

Give credit where credit is due, this is based off of https://gist.github.com/tam7t/1b45125ae4de13b3fc6fd0455954c08e I just wanted it in a repo, with releases so I can install the binary through automated means.

I also wanted to tweak it a bit to be just about saving the contents to a file and allow passing of the UID and GID instead of the username along with a few other minor tweaks.

Usage

savetofile <mode> <path> <uid> <gid> <contents>

Valid Values for Mode:

  • create
  • create-nl (will add a \n after the contents)
  • append
  • append-nl (will add a \n after the contents)

Example Consul Template Usage

{{ with secret "pki/issue/consul" "common_name=consul.example.com" "ttl=1h" }}
  {{ if .Data.ca_chain }}
  {{ range $key, $value := .Data.ca_chain }}
    {{ if eq $key 0 }}
      {{ $value | plugin "/usr/local/bin/savetofile" "create-nl" "/etc/consul/ssl/ca.crt" "100" "1000" }}
    {{ else }}
      {{ $value | plugin "/usr/local/bin/savetofile" "append-nl" "/etc/consul/ssl/ca.crt" "100" "1000" }}
    {{ end }}
  {{ end }}
  {{ end }}
  
  {{ if .Data.certificate }}
  {{ .Data.certificate | plugin "/usr/local/bin/savetofile" "create-nl" "/etc/consul/ssl/consul.crt" "100" "1000" }}
  {{ end }}

  {{ if .Data.private_key }}
  {{ .Data.private_key | plugin "/usr/local/bin/savetofile" "create-nl" "/etc/consul/ssl/consul.key" "100" "1000" }}
  {{ end }}
{{ end }}

License

MIT

Documentation

The Go Gopher

There is no documentation for this package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL