27 releases
0.4.14 | Feb 12, 2023 |
---|---|
0.4.12 | Jul 20, 2022 |
0.4.10 | Apr 9, 2021 |
0.4.8 | May 7, 2020 |
0.3.7 | Mar 30, 2019 |
#296 in Configuration
17KB
245 lines
vdot
Create your .env
files using HashiCorp Vault.
🔮 Want to start a process with Vault? Consider using HashiCorp's
envconsul
.
Installation
Homebrew and Linuxbrew
You can install
brew
from https://brew.sh.
brew tap sjparkinson/vdot https://github.com/sjparkinson/vdot
brew install vdot
Cargo
You can install
cargo
from https://www.rust-lang.org/tools/install.
cargo install vdot
Download
You can download executables for macOS, Linux, and Windows from https://github.com/sjparkinson/vdot/releases/latest.
Usage
vdot
USAGE:
vdot [FLAGS] [OPTIONS] <PATH>...
FLAGS:
-h, --help Prints help information
-V, --version Prints version information
-v, --verbose Verbose mode
OPTIONS:
-o, --output <path> Write to the given file [default: .env]
--kv <version> Version of the key value secrets engine [default: 2] [possible values: 1, 2]
--vault-token <token> Vault token used to authenticate requests [env: VAULT_TOKEN]
--vault-address <address> Vault server address [env: VAULT_ADDR=http://127.0.0.1:8200]
ARGS:
<path>... Path to the Vault secrets
The following assumes you are using version two of Vault's key-value secret engine. Check out vdot --help
for more information.
$ vault kv put secret/foo-bar ENV=production LOG_LEVEL=info
$ vault kv put secret/fizz-buzz LOG_LEVEL=debug
$ vdot --vault-token "$(cat ~/.vault-token)" secret/foo-bar secret/fizz-buzz
info: saved 2 environment variables to .env
$ cat .env
ENV=production
LOG_LEVEL=info
Environment Variables
Instead of passing in the --vault-*
options, you can define them as environmnent variables.
The Vault CLI defines that VAULT_TOKEN
and VAULT_ADDR
can be used. These two environment variables are also supported by vdot.
Dependencies
~6–18MB
~253K SLoC