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 Version laden will, auf die die eigene Lizenz Anspruch hat, nutzt dafür die öffentlich dokumentierte Update-API von provimedia.de und meldet sich mit dem Lizenzschlüssel an.

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 gehört nie in die URL, sonst landet er in Server-Logs und in der Shell-History.

Endpunkte

Endpunkt Zweck
GET /api/code-guardian/status Zeigt Lizenz, Update-Zeitraum und Abo-Zustand; nennt getrennt die neueste Version, auf die Anspruch besteht, sowie die neueste überhaupt vorhandene Version
GET /api/code-guardian/latest Direkt nur die neueste Version, auf die Anspruch besteht
GET /api/code-guardian/download/{version} Lädt das ZIP; {version} ist optional: ohne Angabe die neueste Version, auf die Anspruch besteht, mit Angabe auch eine ältere Version, um darauf zurückzuwechseln

Ablauf

  1. Installierten Stand aus der Überschrift von SKILL.md lesen.
  2. Den Stand, auf den die Lizenz Anspruch hat, über /latest abfragen.
  3. Vergleichen. Stimmen beide überein, ist nichts zu tun.
  4. Bei einer neueren Version, auf die Anspruch besteht, ü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 wurde zurückgebucht, 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 eigenes Fehlerfeld Zu viele Anfragen; einmal abwarten, statt es in einer Schleife zu 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 und ein Lizenzschlüssel im Header genügen, um Status, die Version, auf die Anspruch besteht, und den Download abzurufen; eine Prüfsumme sichert den Download zusätzlich ab.

Dieses Kapitel als Auftrag an Claude Code

Kopieren, die Platzhalter in spitzen Klammern durch Ihre eigenen Angaben ersetzen und in Claude Code einfügen. Der Auftrag ist für Claude Code geschrieben.

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.