Pular para o conteúdo

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

CampoTipoObrigatórioRegras
snapshotobjectsimpode ser null
snapshot.revisionintegersim0–2147483646
snapshot.currentVersionstringsimcorresponde a ^(0|[1-9][0-9]{0,5})\.(0|[1-9][0-9]{0,5})\.(0|[1-9][0-9]{0,5})$
snapshot.currentSchemaintegersim0–2147483647
snapshot.automaticbooleansim—
snapshot.hourUTCintegersim0–23
snapshot.pinstringsimcorresponde 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.heartbeatAtstring (date-time)sim—
snapshot.checkedAtstring (date-time)simpode ser null
snapshot.latestobjectsimpode ser null
snapshot.latest.versionstringsimcorresponde a ^(0|[1-9][0-9]{0,5})\.(0|[1-9][0-9]{0,5})\.(0|[1-9][0-9]{0,5})$
snapshot.latest.schemaintegersim0–2147483647
snapshot.latest.sha256stringsimSHA-256: 64 dígitos hexadecimais minúsculos
snapshot.phasestringsimum destes: idle, checking, updating, failed
snapshot.errorstringsimum destes: check_failed, update_failed, conflict, maintenance_required, recovery_required, null; pode ser null
snapshot.lastAttemptDaystringsimpode ser null
snapshot.lastRequestIdstring (uuid)simpode ser null
snapshot.statisticsbooleannão—
snapshot.channelstringnãoum destes: stable, beta
pendingobjectsimum destes: null
pending.idstring (uuid)sim—
pending.expectedRevisionintegersim0–2147483646
pending.kindstringsimum destes: check
pending.versionstringsimcorresponde a ^(0|[1-9][0-9]{0,5})\.(0|[1-9][0-9]{0,5})\.(0|[1-9][0-9]{0,5})$
pending.sha256stringsimSHA-256: 64 dígitos hexadecimais minúsculos
pending.automaticbooleansim—
pending.hourUTCintegersim0–23
pending.statisticsbooleannão—

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

Exemplo

bash
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)

CampoTipoObrigatórioRegras
idstring (uuid)sim—
expectedRevisionintegersim0–2147483646
kindstringsimum destes: check
versionstringsimcorresponde a ^(0|[1-9][0-9]{0,5})\.(0|[1-9][0-9]{0,5})\.(0|[1-9][0-9]{0,5})$
sha256stringsimSHA-256: 64 dígitos hexadecimais minúsculos
automaticbooleansim—
hourUTCintegersim0–23
statisticsbooleannão—

Resposta 202

CampoTipoObrigatórioRegras
idstring (uuid)sim—

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

Exemplo

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