#!/usr/bin/env bash
set -e

sudo mkdir -p /etc/cloudflared
sudo cp /tmp/tunnel-creds.json /etc/cloudflared/b6a1f637-59cc-46b3-9d0a-0a659ff16fff.json
sudo chmod 600 /etc/cloudflared/b6a1f637-59cc-46b3-9d0a-0a659ff16fff.json

sudo tee /etc/cloudflared/config.yml > /dev/null << 'EOF'
tunnel: b6a1f637-59cc-46b3-9d0a-0a659ff16fff
credentials-file: /etc/cloudflared/b6a1f637-59cc-46b3-9d0a-0a659ff16fff.json

ingress:
  - hostname: dinhsonconstruction.com
    service: http://127.0.0.1:80
  - hostname: erp.dinhsonconstruction.com
    service: http://127.0.0.1:80
  - hostname: www.dinhsonconstruction.com
    service: http://127.0.0.1:80
  - service: http_status:404
EOF

if ! command -v cloudflared &> /dev/null; then
    echo "Downloading and installing cloudflared..."
    curl -L --silent --output /tmp/cloudflared.deb https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64.deb
    sudo dpkg -i /tmp/cloudflared.deb
fi

echo "Configuring systemd service..."
sudo cloudflared service install || true
sudo systemctl restart cloudflared
sleep 3
sudo systemctl is-active cloudflared
echo "[OK] Cloudflare Tunnel is now active on GCE VM!"
