feat(update): Testing/Stable-Update-Kanäle wie enconf (Suite=trixie, Komponente=Kanal)
Installer (EDGEGUARD_CHANNEL), Kanal-Lesen/-Schreiben ohne DB-State (sources.list ist Quelle der Wahrheit), Cluster-Endpoints für Kanalwechsel mit mTLS-Peer-Propagation + Drift-Erkennung, --allow-downgrades für testing→stable-Downgrades über den bestehenden sicheren Rolling-Update- Flow, Settings-UI mit Bestätigung, neues scripts/release.sh (Testing-Push datumsbasiert YYYY.MM.DD.NN, Stable-Promotion mit Verify-Gate + Git-Tag), publish.sh/cleanup-old.sh kanalfähig mit Stable-Tag-Schutz. Migriert Bestandsnodes automatisch von der alten "main"-Komponente auf "stable" (postinst, idempotent) — ohne das würden vor diesem Release installierte Nodes stillschweigend keine Updates mehr sehen, sobald main nicht mehr bespielt wird. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -152,6 +152,9 @@ edgeguard ALL=(root) NOPASSWD: /usr/bin/apt-get update
|
||||
# NICHT beliebig in /etc/apt/apt.conf.d schreiben darf.
|
||||
edgeguard ALL=(root) NOPASSWD: /usr/bin/tee /etc/apt/apt.conf.d/52edgeguard-auto-updates
|
||||
edgeguard ALL=(root) NOPASSWD: /bin/rm -f /etc/apt/apt.conf.d/52edgeguard-auto-updates
|
||||
# Update-Kanal-Switch (Settings → Update-Kanal) schreibt exakt diese
|
||||
# sources.list-Zeile. Gleiches Restrict-Pattern wie oben.
|
||||
edgeguard ALL=(root) NOPASSWD: /usr/bin/tee /etc/apt/sources.list.d/edgeguard.list
|
||||
# Backup-Pfad: pg_dump als postgres-User. Whitelist exakt mit
|
||||
# --clean --if-exists --no-owner --no-acl + dem festen DB-Namen.
|
||||
edgeguard ALL=(postgres) NOPASSWD: /usr/bin/pg_dump --clean --if-exists --no-owner --no-acl edgeguard
|
||||
@@ -294,6 +297,19 @@ SUDOERS
|
||||
|
||||
chmod 0440 /etc/sudoers.d/edgeguard
|
||||
|
||||
# ── Migration: alte "main"-Komponente → "stable" (Kanal-Modell) ──
|
||||
# Vor diesem Release schrieb der Installer immer Komponente "main"
|
||||
# in die apt-Quelle. Ab jetzt publiziert publish.sh/release.sh nur
|
||||
# noch nach stable/testing — ohne diese Migration würden
|
||||
# Bestandsnodes stumm keine neuen Updates mehr sehen (main bleibt
|
||||
# auf dem letzten main-Stand stehen). Idempotent: greift nur wenn
|
||||
# die Datei existiert UND noch auf "main" zeigt.
|
||||
EG_SOURCES_LIST=/etc/apt/sources.list.d/edgeguard.list
|
||||
if [ -f "$EG_SOURCES_LIST" ] && grep -q ' trixie main$' "$EG_SOURCES_LIST"; then
|
||||
sed -i 's/ trixie main$/ trixie stable/' "$EG_SOURCES_LIST"
|
||||
apt-get update -qq || true
|
||||
fi
|
||||
|
||||
# ── Sysctl-Profil für Edge-Gateway (NAT + HAProxy + Forwarding) ──
|
||||
# Voraussetzung für NAT/DNAT/Masquerade + sinnvolle Defaults
|
||||
# für eine high-throughput Forwarding-Box. Edit nicht von Hand
|
||||
|
||||
Reference in New Issue
Block a user