Zum Inhalt springen

Kapitel 6 von 7

Update-API

Code Guardian prüft im laufenden Betrieb nicht selbst, ob eine neue Version vorliegt. Wer die neueste berechtigte Version laden will, nutzt die öffentlich dokumentierte Update-API von provimedia.de, per Lizenzschlüssel.

Authentifizierung

Jeder Aufruf trägt den Lizenzschlüssel im Header, wahlweise als Authorization: Bearer <Schlüssel> oder als X-Licence-Key: <Schlüssel>. Groß- und Kleinschreibung, Leerzeichen und fehlende Bindestriche werden toleriert. Der Schlüssel steht nie in der URL, sonst landet er in Server-Logs und in der Shell-History.

Endpunkte

Endpunkt Zweck
GET /api/code-guardian/status Lizenz, Update-Zeitraum und Abo-Zustand, nennt getrennt die neueste berechtigte Version und die neueste überhaupt vorhandene
GET /api/code-guardian/latest Nur die neueste berechtigte Version, direkt
GET /api/code-guardian/download/{version} Lädt das ZIP, ohne Versionsangabe die neueste berechtigte, mit Angabe auch eine ältere für einen Rückbau

Ablauf

  1. Installierten Stand aus der Überschrift von SKILL.md lesen.
  2. Berechtigten Stand über /latest abfragen.
  3. Vergleichen. Stimmen beide überein, ist nichts zu tun.
  4. Bei neuerer berechtigter Version über die mitgelieferte download_url laden.
  5. Prüfsumme (sha256 aus der Antwort) gegen die geladene Datei kontrollieren, bei Abweichung nicht installieren.
  6. install.sh aus dem Paket ausführen und UPDATE-ANLEITUNG.md lesen.
  7. ZIP und Entpackverzeichnis wieder entfernen.

Fehlercodes

HTTP Fehler Bedeutung
401 missing_licence_key Kein Header gesetzt
401 invalid_licence_key Schlüssel unbekannt, nicht wiederholt versuchen
402 payment_returned Lastschrift zurückgegeben, Downloads gesperrt bis zum Zahlungseingang
403 licence_not_paid Zahlung noch nicht verbucht
403 subscription_required Die gewünschte Version erschien nach Ende des Update-Zeitraums
404 no_entitled_release Für diese Lizenz ist derzeit keine Version freigegeben
404 release_not_found Diese Versionsnummer gibt es nicht
404 release_file_missing Serverseitiges Problem
429 ohne Feld Zu viele Anfragen, einmal abwarten statt in einer Schleife wiederholen

Grenzen

  • Liefert ausschließlich Code-Guardian-Pakete.
  • Ein Lizenzschlüssel gehört zu genau einem Unternehmen und darf dort beliebig oft eingesetzt werden, aber nicht darüber hinaus.
  • Der Zugriff wird protokolliert (Zeitpunkt der letzten Nutzung je Lizenz), nicht aber Projekt oder Rechner.
  • Die Lizenz selbst läuft nicht ab: Versionen aus dem bezahlten Zeitraum bleiben dauerhaft abrufbar, auch nach einer Kündigung des Update-Abos.

In einem Satz

Drei Endpunkte, ein Lizenzschlüssel im Header und eine Prüfsumme genügen, um Status, neueste berechtigte Version und Download abzufragen.

Dieses Kapitel als Auftrag an Claude

Kopieren, die spitzen Klammern durch Ihre eigene Angabe ersetzen, in Claude Code einfügen.

Frag die Code-Guardian-Update-API nach der neuesten berechtigten Version, vergleiche sie mit der installierten Version in diesem Projekt, und installiere das Update nur nach Rückfrage bei mir.