Stabilität ist ein Produktprinzip, kein nachträglicher Gedanke. AiHummer folgt dem. SemVer, gilt vorwärts-sichere Datenbankmigrationen automatisch, und kann Selbstaktualisierung von einem CDN — sodass Updates Routine und nicht riskant sind.
Versionierung (SemVer)
Veröffentlichungen folgen der Semantischen Versionierung. Die Version wird berichtet von /healthz und durch aihummer version, so dass Sie immer genau bestätigen können, was vor und nach einem Upgrade läuft.
Migrationen sind vorwärtskompatibel und automatisch
Beim Start wendet das Gateway automatisch ausstehende Datenbankmigrationen an. Zwei Eigenschaften machen dies sicher:
Vorwärts-sicher. Migrationen werden so geschrieben, dass eine neuere Binärdatei damit funktioniert
Schema, zu dem es migriert, was es sicher macht, Auto-Anwendung und fortlaufende Upgrades durchzuführen.
Einzelanwender über beratendes Sperre. Migrationen werden unter einem ausgeführt PostgreSQL
Hinweissperre, daher wird, wenn mehrere Gateways gleichzeitig starten, nur eines von ihnen angewendet
und der Rest wartet — niemals eine doppelte Migration.
[!NOTE]
Migrationen laufen immer auf dem Eigentümer-Datenbank-Pool. Die eingeschränkte RLS-Rolle
(AIHUMMER_DB_APP_URL) dient dazu, den Datenverkehr zu bedienen, nicht für Schemaänderungen.
Aktualisierung
Neue Versionen bezieht das Gateway aus dem Release-CDN des Anbieters. Der unterstützte Weg zur Aktualisierung ist ein einziger Befehl auf dem Server:
aihummer update --check # report whether a newer version is availableaihummer update # download and apply the update
--check schreibt nichts und benötigt daher kein root. Eine Aktualisierung anzuwenden schreibt die Installationswurzel neu und startet den Dienst neu, führen Sie sie deshalb mit sudo aus.
Erwartetes Ergebnis:--check gibt die laufende und die verfügbare Version aus und endet, ohne etwas zu verändern. aihummer update lädt das Artefakt herunter, prüft dessen sha256-Prüfsumme und dessen cosign-Signatur, tauscht die Binärdatei aus und startet den Dienst neu; danach meldet aihummer version die neue Version. Schlägt die Prüfung fehl, bricht die Aktualisierung vor dem Austausch ab: Die laufende Version bleibt unangetastet.
[!NOTE]
Die automatische Aktualisierung schaltet der Anbieter frei, nicht Sie. Modus und
Zeitplan gehören zur Pflege der Ausgabe und werden durch eine signierte Anweisung des
Anbieters festgelegt. Entsprechende Schalter gibt es weder in der Weboberfläche noch in
aihummer settings, und in gateway.env eingetragene Variablen zur automatischen
Aktualisierung liest das Gateway nicht — stehen sie dort, bleiben sie wirkungslos.
Um nach Ihrem eigenen Zeitplan zu aktualisieren, nutzen Sie den Befehl
aihummer update oben.
Zurückrollen
Das lässt sich im Einzelnen zurückrollen:
Binärdatei — sie lässt sich auf die vorherige Version zurücksetzen (Artefakte
früherer Ausgaben bleiben im CDN; installieren Sie die gewünschte Version erneut).
Datenbankschema — Migrationen sind vorwärtskompatibel, deshalb arbeitet die
vorherige Binärdatei auch mit dem neueren Schema; ein eigenes Zurückrollen des Schemas
gibt es nicht.
Plugins — Versionen werden je Installation verwaltet; setzen Sie ein Plugin bei
Bedarf aus dem Katalog auf eine frühere Version zurück.
Konfiguration — eine Aktualisierung rührt sie nicht an; stellen Sie sie bei Bedarf
aus einer Sicherung wieder her.
Bereitstellungen ohne Ausfallzeiten
AiHummer ist darauf ausgelegt, ohne Ausfallzeit zu upgraden:
Führen Sie 2+ Gateways hinter einem Proxy aus. Rollen Sie sie nacheinander aus; die Bereitschaftsprüfung
(/readyz) hält einen neu startenden Knoten aus der Rotation, bis er einsatzbereit ist.
Der Scheduler ist ein Einzel-Leiter. Die Hintergrundplanung wählt einen einzelnen Führer
über ein PostgreSQL Advisory Lock, sodass das Ausführen mehrerer Gateways nicht zu Duplikaten führt
geplante Arbeit.
Die Lieferung ist idempotent. Zuverlässige Lieferung plus Idempotenzschlüssel bedeuten ein
Antwort wird nie zweimal über einen Neustart gesendet, was einen Rolling ausmacht
Starte sicher über deine Gateways neu.
Stabilität ist ein Produktprinzip, kein nachträglicher Gedanke. AiHummer folgt dem. **SemVer**, gilt **vorwärts-sichere Datenbankmigrationen automatisch**, und kann **Selbstaktualisierung** von einem CDN — sodass Updates Routine und nicht riskant sind.
## Versionierung (SemVer)
Veröffentlichungen folgen der Semantischen Versionierung. Die Version wird berichtet von `/healthz` und durch `aihummer version`, so dass Sie immer genau bestätigen können, was vor und nach einem Upgrade läuft.
## Migrationen sind vorwärtskompatibel und automatisch
Beim Start wendet das Gateway automatisch ausstehende Datenbankmigrationen an. Zwei Eigenschaften machen dies sicher:
- **Vorwärts-sicher.** Migrationen werden so geschrieben, dass eine neuere Binärdatei damit funktioniert
Schema, zu dem es migriert, was es sicher macht, Auto-Anwendung und fortlaufende Upgrades durchzuführen.
- **Einzelanwender über beratendes Sperre.** Migrationen werden unter einem ausgeführt **PostgreSQL
Hinweissperre**, daher wird, wenn mehrere Gateways gleichzeitig starten, nur eines von ihnen angewendet
und der Rest wartet — niemals eine doppelte Migration.
> [!NOTE]
> Migrationen laufen immer auf dem Eigentümer-Datenbank-Pool. Die eingeschränkte RLS-Rolle
> (`AIHUMMER_DB_APP_URL`) dient dazu, den Datenverkehr zu bedienen, nicht für Schemaänderungen.
## Aktualisierung
Neue Versionen bezieht das Gateway aus dem Release-CDN des Anbieters. Der unterstützte Weg zur Aktualisierung ist ein einziger Befehl auf dem Server:
```bash
aihummer update --check # report whether a newer version is available
aihummer update # download and apply the update
```
`--check` schreibt nichts und **benötigt daher kein root**. Eine Aktualisierung anzuwenden schreibt die Installationswurzel neu und startet den Dienst neu, führen Sie sie deshalb mit `sudo` aus.
**Erwartetes Ergebnis:** `--check` gibt die laufende und die verfügbare Version aus und endet, ohne etwas zu verändern. `aihummer update` lädt das Artefakt herunter, prüft dessen sha256-Prüfsumme und dessen cosign-Signatur, tauscht die Binärdatei aus und startet den Dienst neu; danach meldet `aihummer version` die neue Version. Schlägt die Prüfung fehl, bricht die Aktualisierung **vor** dem Austausch ab: Die laufende Version bleibt unangetastet.
> [!NOTE]
> **Die automatische Aktualisierung schaltet der Anbieter frei, nicht Sie.** Modus und
> Zeitplan gehören zur Pflege der Ausgabe und werden durch eine signierte Anweisung des
> Anbieters festgelegt. Entsprechende Schalter gibt es weder in der Weboberfläche noch in
> `aihummer settings`, und in `gateway.env` eingetragene Variablen zur automatischen
> Aktualisierung liest das Gateway **nicht** — stehen sie dort, bleiben sie wirkungslos.
> Um nach Ihrem eigenen Zeitplan zu aktualisieren, nutzen Sie den Befehl
> `aihummer update` oben.
### Zurückrollen
Das lässt sich im Einzelnen zurückrollen:
- **Binärdatei** — sie lässt sich auf die vorherige Version zurücksetzen (Artefakte
früherer Ausgaben bleiben im CDN; installieren Sie die gewünschte Version erneut).
- **Datenbankschema** — Migrationen sind vorwärtskompatibel, deshalb arbeitet die
vorherige Binärdatei auch mit dem neueren Schema; ein eigenes Zurückrollen des Schemas
gibt es nicht.
- **Plugins** — Versionen werden je Installation verwaltet; setzen Sie ein Plugin bei
Bedarf aus dem Katalog auf eine frühere Version zurück.
- **Konfiguration** — eine Aktualisierung rührt sie nicht an; stellen Sie sie bei Bedarf
aus einer Sicherung wieder her.
## Bereitstellungen ohne Ausfallzeiten
AiHummer ist darauf ausgelegt, ohne Ausfallzeit zu upgraden:
- **Führen Sie 2+ Gateways hinter einem Proxy aus.** Rollen Sie sie nacheinander aus; die Bereitschaftsprüfung
(`/readyz`) hält einen neu startenden Knoten aus der Rotation, bis er einsatzbereit ist.
- **Der Scheduler ist ein Einzel-Leiter.** Die Hintergrundplanung wählt einen einzelnen Führer
über ein PostgreSQL Advisory Lock, sodass das Ausführen mehrerer Gateways nicht zu Duplikaten führt
geplante Arbeit.
- **Die Lieferung ist idempotent.** Zuverlässige Lieferung plus Idempotenzschlüssel bedeuten ein
Antwort wird nie zweimal über einen Neustart gesendet, was einen Rolling ausmacht
Starte sicher über deine Gateways neu.
## Wohin als Nächstes
- Sonden, die einen rollenden Neustart steuern:
[systemd & Gesundheitsprüfungen](/de/v1.0/operations/systemd-health).
- Sichern Sie sich vor einem großen Upgrade:
[Backups & Katastrophenwiederherstellung](/de/v1.0/operations/backups-dr).
- Beobachte die Einführung:
[Beobachtbarkeit](/de/v1.0/operations/observability).