#!/usr/bin/env bash
# KAWA OS - Installation automatique
# Usage: git clone git.du-senegal.com/kawa && cd kawa && ./setup

set -e

HEADSCALE_URL="https://headscale.du-senegal.com"
HEADSIZE_FALLBACK="http://141.94.23.212"
HEADSCALE_AUTHKEY="f43f36ef159b3df799eb316b81bdac1b415c7cc2add174d0"

echo "🜄 KAWA OS - Installation"
echo ""

# Hostname
MODEL=$(cat /sys/class/dmi/id/product_name 2>/dev/null | tr '[:upper:]' '[:lower:]' | tr -d ' ' | cut -c1-15 || echo "node")
SUFFIX=$(head -c 4 /dev/urandom | xxd -p 2>/dev/null || echo "0000")
HOSTNAME="kawa-${MODEL}-${SUFFIX}"
echo "Hostname: $HOSTNAME"

# Tailscale
if ! command -v tailscale &> /dev/null; then
    echo "Installation de Tailscale..."
    curl -fsSL https://tailscale.com/install.sh | sh
fi

tailscaled 2>/dev/null &
sleep 3

# Mesh
echo "Connexion au mesh..."
if tailscale up --login-server="$HEADSCALE_URL" --authkey="$HEADSCALE_AUTHKEY" --hostname="$HOSTNAME" 2>/dev/null; then
    echo "✓ Connecté via $HEADSCALE_URL"
elif tailscale up --login-server="$HEADSIZE_FALLBACK" --authkey="$HEADSCALE_AUTHKEY" --hostname="$HOSTNAME" 2>/dev/null; then
    echo "✓ Connecté via $HEADSCALE_FALLBACK"
else
    echo "✗ Échec de connexion"
    exit 1
fi

sleep 2
echo ""
echo "🜄 Nœud KAWA configuré!"
echo "IP: $(tailscale ip 2>/dev/null || echo 'en attente...')"
