Keep your secrets secret. Tool to manage secrets in your public and private repositories. 
      
      THIS PROJECT IS STILL UNDER DEVELOPMENT - DO NOT USE IT FOR PRODUCTION USE
   
| Feature | Done | 
|---|---|
| microvault create | ✔️ | 
| microvault get | ✔️ | 
| microvault set | ✔️ | 
| microvault generate | ✔️ | 
| microvault list | ✔️ | 
| microvault publish | ❌ | 
| microvault open | ❌ | 
| microvault close | ❌ | 
# TO BE DEFINED
# curl https://raw.githubusercontent.com/kpalatzky/microvault/master/src/main/resources/scripts/install.sh | sh# create a new vault with given password at the given location
miva --password=password --file=./micro.vault create
# open a session to continues edit the vault. The command substitution is required to set a environment variable
$(miva --password=password --file=./micro.vault open -e) # MICRO_VAULT_SESSION=<SESSION_DATA>
# add data to the vault
miva set db.user Admin
miva generate db.password
miva set docker.user MicroVault
miva set docker.email microvault@example.com
miva set docker.password MicroVault123
# get data from the vault
miva get docker.password
# list content of the vault
miva list
# publish all data as environment variables
$(miva publish environment) # export DOCKER_PASSWORD=<docker.password>
# close the vault again
$(miva close) # MICRO_VAULT_SESSION=
# Use variable as command
MIVA="miva --password=password --file=./micro.vault"
$MIVA get docker.password
$MIVA publish kubernetes --parameter name=my-secrets
# open vault in interative mode
$MIVA open --interative
> get docker.password
> set docker.password Docker123
> exit| Mode | Encryption | Key Length | Public writable | Public readable | 
|---|---|---|---|---|
| symmetric | AES/GCM/NoPadding | 256 | ❌ | ❌ | 
| asymmetric | RSA/ECB/OAEPWITHSHA-256ANDMGF1PADDING | 4096 | ✔️ | ❌ | 
| plain | - | ✔️ | ✔️ | 
{
  "version": "1",
  "encryption": {
    "mode": "asymmetric", // asymmetric | symmetric | plain
    "salt": "<SALT_ENCODED>",
    "readKey": "<READ_KEY_ENCRYPTED>", // for asymmetric decryption
    "writeKey": "<WRITE_KEY_ENCRYPTED>", // for asymmetric encryption
    "key": "<READ_WRITE_KEY_ENCRYPTED>" // for asymmetric decryption/encryption
  },
  "data": {
    "<KEY>": "<ENCRYPTED_VALUE>"
  }
}./gradlew build -Dquarkus.package.type=native -Dquarkus.native.container-build=true -Dquarkus.banner.enabled=false -Dquarkus.log.console.enable=false ./gradlew build  -Dquarkus.package.type=uber-jar -Dquarkus.banner.enabled=false -Dquarkus.log.console.enable=false