Files
soleprint/station/tools/hub/update-ports.sh
2025-12-24 05:38:37 -03:00

89 lines
2.7 KiB
Bash
Executable File

#!/bin/bash
# Update ports file from core_nest configuration
# Gathers ports from pawprint and amar .env files
#
# Usage: ./update-ports.sh
set -e
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
PORTS_FILE="$SCRIPT_DIR/ports"
# TODO: Make these configurable or auto-detect
CORE_NEST_ROOT="${CORE_NEST_ROOT:-/home/mariano/core_nest}"
PAWPRINT_ENV="$CORE_NEST_ROOT/pawprint/.env"
AMAR_ENV="$CORE_NEST_ROOT/amar/.env"
echo "=== Updating Core Nest Ports ==="
echo ""
# Backup existing ports file
if [ -f "$PORTS_FILE" ]; then
cp "$PORTS_FILE" "$PORTS_FILE.bak"
echo " ✓ Backed up existing ports to ports.bak"
fi
# Start new ports file
cat > "$PORTS_FILE" <<'EOF'
# Core Nest Ports
# Auto-generated by update-ports.sh
# Format: one port per line
# Comments allowed with #
EOF
# Extract ports from amar .env
if [ -f "$AMAR_ENV" ]; then
echo " Reading amar ports..."
echo "# Amar" >> "$PORTS_FILE"
# Frontend port (default 3000)
AMAR_FRONTEND_PORT=$(grep "^AMAR_FRONTEND_PORT=" "$AMAR_ENV" 2>/dev/null | cut -d'=' -f2 || echo "3000")
echo "$AMAR_FRONTEND_PORT" >> "$PORTS_FILE"
# Backend port (default 8000)
AMAR_BACKEND_PORT=$(grep "^AMAR_BACKEND_PORT=" "$AMAR_ENV" 2>/dev/null | cut -d'=' -f2 || echo "8000")
echo "$AMAR_BACKEND_PORT" >> "$PORTS_FILE"
echo " ✓ Added amar ports: $AMAR_FRONTEND_PORT, $AMAR_BACKEND_PORT"
else
echo " ⚠ Amar .env not found, using defaults"
echo "# Amar (defaults)" >> "$PORTS_FILE"
echo "3000" >> "$PORTS_FILE"
echo "8000" >> "$PORTS_FILE"
fi
echo "" >> "$PORTS_FILE"
# Extract ports from pawprint .env
if [ -f "$PAWPRINT_ENV" ]; then
echo " Reading pawprint ports..."
echo "# Pawprint Services" >> "$PORTS_FILE"
PAWPRINT_PORT=$(grep "^PAWPRINT_PORT=" "$PAWPRINT_ENV" 2>/dev/null | cut -d'=' -f2 || echo "13000")
ARTERY_PORT=$(grep "^ARTERY_PORT=" "$PAWPRINT_ENV" 2>/dev/null | cut -d'=' -f2 || echo "13001")
ALBUM_PORT=$(grep "^ALBUM_PORT=" "$PAWPRINT_ENV" 2>/dev/null | cut -d'=' -f2 || echo "13002")
WARD_PORT=$(grep "^WARD_PORT=" "$PAWPRINT_ENV" 2>/dev/null | cut -d'=' -f2 || echo "13003")
echo "$PAWPRINT_PORT" >> "$PORTS_FILE"
echo "$ARTERY_PORT" >> "$PORTS_FILE"
echo "$ALBUM_PORT" >> "$PORTS_FILE"
echo "$WARD_PORT" >> "$PORTS_FILE"
echo " ✓ Added pawprint ports: $PAWPRINT_PORT, $ARTERY_PORT, $ALBUM_PORT, $WARD_PORT"
else
echo " ⚠ Pawprint .env not found, using defaults"
echo "# Pawprint Services (defaults)" >> "$PORTS_FILE"
echo "13000" >> "$PORTS_FILE"
echo "13001" >> "$PORTS_FILE"
echo "13002" >> "$PORTS_FILE"
echo "13003" >> "$PORTS_FILE"
fi
echo ""
echo "=== Done ==="
echo ""
echo "Updated ports file: $PORTS_FILE"
echo ""
cat "$PORTS_FILE"