Files
Datacenter-Control-Complete/scripts/add-omada-env.sh
2026-02-09 21:51:31 -08:00

83 lines
2.1 KiB
Bash
Executable File

#!/bin/bash
# Script to add Omada environment variables to existing .env file
set -e
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
PROJECT_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)"
ENV_FILE="$PROJECT_ROOT/.env"
ENV_EXAMPLE="$PROJECT_ROOT/env.example"
if [ ! -f "$ENV_FILE" ]; then
echo "❌ .env file not found. Creating from template..."
cp "$ENV_EXAMPLE" "$ENV_FILE"
echo "✅ Created .env file. Please edit it with your credentials."
exit 0
fi
echo "Adding Omada environment variables to existing .env file..."
# Check if variables already exist
OMADA_VARS=(
"OMADA_USERNAME"
"OMADA_PASSWORD"
"OMADA_ID"
"OMADA_CONTROLLER_BASE"
"OMADA_NORTHBOUND_BASE"
"DATABASE_URL"
"JWT_SECRET"
"PORT"
"NODE_ENV"
"LOG_LEVEL"
"SYNC_JOB_SCHEDULE"
"LICENSE_JOB_SCHEDULE"
)
# Read existing .env and check what's missing
MISSING_VARS=()
for var in "${OMADA_VARS[@]}"; do
if ! grep -q "^${var}=" "$ENV_FILE" 2>/dev/null; then
MISSING_VARS+=("$var")
fi
done
if [ ${#MISSING_VARS[@]} -eq 0 ]; then
echo "✅ All Omada environment variables are already present in .env"
exit 0
fi
echo "Found ${#MISSING_VARS[@]} missing variable(s): ${MISSING_VARS[*]}"
echo ""
# Append missing variables from template
echo "" >> "$ENV_FILE"
echo "# ============================================" >> "$ENV_FILE"
echo "# Omada Cloud Integration Variables" >> "$ENV_FILE"
echo "# ============================================" >> "$ENV_FILE"
# Extract and add missing variables from env.example
while IFS= read -r line; do
# Skip comments and empty lines
[[ "$line" =~ ^[[:space:]]*# ]] && continue
[[ -z "${line// }" ]] && continue
# Extract variable name
var_name=$(echo "$line" | cut -d'=' -f1)
# Check if this variable is missing
if [[ " ${MISSING_VARS[@]} " =~ " ${var_name} " ]]; then
echo "$line" >> "$ENV_FILE"
fi
done < "$ENV_EXAMPLE"
echo "✅ Added missing Omada environment variables to .env"
echo ""
echo "📝 Please edit .env and fill in the actual values for:"
for var in "${MISSING_VARS[@]}"; do
echo " - $var"
done
echo ""