Aller au contenu

Mises à jour ​

Offres de mise à jour du hub et demande d’installation de l’une d’elles.

Opérations de ce groupe, avec leur règle d’accès, leur règle de nouvelle tentative, leurs paramètres et leurs réponses. Chaque requête porte une clé : Authorization: Bearer <clé> (voir « Authentification »).

Opérations ​

Obtenir l’état des mises à jour ​

GET HEAD /api/v1/system/updates

Accès: Administrateur · Nouvelle tentative: Peut être répétée sans risque (lecture)

Renvoie ce que signale le programme de mise à jour de l’hôte : la version et le schéma installés, la dernière version trouvée (latest), les paramètres de mise à jour automatique (automatic, hourUTC, pin, channel, statistics), la phase (idle, checking, updating, failed), la dernière error, le dernier signal de vie et la revision des paramètres, ainsi que la demande encore en attente dans la boîte de réception du programme de mise à jour (pending). snapshot vaut null lorsqu’aucun programme de mise à jour de l’hôte n’est connecté. Passez revision à requestSystemUpdate.

Réponse 200

ChampTypeObligatoireRègles
snapshotobjectouipeut être null
snapshot.revisionintegeroui0–2147483646
snapshot.currentVersionstringouicorrespond à ^(0|[1-9][0-9]{0,5})\.(0|[1-9][0-9]{0,5})\.(0|[1-9][0-9]{0,5})$
snapshot.currentSchemaintegeroui0–2147483647
snapshot.automaticbooleanoui—
snapshot.hourUTCintegeroui0–23
snapshot.pinstringouicorrespond à ^(0|[1-9][0-9]{0,5})\.(0|[1-9][0-9]{0,5})\.(0|[1-9][0-9]{0,5})$; peut être null
snapshot.heartbeatAtstring (date-time)oui—
snapshot.checkedAtstring (date-time)ouipeut être null
snapshot.latestobjectouipeut être null
snapshot.latest.versionstringouicorrespond à ^(0|[1-9][0-9]{0,5})\.(0|[1-9][0-9]{0,5})\.(0|[1-9][0-9]{0,5})$
snapshot.latest.schemaintegeroui0–2147483647
snapshot.latest.sha256stringouiSHA-256 : 64 chiffres hexadécimaux en minuscules
snapshot.phasestringouiune valeur parmi idle, checking, updating, failed
snapshot.errorstringouiune valeur parmi check_failed, update_failed, conflict, maintenance_required, recovery_required, null; peut être null
snapshot.lastAttemptDaystringouipeut être null
snapshot.lastRequestIdstring (uuid)ouipeut être null
snapshot.statisticsbooleannon—
snapshot.channelstringnonune valeur parmi stable, beta
pendingobjectouiune valeur parmi null
pending.idstring (uuid)oui—
pending.expectedRevisionintegeroui0–2147483646
pending.kindstringouiune valeur parmi check
pending.versionstringouicorrespond à ^(0|[1-9][0-9]{0,5})\.(0|[1-9][0-9]{0,5})\.(0|[1-9][0-9]{0,5})$
pending.sha256stringouiSHA-256 : 64 chiffres hexadécimaux en minuscules
pending.automaticbooleanoui—
pending.hourUTCintegeroui0–23
pending.statisticsbooleannon—

Réponses: 200, 400, 401, 403, 404, 409, 422, 503, 507

Exemple

bash
curl -X GET "$ARKVORY_URL/api/v1/system/updates" \
  -H "Authorization: Bearer $ARKVORY_TOKEN"

Demander une action de mise à jour ​

POST /api/v1/system/updates/requests

Accès: Administrateur · Nouvelle tentative: Répéter uniquement avec la révision attendue (compare-and-swap)

Confie une commande au programme de mise à jour de l’hôte, qui effectue le travail : kind check cherche une nouvelle version, apply installe la version stable donnée avec son sha256, configure définit automatic, hourUTC et, facultativement, statistics. Envoyez un nouvel UUID comme id et l’expectedRevision obtenu par getSystemUpdates ; 409 revision_mismatch signifie que les paramètres ont changé, 503 busy qu’une demande est en attente ou que le programme de mise à jour travaille, 503 unavailable qu’aucun programme de mise à jour n’est connecté ou que son dernier signal de vie date de plus de cinq minutes. La réponse 202 signifie seulement que la demande a été mise en file : suivez phase, currentVersion et lastRequestId dans getSystemUpdates. Répéter le même id avec le même corps est sans risque.

Corps de la requête (application/json)

ChampTypeObligatoireRègles
idstring (uuid)oui—
expectedRevisionintegeroui0–2147483646
kindstringouiune valeur parmi check
versionstringouicorrespond à ^(0|[1-9][0-9]{0,5})\.(0|[1-9][0-9]{0,5})\.(0|[1-9][0-9]{0,5})$
sha256stringouiSHA-256 : 64 chiffres hexadécimaux en minuscules
automaticbooleanoui—
hourUTCintegeroui0–23
statisticsbooleannon—

Réponse 202

ChampTypeObligatoireRègles
idstring (uuid)oui—

Réponses: 202, 400, 401, 403, 404, 405, 409, 413, 415, 422, 503, 507

Exemple

bash
curl -X POST "$ARKVORY_URL/api/v1/system/updates/requests" \
  -H "Authorization: Bearer $ARKVORY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"id":"00000000-0000-4000-8000-000000000000","expectedRevision":0,"kind":"check"}'

Arkvory · ProAnimaStudio