From 27fb1a6211c954d510bf22ff6dbb18429c39374a Mon Sep 17 00:00:00 2001 From: Slawomir Koszewski Date: Thu, 26 Feb 2026 19:05:26 +0100 Subject: [PATCH] Add scripts for managing Azurite storage accounts --- add-account.sh | 22 ++++++++++++++++++++++ list-accounts.sh | 20 ++++++++++++++++++++ 2 files changed, 42 insertions(+) create mode 100755 add-account.sh create mode 100755 list-accounts.sh diff --git a/add-account.sh b/add-account.sh new file mode 100755 index 0000000..afd99c6 --- /dev/null +++ b/add-account.sh @@ -0,0 +1,22 @@ +#!/usr/bin/env bash + +if [[ -z "$1" ]]; then + echo "Usage: $0 [ password ]" + exit 1 +fi + +if [[ -z "$2" ]]; then + PASSWORD=$(openssl rand -base64 32) +else + PASSWORD=$(echo -n "$2" | base64) +fi + +AZURITE_DIR="storage/azurite" +mkdir -p "$AZURITE_DIR" + +AZURITE_ACCOUNTS_FILE="$AZURITE_DIR/accounts.env" +. $AZURITE_ACCOUNTS_FILE + +STORAGE_ACCOUNTS=($(echo "$AZURITE_ACCOUNTS" | tr ';' ' ')) +STORAGE_ACCOUNTS+=("$1:$PASSWORD") +printf 'AZURITE_ACCOUNTS="%s"\n' $(IFS=';'; echo "${STORAGE_ACCOUNTS[*]}") > "$AZURITE_ACCOUNTS_FILE" diff --git a/list-accounts.sh b/list-accounts.sh new file mode 100755 index 0000000..17215fd --- /dev/null +++ b/list-accounts.sh @@ -0,0 +1,20 @@ +#!/usr/bin/env bash + +AZURITE_DIR="storage/azurite" + +if [[ ! -d "$AZURITE_DIR" ]]; then + echo "No accounts found" + exit 0 +fi + +AZURITE_ACCOUNTS_FILE="$AZURITE_DIR/accounts.env" +. $AZURITE_ACCOUNTS_FILE + +while IFS=';' read -ra ACCOUNTS; do + for ACCOUNT in "${ACCOUNTS[@]}"; do + IFS=':' read -ra KV <<< "$ACCOUNT" + echo "Account: ${KV[0]}" + echo "Password: $(echo -n "${KV[1]}")" + echo + done +done <<< "$AZURITE_ACCOUNTS"