An open API service indexing awesome lists of open source software.

https://github.com/secretvault-elixir/secret_vault

All-included solution for managing secrets in mix projects
https://github.com/secretvault-elixir/secret_vault

elixir secret-management spawnfest

Last synced: 8 months ago
JSON representation

All-included solution for managing secrets in mix projects

Awesome Lists containing this project

README

          

# SecretVault 🔒

All-in-one solution for storing your Elixir application secrets inside the repository.

## Features

* **Standalone**. No dependencies on external binaries.
* **Secure**. Uses [aes256gcm](https://en.wikipedia.org/wiki/Galois/Counter_Mode) 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 like `mv`, `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.

## Usage

Check out this 5 minutes [usage tutorial](usage.md) for basics and useful links.

## Installation

Just add it to the list of dependencies like

```elixir
def deps do
[
{:secret_vault, "~> 1.0"}
]
end
```

## Hacking

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.

```elixir
config :secret_vault, :secret_vault,
default: [password: "Some super secret"]
```

---

### Thanks

@benonymus -- for battle testing the project and giving the idea for `runtime_secret` macro