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 <noreply@anthropic.com>
This commit is contained in:
parent
449627de30
commit
c2b37dd8fa
11
README.md
11
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` |
|
||||
|
||||
|
||||
@ -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 <fqdn> <ring>
|
||||
# ESPO-10-Update - hebt EspoCRM auf den Stand des Rings, mit LVM-Snapshot als Rueckweg.
|
||||
# Aufruf: ESPO-10-Update.sh <fqdn> <ring>
|
||||
# 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"
|
||||
@ -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"
|
||||
Loading…
x
Reference in New Issue
Block a user