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
| Campo | Tipo | Obligatorio | Reglas |
|---|---|---|---|
snapshot | object | sí | puede ser null |
snapshot.revision | integer | sí | 0–2147483646 |
snapshot.currentVersion | string | sí | coincide con ^(0|[1-9][0-9]{0,5})\.(0|[1-9][0-9]{0,5})\.(0|[1-9][0-9]{0,5})$ |
snapshot.currentSchema | integer | sí | 0–2147483647 |
snapshot.automatic | boolean | sí | — |
snapshot.hourUTC | integer | sí | 0–23 |
snapshot.pin | string | sí | 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.heartbeatAt | string (date-time) | sí | — |
snapshot.checkedAt | string (date-time) | sí | puede ser null |
snapshot.latest | object | sí | puede ser null |
snapshot.latest.version | string | sí | 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.schema | integer | sí | 0–2147483647 |
snapshot.latest.sha256 | string | sí | SHA-256: 64 dígitos hexadecimales en minúsculas |
snapshot.phase | string | sí | uno de idle, checking, updating, failed |
snapshot.error | string | sí | uno de check_failed, update_failed, conflict, maintenance_required, recovery_required, null; puede ser null |
snapshot.lastAttemptDay | string | sí | puede ser null |
snapshot.lastRequestId | string (uuid) | sí | puede ser null |
snapshot.statistics | boolean | no | — |
snapshot.channel | string | no | uno de stable, beta |
pending | object | sí | uno de null |
pending.id | string (uuid) | sí | — |
pending.expectedRevision | integer | sí | 0–2147483646 |
pending.kind | string | sí | uno de check |
pending.version | string | sí | coincide con ^(0|[1-9][0-9]{0,5})\.(0|[1-9][0-9]{0,5})\.(0|[1-9][0-9]{0,5})$ |
pending.sha256 | string | sí | SHA-256: 64 dígitos hexadecimales en minúsculas |
pending.automatic | boolean | sí | — |
pending.hourUTC | integer | sí | 0–23 |
pending.statistics | boolean | no | — |
Respuestas: 200, 400, 401, 403, 404, 409, 422, 503, 507
Ejemplo
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)
| Campo | Tipo | Obligatorio | Reglas |
|---|---|---|---|
id | string (uuid) | sí | — |
expectedRevision | integer | sí | 0–2147483646 |
kind | string | sí | uno de check |
version | string | sí | coincide con ^(0|[1-9][0-9]{0,5})\.(0|[1-9][0-9]{0,5})\.(0|[1-9][0-9]{0,5})$ |
sha256 | string | sí | SHA-256: 64 dígitos hexadecimales en minúsculas |
automatic | boolean | sí | — |
hourUTC | integer | sí | 0–23 |
statistics | boolean | no | — |
Respuesta 202
| Campo | Tipo | Obligatorio | Reglas |
|---|---|---|---|
id | string (uuid) | sí | — |
Respuestas: 202, 400, 401, 403, 404, 405, 409, 413, 415, 422, 503, 507
Ejemplo
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"}'