Zum Inhalt springen

Updates ​

Update-Angebote vom Hub und die Anforderung, eines davon zu installieren.

Die Vorgänge dieser Gruppe mit ihrer Zugriffsregel, Wiederholungsregel, ihren Parametern und Antworten. Jede Anfrage trägt einen Schlüssel: Authorization: Bearer <Schlüssel> (siehe „Authentifizierung“).

Vorgänge ​

Update-Zustand abrufen ​

GET HEAD /api/v1/system/updates

Zugriff: Administrator · Wiederholung: Wiederholen ist sicher (Lesen)

Liefert, was der Host-Updater meldet: die installierte Version und das Schema, das neueste gefundene Release (latest), die Einstellungen für automatische Updates (automatic, hourUTC, pin, channel, statistics), die phase (idle, checking, updating, failed), den letzten error, den letzten Heartbeat und die revision der Einstellungen, dazu die Anfrage, die noch im Postfach des Updaters wartet (pending). snapshot ist null, wenn kein Host-Updater verbunden ist. Übergeben Sie revision an requestSystemUpdate.

Antwort 200

FeldTypErforderlichRegeln
snapshotobjectjadarf null sein
snapshot.revisionintegerja0–2147483646
snapshot.currentVersionstringjaentspricht ^(0|[1-9][0-9]{0,5})\.(0|[1-9][0-9]{0,5})\.(0|[1-9][0-9]{0,5})$
snapshot.currentSchemaintegerja0–2147483647
snapshot.automaticbooleanja—
snapshot.hourUTCintegerja0–23
snapshot.pinstringjaentspricht ^(0|[1-9][0-9]{0,5})\.(0|[1-9][0-9]{0,5})\.(0|[1-9][0-9]{0,5})$; darf null sein
snapshot.heartbeatAtstring (date-time)ja—
snapshot.checkedAtstring (date-time)jadarf null sein
snapshot.latestobjectjadarf null sein
snapshot.latest.versionstringjaentspricht ^(0|[1-9][0-9]{0,5})\.(0|[1-9][0-9]{0,5})\.(0|[1-9][0-9]{0,5})$
snapshot.latest.schemaintegerja0–2147483647
snapshot.latest.sha256stringjaSHA-256: 64 hexadezimale Ziffern in Kleinbuchstaben
snapshot.phasestringjaeiner von idle, checking, updating, failed
snapshot.errorstringjaeiner von check_failed, update_failed, conflict, maintenance_required, recovery_required, null; darf null sein
snapshot.lastAttemptDaystringjadarf null sein
snapshot.lastRequestIdstring (uuid)jadarf null sein
snapshot.statisticsbooleannein—
snapshot.channelstringneineiner von stable, beta
pendingobjectjaeiner von null
pending.idstring (uuid)ja—
pending.expectedRevisionintegerja0–2147483646
pending.kindstringjaeiner von check
pending.versionstringjaentspricht ^(0|[1-9][0-9]{0,5})\.(0|[1-9][0-9]{0,5})\.(0|[1-9][0-9]{0,5})$
pending.sha256stringjaSHA-256: 64 hexadezimale Ziffern in Kleinbuchstaben
pending.automaticbooleanja—
pending.hourUTCintegerja0–23
pending.statisticsbooleannein—

Antworten: 200, 400, 401, 403, 404, 409, 422, 503, 507

Beispiel

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

Eine Update-Aktion anfordern ​

POST /api/v1/system/updates/requests

Zugriff: Administrator · Wiederholung: Nur mit der erwarteten Revision wiederholen (compare-and-swap)

Übergibt dem Host-Updater, der die Arbeit erledigt, einen Befehl: kind check sucht nach einem neuen Release, apply installiert die angegebene stabile version mit ihrem sha256, configure setzt automatic, hourUTC und optional statistics. Senden Sie eine neue UUID als id und die expectedRevision aus getSystemUpdates; 409 revision_mismatch bedeutet, dass sich die Einstellungen geändert haben, 503 busy, dass eine Anfrage aussteht oder der Updater arbeitet, 503 unavailable, dass kein Updater verbunden ist oder sein Heartbeat älter als fünf Minuten ist. Die Antwort 202 bedeutet nur, dass die Anfrage eingereiht wurde: Verfolgen Sie phase, currentVersion und lastRequestId in getSystemUpdates. Dieselbe id mit demselben Body zu wiederholen ist sicher.

Anfragetext (application/json)

FeldTypErforderlichRegeln
idstring (uuid)ja—
expectedRevisionintegerja0–2147483646
kindstringjaeiner von check
versionstringjaentspricht ^(0|[1-9][0-9]{0,5})\.(0|[1-9][0-9]{0,5})\.(0|[1-9][0-9]{0,5})$
sha256stringjaSHA-256: 64 hexadezimale Ziffern in Kleinbuchstaben
automaticbooleanja—
hourUTCintegerja0–23
statisticsbooleannein—

Antwort 202

FeldTypErforderlichRegeln
idstring (uuid)ja—

Antworten: 202, 400, 401, 403, 404, 405, 409, 413, 415, 422, 503, 507

Beispiel

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