Перейти к содержимому

Зеркала ​

Состояние зеркального репозитория и лента, за которой следует зеркало.

Операции этой группы с правилом доступа, правилом повтора, параметрами и ответами. Каждый запрос несёт ключ: Authorization: Bearer <ключ> (см. «Аутентификация»).

Операции ​

Перечислить зеркала и импорты этой установки ​

GET HEAD /api/v1/mirrors

Доступ: Репозитории, которые видит вызывающий (repository.read) · Повтор: Можно повторять (чтение)

Для каждого репозитория, который этот сервер зеркалирует или импортирует из другого Arkvory и который вызывающий может читать, возвращает то же состояние, что и статус зеркала одного репозитория: источник, mode, phase, cursor и head, caughtUp, последние проверку, синхронизацию и ошибку, число скопированных артефактов и байтов. Репозитории, которые вызывающий читать не может, пропускаются; установка без зеркал отвечает пустым списком.

Ответ 200

ПолеТипОбязателенПравила
itemsмассив objectдане больше 64 элементов
items[].repositorystringда—
items[].upstreamstring (uri)да—
items[].sourceRepositorystringда—
items[].modestringдаодно из mirror, import
items[].stagesмассив stringдане больше 16 элементов
items[].phasestringдаодно из pending, seeding, following
items[].seedStepstringдаодно из artifacts, packages, assets; может быть null
items[].cursorstringдацелое число десятичными цифрами, передаётся строкой
items[].headstringдацелое число десятичными цифрами, передаётся строкой; может быть null
items[].caughtUpbooleanдаможет быть null
items[].checkedAtstring (date-time)даможет быть null
items[].syncedAtstring (date-time)даможет быть null
items[].errorCodestringдаможет быть null
items[].errorAtstring (date-time)даможет быть null
items[].copiedArtifactsintegerдане меньше 0
items[].copiedBytesstringдацелое число десятичными цифрами, передаётся строкой
items[].conflictsobjectда—
items[].conflicts.countintegerдане меньше 0
items[].conflicts.oldestAtstring (date-time)даможет быть null
items[].conflicts.sampleмассив objectдане больше 10 элементов

Ответы: 200, 400, 401, 403, 404, 409, 422, 503, 507

Пример

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

Получить состояние синхронизации зеркала ​

GET HEAD /api/v1/repositories/{repository}/mirror

Доступ: Право в репозитории: repository.read; файловые ключи: read · Повтор: Можно повторять (чтение)

Для репозитория, который этот сервер зеркалирует из другого Arkvory (настроено в ARKVORY_MIRRORS_FILE), возвращает источник, режим mode (mirror — копия только для чтения или import — перенимает версии с перечисленными stages), фазу phase (pending, seeding, following), применённый cursor и head источника, caughtUp, последние проверку, синхронизацию и ошибку, а также число скопированных артефактов и байтов. Номера — это номера журнала источника, поэтому их разность не равна числу изменений. Обычный репозиторий отвечает 404.

Параметры

ИмяГдеТипОбязателенПравила
repositoryпутьstringдапо шаблону ^[a-z0-9][a-z0-9_-]{0,63}$

Ответ 200

ПолеТипОбязателенПравила
repositorystringда—
upstreamstring (uri)да—
sourceRepositorystringда—
modestringдаодно из mirror, import
stagesмассив stringдане больше 16 элементов
phasestringдаодно из pending, seeding, following
seedStepstringдаодно из artifacts, packages, assets; может быть null
cursorstringдацелое число десятичными цифрами, передаётся строкой
headstringдацелое число десятичными цифрами, передаётся строкой; может быть null
caughtUpbooleanдаможет быть null
checkedAtstring (date-time)даможет быть null
syncedAtstring (date-time)даможет быть null
errorCodestringдаможет быть null
errorAtstring (date-time)даможет быть null
copiedArtifactsintegerдане меньше 0
copiedBytesstringдацелое число десятичными цифрами, передаётся строкой
conflictsobjectда—
conflicts.countintegerдане меньше 0
conflicts.oldestAtstring (date-time)даможет быть null
conflicts.sampleмассив objectдане больше 10 элементов
conflicts.sample[].artifactIdstring (uuid)да—
conflicts.sample[].actionstringда—
conflicts.sample[].detailstringдаможет быть null
conflicts.sample[].codestringда—
conflicts.sample[].firstAtstring (date-time)да—
conflicts.sample[].lastAtstring (date-time)да—
conflicts.sample[].attemptsintegerдане меньше 1

Ответы: 200, 400, 401, 403, 404, 409, 422, 503, 507

Пример

bash
curl -X GET "$ARKVORY_URL/api/v1/repositories/$REPOSITORY/mirror" \
  -H "Authorization: Bearer $ARKVORY_TOKEN"

Arkvory · ProAnimaStudio