For software developers, `asdf`[0] and dockerized projects goes a long way. For provisioning the environment variables needed for development, HashiCorp's `vault`[1] can make that pretty simple. Combine that with `direnv` to have it load the value dynamically with:
```
# .envrc
API_KEY=$(vault kv get -field=API_KEY secret/projectA/dev)
```
I also wanted to experiment using `pass`[2] instead, but messing with GPG keyrings and the like is unwieldy and not too user-friendly. It's what I use for personal projects since Vault is overkill.
```
# .envrc
API_KEY=$(vault kv get -field=API_KEY secret/projectA/dev)
```
I also wanted to experiment using `pass`[2] instead, but messing with GPG keyrings and the like is unwieldy and not too user-friendly. It's what I use for personal projects since Vault is overkill.
[0] https://github.com/asdf-vm/asdf
[1] https://github.com/hashicorp/vault
[2] https://www.passwordstore.org/