Box (Debian 13 Trixie, amd64): apt install ./edgeguard-{api,ui,meta}.deb
zieht postgresql-17, haproxy 3.0, certbot, openssl, etc. nach.
postinst flow läuft sauber: migrate check → initdb → migrate up
(8 migrations) → render-config → install HAProxy drop-in → restart
haproxy → enable api+scheduler. Self-register in ha_nodes nach
Setup-Wizard funktioniert.
End-to-end smoke gegen 89.163.205.6:
* :80 → 301 Moved Permanently → https://
* :443 → TLS termination (self-signed _default.pem aus postinst)
→ JSON envelope vom api_backend (HTTP/2 + HSTS)
* / → React index.html aus /usr/share/edgeguard/ui/
Änderungen:
* control: keydb-server von Depends nach Recommends — single-node v1
installiert ohne KeyDB. Phase-3.1 multi-node bringt es zurück nach
Depends sobald ein eigenes APT-Repo das Paket bereitstellt.
* postinst: render-config (--no-reload) + HAProxy-Drop-in installen +
systemctl restart haproxy als zusätzliche Schritte.
* postrm: drop-in auf remove + purge entfernen, daemon-reload, ggf.
haproxy auf distro-default zurückreloaden.
* deploy/systemd/haproxy-edgeguard.conf: Drop-in lenkt HAProxy-Unit
auf /etc/edgeguard/haproxy/haproxy.cfg statt /etc/haproxy/haproxy.cfg.
After=edgeguard-api.service vermeidet 503-Race in den ersten 5s.
* scripts/apt-repo/build-package.sh: shippt Drop-in unter
/etc/edgeguard/systemd/haproxy-edgeguard.conf in der edgeguard-api.deb.
* haproxy.cfg.tpl: http-request redirect vor use_backend → keine
HAProxy-Warning beim Parsen mehr.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
39 lines
1.2 KiB
Bash
Executable File
39 lines
1.2 KiB
Bash
Executable File
#!/bin/bash
|
|
set -e
|
|
|
|
case "$1" in
|
|
purge)
|
|
# Only on purge: remove user, configs, state, HAProxy
|
|
# drop-in (so the distro haproxy.cfg path takes over again).
|
|
if getent passwd edgeguard >/dev/null; then
|
|
deluser --quiet edgeguard >/dev/null 2>&1 || true
|
|
fi
|
|
rm -f /etc/systemd/system/haproxy.service.d/edgeguard.conf
|
|
rmdir /etc/systemd/system/haproxy.service.d 2>/dev/null || true
|
|
systemctl daemon-reload || true
|
|
rm -rf /etc/edgeguard /var/lib/edgeguard /var/log/edgeguard
|
|
;;
|
|
|
|
remove)
|
|
# Plain remove (not purge) — pull our HAProxy override so
|
|
# the haproxy daemon goes back to its distro config and
|
|
# keeps running.
|
|
rm -f /etc/systemd/system/haproxy.service.d/edgeguard.conf
|
|
rmdir /etc/systemd/system/haproxy.service.d 2>/dev/null || true
|
|
systemctl daemon-reload || true
|
|
systemctl reload haproxy.service 2>/dev/null || true
|
|
;;
|
|
|
|
upgrade|failed-upgrade|abort-install|abort-upgrade|disappear)
|
|
;;
|
|
|
|
*)
|
|
echo "postrm called with unknown argument \`$1'" >&2
|
|
exit 1
|
|
;;
|
|
esac
|
|
|
|
#DEBHELPER#
|
|
|
|
exit 0
|