#!/bin/bash
# Atualiza TODO o agente PPCI (agent/*.py) a partir do ppci-test.tar.gz e
# força uma re-aplicação completa. Rodar DENTRO da VM, como root (su -):
#   curl -fsSL https://maratona.td.utfpr.edu.br/ppci-linux-lite/atualizar-agente.sh | bash
set -e
APPLIER="$(find / -path '*/agent/applier.py' -not -path '*/ppci-test/*' 2>/dev/null | head -1)"
if [ -z "$APPLIER" ]; then
  echo "ERRO: nao encontrei o applier.py do agente." >&2
  exit 1
fi
AGENTDIR="$(dirname "$APPLIER")"   # .../agent
echo "agente em: $AGENTDIR"
TMP="$(mktemp -d)"
curl -fsSL https://maratona.td.utfpr.edu.br/ppci-linux-lite/ppci-test.tar.gz -o "$TMP/b.tgz"
tar xzf "$TMP/b.tgz" -C "$TMP"
# sincroniza o diretorio inteiro do agente (applier+loop+state em sintonia)
cp -f "$TMP"/ppci-test/ppci-agent/agent/*.py "$AGENTDIR/"
rm -rf "$TMP"
# limpa o estado salvo (ETag/hash) p/ forcar re-aplicacao completa no proximo tick,
# senao o agente responde 304 e nao re-aplica a config (nem roda o restart do dnsmasq).
rm -f /var/lib/ppci-agent/agent-state.json
systemctl restart ppci-agent
echo "OK - agente (dir inteiro) atualizado, estado resetado e reiniciado"
