lomavuokraus/scripts/load-secrets.sh
2025-12-11 13:37:55 +02:00

31 lines
835 B
Bash

#!/usr/bin/env bash
# Shell helper to export secrets from a single dotenv file.
# Usage: source scripts/load-secrets.sh
set -euo pipefail
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
SECRETS_FILE="${SECRETS_FILE:-$ROOT_DIR/creds/secrets.env}"
ENCRYPTED_FILE="${ENCRYPTED_FILE:-$ROOT_DIR/creds/secrets.enc.env}"
ensure_decrypted() {
if [[ -f "$SECRETS_FILE" ]]; then
return 0
fi
if [[ -f "$ENCRYPTED_FILE" ]]; then
if command -v sops >/dev/null 2>&1; then
echo "Decrypting $ENCRYPTED_FILE -> $SECRETS_FILE"
sops -d "$ENCRYPTED_FILE" >"$SECRETS_FILE"
else
echo "sops not found and $SECRETS_FILE is missing. Install sops or set SECRETS_FILE." >&2
return 1
fi
fi
}
ensure_decrypted || exit 0
echo "Loading secrets from $SECRETS_FILE"
set -a
source "$SECRETS_FILE"
set +a