From c2b37dd8fa73dab5ac0ca0beea585bdf6a962b99 Mon Sep 17 00:00:00 2001 From: Gordon Zimm Date: Thu, 24 Sep 2026 14:42:04 +0200 Subject: [PATCH] Nummernkreise: Update-Block beginnt bei ESPO-10 Aus ESPO-04 und ESPO-05 werden ESPO-10 und ESPO-11. Ein Zehnerkreis kennzeichnet den Block und beginnt bei x0; 0x bleibt der Weg von der leeren VM zur laufenden Instanz, 1x das Aktualisieren, 2x Betrieb und Ueberwachung. Co-Authored-By: Claude Opus 5 --- README.md | 11 +++++++++++ .../{ESPO-04-Update.sh => ESPO-10-Update.sh} | 16 ++++++++-------- ...erwerfen.sh => ESPO-11-Snapshot-verwerfen.sh} | 10 +++++----- 3 files changed, 24 insertions(+), 13 deletions(-) rename rmm-tasks/{ESPO-04-Update.sh => ESPO-10-Update.sh} (93%) rename rmm-tasks/{ESPO-05-Snapshot-verwerfen.sh => ESPO-11-Snapshot-verwerfen.sh} (86%) diff --git a/README.md b/README.md index 628af9c..017aea5 100644 --- a/README.md +++ b/README.md @@ -7,6 +7,17 @@ es steht deshalb **kein Passwort, kein Token und keine Kundenangabe** in diesem |---|---| | `autoinstall/` | NoCloud-Seed für die Basis-VM (`user-data`, `meta-data`) | | `rmm-tasks/` | Skripte, die als Task im ConnectWise RMM hinterlegt sind (Quelle für Änderungen) | + +### Nummernkreise der Tasks + +| Kreis | Bedeutung | bisher | +|---|---|---| +| `0x` | von der leeren VM zur laufenden Instanz | `01` Grundeinrichtung, `02` Docker, `03` First-Deploy | +| `1x` | aktualisieren | `10` Update, `11` Snapshot verwerfen, `12` Rückweg (geplant) | +| `2x` | Betrieb und Überwachung | `20` Inventar (geplant), `21` Backup-Prüfung (geplant) | +| `3x` | Extensions | geplant | + +Ein Kreis beginnt bei `x0`. Die Liste im RMM sortiert alphabetisch, die Reihenfolge stimmt damit. | `bin/` | Skripte, die auf der VM unter `/srv/espo/bin/` liegen und von Tasks aufgerufen werden | | `docker/` | je Ring ein Ordner mit dem Stand dieses Rings: `docker-compose.yml` und `config-override.php` | diff --git a/rmm-tasks/ESPO-04-Update.sh b/rmm-tasks/ESPO-10-Update.sh similarity index 93% rename from rmm-tasks/ESPO-04-Update.sh rename to rmm-tasks/ESPO-10-Update.sh index 97d0edc..a547ba0 100755 --- a/rmm-tasks/ESPO-04-Update.sh +++ b/rmm-tasks/ESPO-10-Update.sh @@ -1,13 +1,13 @@ #!/bin/bash -# ESPO-04-Update - hebt EspoCRM auf den Stand des Rings, mit LVM-Snapshot als Rueckweg. -# Aufruf: ESPO-04-Update.sh +# ESPO-10-Update - hebt EspoCRM auf den Stand des Rings, mit LVM-Snapshot als Rueckweg. +# Aufruf: ESPO-10-Update.sh # Ob der Lauf erlaubt ist, entscheidet der Task per If/Then auf espo_zustand (erwartet DEPLOYED). -# Der Snapshot bleibt nach dem Lauf absichtlich bestehen - verworfen wird er erst durch ESPO-05, +# Der Snapshot bleibt nach dem Lauf absichtlich bestehen - verworfen wird er erst durch ESPO-11, # nachdem jemand geprueft hat, dass die Instanz nach dem Update noch richtig arbeitet. set -u # Standzeile: zeigt im Protokoll, welche Fassung tatsaechlich gelaufen ist. -echo "ESPO-04-Update, Skriptstand 2026-09-24" +echo "ESPO-10-Update, Skriptstand 2026-09-24" BASIS_URL=https://gitea.subcura.net/EspoCRM_Public/espo-deploy/raw/branch/main VG=ubuntu-vg @@ -18,7 +18,7 @@ WARTE_MAX=900 FQDN="${1:-}" RING="${2:-}" -fehler() { echo "FEHLER: $*"; echo "ESPO04_ERGEBNIS: FEHLER"; exit 1; } +fehler() { echo "FEHLER: $*"; echo "ESPO10_ERGEBNIS: FEHLER"; exit 1; } # 1. Vorbedingungen - lieber hier abbrechen als auf halbem Weg. [ "$(id -u)" -eq 0 ] || fehler "nicht als root gestartet" @@ -31,7 +31,7 @@ command -v lvcreate >/dev/null || fehler "LVM-Werkzeuge fehlen" # 2. Ein Snapshot aus einem frueheren Lauf heisst: Das vorige Update ist nicht bestaetigt. # Zwei Snapshots uebereinander waeren kein Rueckweg mehr, sondern ein Ratespiel. if lvs --noheadings -o lv_name "$VG" 2>/dev/null | grep -qw "$SNAPSHOT"; then - fehler "Snapshot '$SNAPSHOT' besteht noch - das vorige Update wurde nicht mit ESPO-05 abgeschlossen" + fehler "Snapshot '$SNAPSHOT' besteht noch - das vorige Update wurde nicht mit ESPO-11 abgeschlossen" fi # 3. Ausgangsstand festhalten, damit der Bericht ein Vorher und ein Nachher hat. @@ -88,7 +88,7 @@ echo "Digest: $(docker image inspect --format '{{if .RepoDigests}}{{index .Repo echo "--- Rueckweg" lvs --noheadings -o lv_name,lv_attr,origin,data_percent "$VG/$SNAPSHOT" 2>/dev/null | sed 's/^ */ /' echo "--- Naechster Schritt von Hand" -echo "Instanz pruefen (Anmeldung, ein Datensatz, E-Mail, WebSocket). Erst danach ESPO-05 ausfuehren," +echo "Instanz pruefen (Anmeldung, ein Datensatz, E-Mail, WebSocket). Erst danach ESPO-11 ausfuehren," echo "das den Snapshot verwirft. Solange er besteht, kostet jeder Schreibvorgang zusaetzliche Zeit," echo "und laeuft er voll, verwirft LVM ihn stillschweigend - dann ist der Rueckweg weg." -echo "ESPO04_ERGEBNIS: OK" +echo "ESPO10_ERGEBNIS: OK" diff --git a/rmm-tasks/ESPO-05-Snapshot-verwerfen.sh b/rmm-tasks/ESPO-11-Snapshot-verwerfen.sh similarity index 86% rename from rmm-tasks/ESPO-05-Snapshot-verwerfen.sh rename to rmm-tasks/ESPO-11-Snapshot-verwerfen.sh index 0dc8da7..f7c63a7 100755 --- a/rmm-tasks/ESPO-05-Snapshot-verwerfen.sh +++ b/rmm-tasks/ESPO-11-Snapshot-verwerfen.sh @@ -1,17 +1,17 @@ #!/bin/bash -# ESPO-05-Snapshot-verwerfen - raeumt den Rueckweg weg, nachdem die Instanz von Hand geprueft wurde. +# ESPO-11-Snapshot-verwerfen - raeumt den Rueckweg weg, nachdem die Instanz von Hand geprueft wurde. # Aufruf: ohne Argumente. # Laeuft bewusst erst nach der Pruefung: Solange der Snapshot besteht, kostet jeder Schreibvorgang # auf /srv einen zusaetzlichen Kopiervorgang, und ein vollgelaufener Snapshot wird still verworfen. set -u # Standzeile: zeigt im Protokoll, welche Fassung tatsaechlich gelaufen ist. -echo "ESPO-05-Snapshot-verwerfen, Skriptstand 2026-09-24" +echo "ESPO-11-Snapshot-verwerfen, Skriptstand 2026-09-24" VG=ubuntu-vg SNAPSHOT=srv-vor-update -fehler() { echo "FEHLER: $*"; echo "ESPO05_ERGEBNIS: FEHLER"; exit 1; } +fehler() { echo "FEHLER: $*"; echo "ESPO11_ERGEBNIS: FEHLER"; exit 1; } # 1. Vorbedingungen. [ "$(id -u)" -eq 0 ] || fehler "nicht als root gestartet" @@ -20,7 +20,7 @@ command -v lvremove >/dev/null || fehler "LVM-Werkzeuge fehlen" # 2. Ohne Snapshot gibt es nichts zu verwerfen - das ist kein Erfolg, sondern ein Hinweis: # Entweder lief kein Update, oder der Snapshot ist bereits weg (auch stillschweigend, siehe 3). lvs --noheadings -o lv_name "$VG" 2>/dev/null | grep -qw "$SNAPSHOT" \ - || fehler "kein Snapshot '$SNAPSHOT' vorhanden - lief ESPO-04 ueberhaupt?" + || fehler "kein Snapshot '$SNAPSHOT' vorhanden - lief ESPO-10 ueberhaupt?" # 3. Zustand festhalten, bevor er verschwindet. Ein 'I' im Attributfeld heisst: bereits ungueltig, # der Rueckweg haette also gar nicht mehr getragen. Das gehoert ins Protokoll. @@ -40,4 +40,4 @@ lvs --noheadings -o lv_name "$VG" 2>/dev/null | grep -qw "$SNAPSHOT" \ echo "--- Danach" echo "Snapshot '$SNAPSHOT' verworfen." vgs --units g -o vg_name,vg_size,vg_free "$VG" 2>/dev/null | sed 's/^/ /' -echo "ESPO05_ERGEBNIS: OK" +echo "ESPO11_ERGEBNIS: OK"