All-in-one solution for storing your Elixir application secrets inside the repository.
- Standalone. No dependencies on external binaries.
- Secure. Uses aes256gcm cipher by default. Detects weak and similar passwords with
mix scr.audit
task. - Developer friendly. You can use
mix scr.*
tasks to create or edit secrets in your favourit editor. Or you can use simple coreutils likemv
,rm
,cp
. - Easy to use. Documatation is rich, errors are descriptive and tutorials take no more than 5 minutes to read.
- Git friendly.
SecretVault
stores secrets in separate files, thus it is really easy to track in Git or any other VCS. - Mix friendly.
SecretVault
enforces separation of secrets for different environments. - Extensible. You can connect your own ciphers, vaults or key derivation functions.
- OTP Compatible. Uses modern OTP 24 key derivation functions, or fallbacks to elixir implementation on lower OTP versions.
Check out this 5 minutes usage tutorial for basics and useful links.
Just add it to the list of dependencies like
def deps do
[
{:secret_vault, "~> 1.0"}
]
end
If you want to contribute to the project or just want to test it
localy (not as a dependency), you'll need to create config/config.exs
file with following content.
config :secret_vault, :secret_vault,
default: [password: "Some super secret"]
@benonymus -- for battle testing the project and giving the idea for runtime_secret
macro