#!/bin/bash
# Stop PM2 FIRST, before any files are touched
#pm2 stop app_connector_cc 2>/dev/null || true
#pm2 delete app_connector_cc 2>/dev/null || true



# --- Idempotent swap provisioning ---
SWAP_FILE="/swapfile2"
SWAP_SIZE_GB=4

if swapon --show | grep -q "$SWAP_FILE"; then
  echo "Swap file $SWAP_FILE already active — skipping."
else
  echo "Provisioning ${SWAP_SIZE_GB}G swap at $SWAP_FILE..."
  sudo fallocate -l ${SWAP_SIZE_GB}G "$SWAP_FILE"
  sudo chmod 600 "$SWAP_FILE"
  sudo mkswap "$SWAP_FILE"
  sudo swapon "$SWAP_FILE"
  grep -q "$SWAP_FILE" /etc/fstab || echo "$SWAP_FILE none swap sw 0 0" | sudo tee -a /etc/fstab
  echo "Swap provisioned."
fi
# --- end swap provisioning ---

# --- Dynamic Node heap cap, scales with actual instance RAM ---
TOTAL_MEM_MB=$(free -m | awk '/^Mem:/{print $2}')
# Reserve ~500MB for OS/PM2/Apache/other processes, cap the rest for the build
BUILD_HEAP_MB=$(( TOTAL_MEM_MB - 500 ))
echo "export NODE_OPTIONS=--max-old-space-size=${BUILD_HEAP_MB}" | sudo tee /etc/profile.d/node-build-heap.sh > /dev/null
echo "Detected ${TOTAL_MEM_MB}MB RAM — capping build heap at ${BUILD_HEAP_MB}MB"
# --- end dynamic heap cap ---





# Ensure AWS CLI is available (needed for new Auto Scaling instances that don't have it yet)
if ! command -v aws &> /dev/null; then
  echo "AWS CLI not found — installing..."
  cd /tmp
  curl -s "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
  unzip -q -o awscliv2.zip
  sudo ./aws/install
fi

pm2 stop all
pm2 delete all

sudo rm -rf /var/www/html/app_connector_cc/*
WEBSITE_PATH="/var/www/html/app_connector_cc"
cd "$WEBSITE_PATH"
sudo find . -type f -name ".*" -delete
