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
- Installierten Stand aus der Überschrift von
SKILL.mdlesen. - Berechtigten Stand über
/latestabfragen. - Vergleichen. Stimmen beide überein, ist nichts zu tun.
- Bei neuerer berechtigter Version über die mitgelieferte
download_urlladen. - Prüfsumme (
sha256aus der Antwort) gegen die geladene Datei kontrollieren, bei Abweichung nicht installieren. install.shaus dem Paket ausführen undUPDATE-ANLEITUNG.mdlesen.- 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.