본문으로 건너뛰기

업데이트 ​

허브에서 제안하는 업데이트와 설치 요청.

이 그룹의 작업과 각 작업의 액세스 규칙, 재시도 규칙, 매개 변수, 응답입니다. 모든 요청에는 키가 포함됩니다: Authorization: Bearer <키>(“인증” 참조).

작업 ​

업데이트 상태 조회 ​

GET HEAD /api/v1/system/updates

액세스: 관리자 · 재시도: 반복해도 안전함(읽기)

호스트 업데이터가 보고하는 내용을 반환합니다. 설치된 버전과 스키마, 발견된 최신 릴리스(latest), 자동 업데이트 설정(automatic, hourUTC, pin, channel, statistics), phase(idle, checking, updating, failed), 마지막 error, 마지막 하트비트, 설정 revision이 있으며, 업데이터의 메일박스에서 아직 대기 중인 요청(pending)도 포함됩니다. 호스트 업데이터가 연결되어 있지 않으면 snapshot은 null입니다. revision은 requestSystemUpdate에 전달합니다.

응답 200

필드형식필수규칙
snapshotobject예null일 수 있음
snapshot.revisioninteger예0–2147483646
snapshot.currentVersionstring예^(0|[1-9][0-9]{0,5})\.(0|[1-9][0-9]{0,5})\.(0|[1-9][0-9]{0,5})$ 패턴과 일치
snapshot.currentSchemainteger예0–2147483647
snapshot.automaticboolean예—
snapshot.hourUTCinteger예0–23
snapshot.pinstring예^(0|[1-9][0-9]{0,5})\.(0|[1-9][0-9]{0,5})\.(0|[1-9][0-9]{0,5})$ 패턴과 일치; null일 수 있음
snapshot.heartbeatAtstring (date-time)예—
snapshot.checkedAtstring (date-time)예null일 수 있음
snapshot.latestobject예null일 수 있음
snapshot.latest.versionstring예^(0|[1-9][0-9]{0,5})\.(0|[1-9][0-9]{0,5})\.(0|[1-9][0-9]{0,5})$ 패턴과 일치
snapshot.latest.schemainteger예0–2147483647
snapshot.latest.sha256string예SHA-256: 소문자 16진수 64자리
snapshot.phasestring예idle, checking, updating, failed 중 하나
snapshot.errorstring예check_failed, update_failed, conflict, maintenance_required, recovery_required, null 중 하나; null일 수 있음
snapshot.lastAttemptDaystring예null일 수 있음
snapshot.lastRequestIdstring (uuid)예null일 수 있음
snapshot.statisticsboolean아니요—
snapshot.channelstring아니요stable, beta 중 하나
pendingobject예null 중 하나
pending.idstring (uuid)예—
pending.expectedRevisioninteger예0–2147483646
pending.kindstring예check 중 하나
pending.versionstring예^(0|[1-9][0-9]{0,5})\.(0|[1-9][0-9]{0,5})\.(0|[1-9][0-9]{0,5})$ 패턴과 일치
pending.sha256string예SHA-256: 소문자 16진수 64자리
pending.automaticboolean예—
pending.hourUTCinteger예0–23
pending.statisticsboolean아니요—

응답: 200, 400, 401, 403, 404, 409, 422, 503, 507

예제

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

업데이트 작업 요청 ​

POST /api/v1/system/updates/requests

액세스: 관리자 · 재시도: 예상 리비전으로만 반복(compare-and-swap)

호스트 업데이터에 명령 하나를 전달하면 업데이터가 작업을 수행합니다. kind가 check이면 새 릴리스를 찾고, apply는 주어진 안정 version을 sha256과 함께 설치하며, configure는 automatic, hourUTC, 선택적으로 statistics를 설정합니다. id에 새 UUID를, expectedRevision에 getSystemUpdates의 값을 보냅니다. 409 revision_mismatch는 설정이 변경되었다는 뜻이고, 503 busy는 요청이 대기 중이거나 업데이터가 작업 중이라는 뜻이며, 503 unavailable은 업데이터가 연결되어 있지 않거나 하트비트가 5분보다 오래되었다는 뜻입니다. 응답 202는 요청이 큐에 들어갔다는 의미일 뿐이므로, getSystemUpdates의 phase, currentVersion, lastRequestId로 진행 상황을 확인합니다. 같은 id와 본문으로 반복해도 안전합니다.

요청 본문 (application/json)

필드형식필수규칙
idstring (uuid)예—
expectedRevisioninteger예0–2147483646
kindstring예check 중 하나
versionstring예^(0|[1-9][0-9]{0,5})\.(0|[1-9][0-9]{0,5})\.(0|[1-9][0-9]{0,5})$ 패턴과 일치
sha256string예SHA-256: 소문자 16진수 64자리
automaticboolean예—
hourUTCinteger예0–23
statisticsboolean아니요—

응답 202

필드형식필수규칙
idstring (uuid)예—

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

예제

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