Skip to content

szczad/vaultify

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

41 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

vaultify

Build Status

Vaultify templates file from vault secrets and auto renews leases

Running vaultify

vaultify has three commands, template, renew-leases, and run

Template

The template command reads a template, renders the vault secrets into it, and stores the result in a file. In addition it also stores the secret lease information in a secrets file to be able to renew the leases.

template.yaml example:

credentials:
    <{- $admin := vault "database/creds/maindb-admin" }>
    username: <{ $admin.Data.username | quote }>
    password: <{ $admin.Data.password | quote }>

Running vaultify template:

vaultify template --vault https://vault.vault:8200 \
                  --role maindb-admin \
                  --template-file template.yaml \
                  --output-file /app/config.yaml \
                  --secrets-output-file /app/secrets.json \
                  -vv

Renew-leases

The renew-leases command renews leases that for created by template command and stored in a secrets file.

Running vaultify renew-leases:

vaultify renew-leases --vault https://vault.vault:8200 \
                      --secrets-output-file /app/secrets.json \
                      --metrics-address ":9105" \
                      -vv

Run

Running vaultify and continuously renew leases:

vaultify run --vault https://vault.vault:8200 \
             --role maindb-admin \
             --template-file template.yaml \
             --output-file /app/config.yaml \
             --metrics-address ":9105" \
             -vv

Note that running only this might not work for all work loads. If you run your application in kubernetes and your configuration needs to be rendered before the application starts, you should run the template command in a initContainer and the renew-leases command in a side-car.

Metrics

Vaultify run and renew-leases are exposing the following metrics:

metric type description
vaultify_auth_lease_renewed counter renewed auth leases
vaultify_auth_lease_renewal_failed counter failed auth lease renewals
vaultify_secret_lease_renewed counter renewed secret leases
vaultify_secret_lease_renewal_failed counter failed secret lease renewals

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Go 98.9%
  • Dockerfile 1.1%