Espelhos
O estado de um repositório espelhado e o feed que um espelho acompanha.
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
Listar os espelhos e importações desta instalação
GET HEAD /api/v1/mirrors
Acesso: Repositórios que o chamador pode ver (repository.read) · Repetição: Pode ser repetida com segurança (leitura)
Para cada repositório que este servidor espelha ou importa de outro Arkvory e que o chamador pode ler, devolve o mesmo estado do status de espelho de um repositório: origem, mode, phase, cursor e head, caughtUp, a última verificação, sincronização e erro, e os artefatos e bytes copiados. Repositórios que o chamador não pode ler são omitidos; uma instalação sem espelhos responde com uma lista vazia.
Resposta 200
| Campo | Tipo | Obrigatório | Regras |
|---|---|---|---|
items | array de object | sim | até 64 itens |
items[].repository | string | sim | — |
items[].upstream | string (uri) | sim | — |
items[].sourceRepository | string | sim | — |
items[].mode | string | sim | um destes: mirror, import |
items[].stages | array de string | sim | até 16 itens |
items[].phase | string | sim | um destes: pending, seeding, following |
items[].seedStep | string | sim | um destes: artifacts, packages, assets; pode ser null |
items[].cursor | string | sim | um número inteiro em dígitos decimais, enviado como string |
items[].head | string | sim | um número inteiro em dígitos decimais, enviado como string; pode ser null |
items[].caughtUp | boolean | sim | pode ser null |
items[].checkedAt | string (date-time) | sim | pode ser null |
items[].syncedAt | string (date-time) | sim | pode ser null |
items[].errorCode | string | sim | pode ser null |
items[].errorAt | string (date-time) | sim | pode ser null |
items[].copiedArtifacts | integer | sim | pelo menos 0 |
items[].copiedBytes | string | sim | um número inteiro em dígitos decimais, enviado como string |
items[].conflicts | object | sim | — |
items[].conflicts.count | integer | sim | pelo menos 0 |
items[].conflicts.oldestAt | string (date-time) | sim | pode ser null |
items[].conflicts.sample | array de object | sim | até 10 itens |
Respostas: 200, 400, 401, 403, 404, 409, 422, 503, 507
Exemplo
curl -X GET "$ARKVORY_URL/api/v1/mirrors" \
-H "Authorization: Bearer $ARKVORY_TOKEN"Obter o estado de sincronização de um espelho
GET HEAD /api/v1/repositories/{repository}/mirror
Acesso: Permissão no repositório: repository.read; chaves em arquivo: read · Repetição: Pode ser repetida com segurança (leitura)
Para um repositório que este servidor espelha de outro Arkvory (configurado em ARKVORY_MIRRORS_FILE), retorna a origem, o mode (mirror, uma cópia somente leitura, ou import, que assume as versões com os stages listados), a phase (pending, seeding, following), o cursor aplicado e o head da origem, caughtUp, a última verificação, sincronização e erro, e os artefatos e bytes copiados. As sequências são números do diário da origem, portanto sua diferença não é uma contagem de alterações. Um repositório comum responde 404.
Parâmetros
| Nome | Local | Tipo | Obrigatório | Regras |
|---|---|---|---|---|
repository | caminho | string | sim | corresponde a ^[a-z0-9][a-z0-9_-]{0,63}$ |
Resposta 200
| Campo | Tipo | Obrigatório | Regras |
|---|---|---|---|
repository | string | sim | — |
upstream | string (uri) | sim | — |
sourceRepository | string | sim | — |
mode | string | sim | um destes: mirror, import |
stages | array de string | sim | até 16 itens |
phase | string | sim | um destes: pending, seeding, following |
seedStep | string | sim | um destes: artifacts, packages, assets; pode ser null |
cursor | string | sim | um número inteiro em dígitos decimais, enviado como string |
head | string | sim | um número inteiro em dígitos decimais, enviado como string; pode ser null |
caughtUp | boolean | sim | pode ser null |
checkedAt | string (date-time) | sim | pode ser null |
syncedAt | string (date-time) | sim | pode ser null |
errorCode | string | sim | pode ser null |
errorAt | string (date-time) | sim | pode ser null |
copiedArtifacts | integer | sim | pelo menos 0 |
copiedBytes | string | sim | um número inteiro em dígitos decimais, enviado como string |
conflicts | object | sim | — |
conflicts.count | integer | sim | pelo menos 0 |
conflicts.oldestAt | string (date-time) | sim | pode ser null |
conflicts.sample | array de object | sim | até 10 itens |
conflicts.sample[].artifactId | string (uuid) | sim | — |
conflicts.sample[].action | string | sim | — |
conflicts.sample[].detail | string | sim | pode ser null |
conflicts.sample[].code | string | sim | — |
conflicts.sample[].firstAt | string (date-time) | sim | — |
conflicts.sample[].lastAt | string (date-time) | sim | — |
conflicts.sample[].attempts | integer | sim | pelo menos 1 |
Respostas: 200, 400, 401, 403, 404, 409, 422, 503, 507
Exemplo
curl -X GET "$ARKVORY_URL/api/v1/repositories/$REPOSITORY/mirror" \
-H "Authorization: Bearer $ARKVORY_TOKEN"