1#!/usr/bin/env bash 2 3set -ex 4 5make dockerbuild 6 7docker kill vaultplg 2>/dev/null || true 8tmpdir=$(mktemp -d vaultplgXXXXXX) 9mkdir "$tmpdir/data" 10docker run --rm -d -p8200:8200 --name vaultplg -v "$(pwd)/$tmpdir/data":/data -v $(pwd)/bin:/example --cap-add=IPC_LOCK -e 'VAULT_LOCAL_CONFIG= 11{ 12 "backend": {"file": {"path": "/data"}}, 13 "listener": [{"tcp": {"address": "0.0.0.0:8200", "tls_disable": true}}], 14 "plugin_directory": "/example", 15 "log_level": "debug", 16 "disable_mlock": true, 17 "api_addr": "http://localhost:8200" 18} 19' vault server 20sleep 1 21 22export VAULT_ADDR=http://localhost:8200 23 24initoutput=$(vault operator init -key-shares=1 -key-threshold=1 -format=json) 25vault operator unseal $(echo "$initoutput" | jq -r .unseal_keys_hex[0]) 26 27export VAULT_TOKEN=$(echo "$initoutput" | jq -r .root_token) 28 29vault write sys/plugins/catalog/database/mongodbatlas-database-plugin \ 30 sha256=$(shasum -a 256 bin/vault-plugin-database-mongodbatlas | cut -d' ' -f1) \ 31 command="vault-plugin-database-mongodbatlas" 32 33vault secrets enable database 34