Usage
# create a new vault with given password at the given location
mv --password=YourPassword --file=./micro.vault create
# open a session to continues edit the vault. The command substitution is required to set a environment variable
$(mv --password=YourPassword --file=./micro.vault open -e) # MICRO_VAULT_SESSION=<SESSION_DATA>
# add data to the vault
mv set db.user Admin
mv set db.password Admin123
mv set docker.user MicroVault
mv set docker.email [email protected]
mv set docker.password MicroVault123
# get data from the vault
mv get docker.password
# list content of the vault
mv list
# publish all data as environment variables
$(mv publish environment) # export DOCKER_PASSWORD=<docker.password>
# close the vault again
$(mv close) # MICRO_VAULT_SESSION=
# Use variable as command
MV="mv --password=YourPassword --file=./micro.vault"
$MV get docker.password
$MV publish kubernetes --parameter name=my-secrets
# open vault in interative mode
$MV open --interative
> get docker.password
> set docker.password Docker123
> exit
Encryption Modes
Mode | Encryption | Key Length | Public writable | Public readable |
---|---|---|---|---|
symmetric | AES/GCM/NoPadding |
256 | ❌ | ❌ |
asymmetric | RSA/ECB/OAEPWITHSHA-256ANDMGF1PADDING |
4096 | ✔️ | ❌ |
plain | – | ✔️ | ✔️ |
Vault file
{
"version": "1.0",
"checksum": "ksdjklsjadfkö",
"encryption": {
"key": "<readWriteKey>",
"read": "<readKey>",
"write": "<writeKey>",
"mode": ""
},
"options": {
},
"data": {
"<key>": "<value>"
}
}