Saltar al contenido

Actualizaciones ​

Ofertas de actualización del hub y la solicitud para instalar una.

Operaciones de este grupo con su regla de acceso, su regla de reintento, sus parámetros y sus respuestas. Cada solicitud lleva una clave: Authorization: Bearer <clave> (consulte «Autenticación»).

Operaciones ​

Obtener el estado de las actualizaciones ​

GET HEAD /api/v1/system/updates

Acceso: Administrador · Reintento: Se puede repetir (lectura)

Devuelve lo que informa el actualizador del host: la versión y el esquema instalados, la versión más reciente encontrada (latest), la configuración de actualización automática (automatic, hourUTC, pin, channel, statistics), la phase (idle, checking, updating, failed), el último error, el último latido y la revision de la configuración, además de la solicitud que sigue esperando en el buzón del actualizador (pending). snapshot es null cuando no hay ningún actualizador del host conectado. Pase revision a requestSystemUpdate.

Respuesta 200

CampoTipoObligatorioReglas
snapshotobjectsípuede ser null
snapshot.revisionintegersí0–2147483646
snapshot.currentVersionstringsícoincide con ^(0|[1-9][0-9]{0,5})\.(0|[1-9][0-9]{0,5})\.(0|[1-9][0-9]{0,5})$
snapshot.currentSchemaintegersí0–2147483647
snapshot.automaticbooleansí—
snapshot.hourUTCintegersí0–23
snapshot.pinstringsícoincide con ^(0|[1-9][0-9]{0,5})\.(0|[1-9][0-9]{0,5})\.(0|[1-9][0-9]{0,5})$; puede ser null
snapshot.heartbeatAtstring (date-time)sí—
snapshot.checkedAtstring (date-time)sípuede ser null
snapshot.latestobjectsípuede ser null
snapshot.latest.versionstringsícoincide con ^(0|[1-9][0-9]{0,5})\.(0|[1-9][0-9]{0,5})\.(0|[1-9][0-9]{0,5})$
snapshot.latest.schemaintegersí0–2147483647
snapshot.latest.sha256stringsíSHA-256: 64 dígitos hexadecimales en minúsculas
snapshot.phasestringsíuno de idle, checking, updating, failed
snapshot.errorstringsíuno de check_failed, update_failed, conflict, maintenance_required, recovery_required, null; puede ser null
snapshot.lastAttemptDaystringsípuede ser null
snapshot.lastRequestIdstring (uuid)sípuede ser null
snapshot.statisticsbooleanno—
snapshot.channelstringnouno de stable, beta
pendingobjectsíuno de null
pending.idstring (uuid)sí—
pending.expectedRevisionintegersí0–2147483646
pending.kindstringsíuno de check
pending.versionstringsícoincide con ^(0|[1-9][0-9]{0,5})\.(0|[1-9][0-9]{0,5})\.(0|[1-9][0-9]{0,5})$
pending.sha256stringsíSHA-256: 64 dígitos hexadecimales en minúsculas
pending.automaticbooleansí—
pending.hourUTCintegersí0–23
pending.statisticsbooleanno—

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

Ejemplo

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

Solicitar una acción de actualización ​

POST /api/v1/system/updates/requests

Acceso: Administrador · Reintento: Repetir solo con la revisión esperada (compare-and-swap)

Entrega un comando al actualizador del host, que hace el trabajo: kind check busca una versión nueva, apply instala la version estable indicada con su sha256, configure establece automatic, hourUTC y, opcionalmente, statistics. Envíe un UUID nuevo como id y el expectedRevision de getSystemUpdates; 409 revision_mismatch significa que la configuración cambió, 503 busy que hay una solicitud pendiente o que el actualizador está trabajando, y 503 unavailable que no hay ningún actualizador conectado o que su latido tiene más de cinco minutos. La respuesta 202 solo significa que la solicitud se encoló: siga phase, currentVersion y lastRequestId en getSystemUpdates. Repetir el mismo id y el mismo cuerpo es seguro.

Cuerpo de la solicitud (application/json)

CampoTipoObligatorioReglas
idstring (uuid)sí—
expectedRevisionintegersí0–2147483646
kindstringsíuno de check
versionstringsícoincide con ^(0|[1-9][0-9]{0,5})\.(0|[1-9][0-9]{0,5})\.(0|[1-9][0-9]{0,5})$
sha256stringsíSHA-256: 64 dígitos hexadecimales en minúsculas
automaticbooleansí—
hourUTCintegersí0–23
statisticsbooleanno—

Respuesta 202

CampoTipoObligatorioReglas
idstring (uuid)sí—

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

Ejemplo

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