Atualizações
Ofertas de atualização do hub e a solicitação para instalar uma delas.
Operações deste grupo com a regra de acesso, a regra de repetição, os parâmetros e as respostas. Toda solicitação leva uma chave: Authorization: Bearer <chave> (consulte “Autenticação”).
Operações
Obter o estado das atualizações
GET HEAD /api/v1/system/updates
Acesso: Administrador · Repetição: Pode ser repetida com segurança (leitura)
Retorna o que o atualizador do host informa: a versão e o esquema instalados, a versão mais recente encontrada (latest), as configurações de atualização automática (automatic, hourUTC, pin, channel, statistics), a phase (idle, checking, updating, failed), o último error, o último heartbeat e a revision das configurações, além da solicitação que ainda aguarda na fila (mailbox) do atualizador (pending). snapshot é null quando nenhum atualizador do host está conectado. Passe revision para requestSystemUpdate.
Resposta 200
| Campo | Tipo | Obrigatório | Regras |
|---|---|---|---|
snapshot | object | sim | pode ser null |
snapshot.revision | integer | sim | 0–2147483646 |
snapshot.currentVersion | string | sim | corresponde a ^(0|[1-9][0-9]{0,5})\.(0|[1-9][0-9]{0,5})\.(0|[1-9][0-9]{0,5})$ |
snapshot.currentSchema | integer | sim | 0–2147483647 |
snapshot.automatic | boolean | sim | — |
snapshot.hourUTC | integer | sim | 0–23 |
snapshot.pin | string | sim | corresponde a ^(0|[1-9][0-9]{0,5})\.(0|[1-9][0-9]{0,5})\.(0|[1-9][0-9]{0,5})$; pode ser null |
snapshot.heartbeatAt | string (date-time) | sim | — |
snapshot.checkedAt | string (date-time) | sim | pode ser null |
snapshot.latest | object | sim | pode ser null |
snapshot.latest.version | string | sim | corresponde a ^(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 | sim | 0–2147483647 |
snapshot.latest.sha256 | string | sim | SHA-256: 64 dígitos hexadecimais minúsculos |
snapshot.phase | string | sim | um destes: idle, checking, updating, failed |
snapshot.error | string | sim | um destes: check_failed, update_failed, conflict, maintenance_required, recovery_required, null; pode ser null |
snapshot.lastAttemptDay | string | sim | pode ser null |
snapshot.lastRequestId | string (uuid) | sim | pode ser null |
snapshot.statistics | boolean | não | — |
snapshot.channel | string | não | um destes: stable, beta |
pending | object | sim | um destes: null |
pending.id | string (uuid) | sim | — |
pending.expectedRevision | integer | sim | 0–2147483646 |
pending.kind | string | sim | um destes: check |
pending.version | string | sim | corresponde a ^(0|[1-9][0-9]{0,5})\.(0|[1-9][0-9]{0,5})\.(0|[1-9][0-9]{0,5})$ |
pending.sha256 | string | sim | SHA-256: 64 dígitos hexadecimais minúsculos |
pending.automatic | boolean | sim | — |
pending.hourUTC | integer | sim | 0–23 |
pending.statistics | boolean | não | — |
Respostas: 200, 400, 401, 403, 404, 409, 422, 503, 507
Exemplo
curl -X GET "$ARKVORY_URL/api/v1/system/updates" \
-H "Authorization: Bearer $ARKVORY_TOKEN"Solicitar uma ação de atualização
POST /api/v1/system/updates/requests
Acesso: Administrador · Repetição: Repetir somente com a revisão esperada (compare-and-swap)
Entrega um comando ao atualizador do host, que faz o trabalho: kind check procura uma nova versão, apply instala a version estável informada com seu sha256, configure define automatic, hourUTC e, opcionalmente, statistics. Envie um novo UUID como id e o expectedRevision de getSystemUpdates; 409 revision_mismatch significa que as configurações mudaram, 503 busy que há uma solicitação pendente ou o atualizador está trabalhando, 503 unavailable que nenhum atualizador está conectado ou que seu heartbeat tem mais de cinco minutos. A resposta 202 significa apenas que a solicitação foi enfileirada: acompanhe phase, currentVersion e lastRequestId em getSystemUpdates. Repetir o mesmo id e corpo é seguro.
Corpo da solicitação (application/json)
| Campo | Tipo | Obrigatório | Regras |
|---|---|---|---|
id | string (uuid) | sim | — |
expectedRevision | integer | sim | 0–2147483646 |
kind | string | sim | um destes: check |
version | string | sim | corresponde a ^(0|[1-9][0-9]{0,5})\.(0|[1-9][0-9]{0,5})\.(0|[1-9][0-9]{0,5})$ |
sha256 | string | sim | SHA-256: 64 dígitos hexadecimais minúsculos |
automatic | boolean | sim | — |
hourUTC | integer | sim | 0–23 |
statistics | boolean | não | — |
Resposta 202
| Campo | Tipo | Obrigatório | Regras |
|---|---|---|---|
id | string (uuid) | sim | — |
Respostas: 202, 400, 401, 403, 404, 405, 409, 413, 415, 422, 503, 507
Exemplo
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"}'