19 lines
476 B
Bash
Executable File
19 lines
476 B
Bash
Executable File
#!/bin/sh
|
|
|
|
set -euo pipefail
|
|
|
|
VAULT_KV_PATH=kv/service/bookstack
|
|
RAND_CMD="echo base64:$(openssl rand -base64 32)"
|
|
if ! vault kv list $(dirname ${VAULT_KV_PATH}) 2>/dev/null | grep -q -E "^$(basename ${VAULT_KV_PATH})\$"; then
|
|
vault kv put ${VAULT_KV_PATH} \
|
|
app_key=$(${RAND_CMD}) \
|
|
|
|
fi
|
|
for SECRET in app_key; do
|
|
if ! vault kv get -field ${SECRET} ${VAULT_KV_PATH} >/dev/null 2>&1; then
|
|
vault kv patch ${VAULT_KV_PATH} \
|
|
${SECRET}=$(${RAND_CMD})
|
|
fi
|
|
done
|
|
|