Files
smom-dbis-138/scripts/lib/config/env.sh

37 lines
1.0 KiB
Bash
Raw Normal View History

#!/usr/bin/env bash
# Environment configuration loader
# Usage: source "$SCRIPT_DIR/lib/config/env.sh"
# Source paths if not already sourced
[ -z "${PROJECT_ROOT:-}" ] && source "$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)/../common/paths.sh"
# Default subscription ID
DEFAULT_SUBSCRIPTION_ID="${DEFAULT_SUBSCRIPTION_ID:-fc08d829-4f14-413d-ab27-ce024425db0b}"
# Load environment variables from .env file
load_env() {
local env_file="${1:-${PROJECT_ROOT}/.env}"
if [ -f "$env_file" ]; then
# Export variables, ignoring comments and empty lines
set -a
source <(grep -v '^#' "$env_file" | grep -v '^$' | sed 's/^/export /')
set +a
fi
}
# Get Azure subscription ID
get_subscription_id() {
echo "${AZURE_SUBSCRIPTION_ID:-${DEFAULT_SUBSCRIPTION_ID}}"
}
# Set Azure subscription
set_subscription() {
local subscription_id="${1:-$(get_subscription_id)}"
az account set --subscription "$subscription_id" &> /dev/null || return 1
}
# Auto-load env if PROJECT_ROOT is set
[ -n "${PROJECT_ROOT:-}" ] && load_env