From 374b4e48bff19fac89f2fa90a981eb06a73d69ac Mon Sep 17 00:00:00 2001 From: Slawomir Koszewski Date: Mon, 15 Dec 2025 09:02:33 +0100 Subject: [PATCH] Added an option to specify a custom volume name. --- azure-cli | 35 +++++++++++++++++++++++++---------- 1 file changed, 25 insertions(+), 10 deletions(-) diff --git a/azure-cli b/azure-cli index 43f6611..7132d62 100755 --- a/azure-cli +++ b/azure-cli @@ -5,6 +5,7 @@ ACCOUNT_NAME="$(id -un)" USER_NAME="ubuntu" EXTRA_ARGS=() LIST="" +VOLUME_NAME="" while [ $# -gt 0 ]; do case $1 in @@ -12,6 +13,10 @@ while [ $# -gt 0 ]; do LIST=true break ;; + --name|-n) + VOLUME_NAME="$2" + shift 2 + ;; --account|-a) ACCOUNT_NAME="$2" shift 2 @@ -33,10 +38,16 @@ while [ $# -gt 0 ]; do --help|-h) cat < /dev/null; then @@ -75,28 +89,29 @@ fi # Check, if the account volume exists, if not create it # This ensures persistent storage for the Azure CLI configuration -if ! $CMD volume inspect "account_$SANITIZED_ACCOUNT_NAME" &> /dev/null; then +if [ ! "FOUND" = "$($CMD volume ls --format json | jq -r --arg name "$VOLUME_NAME" --arg account "$ACCOUNT_NAME" '.[] | select(.name == $name or .labels.account == $account) | "FOUND"')" ]; then echo "A volume for account '$ACCOUNT_NAME' does not exist." read -p "Would you like to create one? (y/n) " -r RESPONSE if [[ ! "$RESPONSE" =~ ^[Yy]$ ]]; then echo "Aborting." exit 1 fi - echo "Creating volume account_$SANITIZED_ACCOUNT_NAME for Azure CLI configuration." - if ! $CMD volume create "account_$SANITIZED_ACCOUNT_NAME" --label "account=$ACCOUNT_NAME" &> /dev/null; then - echo "Error: Failed to create volume account_$SANITIZED_ACCOUNT_NAME." >&2 + + echo "Creating volume $VOLUME_NAME for Azure CLI configuration." + if ! $CMD volume create "$VOLUME_NAME" --label "account=$ACCOUNT_NAME" &> /dev/null; then + echo "Error: Failed to create volume $VOLUME_NAME." >&2 exit 1 fi fi EXTRA_ARGS+=( - "--mount" "type=volume,source=account_$SANITIZED_ACCOUNT_NAME,target=/home/${USER_NAME}" + "--mount" "type=volume,source=$VOLUME_NAME,target=/home/${USER_NAME}" "--mount" "type=bind,source=$(pwd),target=/workdir" ) # Run the container $CMD run --rm -it \ ${EXTRA_ARGS[@]} \ - --name "azure-cli-$SANITIZED_ACCOUNT_NAME" \ + --name "azure-cli-$VOLUME_NAME" \ --workdir /workdir \ $IMAGE_NAME --user "$USER_NAME" "$@"