Espejos
El estado de un repositorio espejo y la fuente de cambios que sigue un espejo.
Operaciones de este grupo con su regla de acceso, su regla de reintento, sus parámetros y sus respuestas. Cada solicitud lleva una clave: Authorization: Bearer <clave> (consulte «Autenticación»).
Operaciones
Listar los espejos e importaciones de esta instalación
GET HEAD /api/v1/mirrors
Acceso: Repositorios que el llamador puede ver (repository.read) · Reintento: Se puede repetir (lectura)
Para cada repositorio que este servidor refleja o importa desde otro Arkvory y que el llamante puede leer, devuelve el mismo estado que el estado del espejo de un repositorio: origen, mode, phase, cursor y head, caughtUp, la última comprobación, sincronización y error, y los artefactos y bytes copiados. Se omiten los repositorios que el llamante no puede leer; una instalación sin espejos responde con una lista vacía.
Respuesta 200
| Campo | Tipo | Obligatorio | Reglas |
|---|---|---|---|
items | array de object | sí | hasta 64 elementos |
items[].repository | string | sí | — |
items[].upstream | string (uri) | sí | — |
items[].sourceRepository | string | sí | — |
items[].mode | string | sí | uno de mirror, import |
items[].stages | array de string | sí | hasta 16 elementos |
items[].phase | string | sí | uno de pending, seeding, following |
items[].seedStep | string | sí | uno de artifacts, packages, assets; puede ser null |
items[].cursor | string | sí | un número entero en dígitos decimales, enviado como cadena |
items[].head | string | sí | un número entero en dígitos decimales, enviado como cadena; puede ser null |
items[].caughtUp | boolean | sí | puede ser null |
items[].checkedAt | string (date-time) | sí | puede ser null |
items[].syncedAt | string (date-time) | sí | puede ser null |
items[].errorCode | string | sí | puede ser null |
items[].errorAt | string (date-time) | sí | puede ser null |
items[].copiedArtifacts | integer | sí | como mínimo 0 |
items[].copiedBytes | string | sí | un número entero en dígitos decimales, enviado como cadena |
items[].conflicts | object | sí | — |
items[].conflicts.count | integer | sí | como mínimo 0 |
items[].conflicts.oldestAt | string (date-time) | sí | puede ser null |
items[].conflicts.sample | array de object | sí | hasta 10 elementos |
Respuestas: 200, 400, 401, 403, 404, 409, 422, 503, 507
Ejemplo
curl -X GET "$ARKVORY_URL/api/v1/mirrors" \
-H "Authorization: Bearer $ARKVORY_TOKEN"Obtener el estado de sincronización de un espejo
GET HEAD /api/v1/repositories/{repository}/mirror
Acceso: Permiso de repositorio: repository.read; claves de archivo: read · Reintento: Se puede repetir (lectura)
Para un repositorio que este servidor mantiene como espejo de otro Arkvory (configurado en ARKVORY_MIRRORS_FILE), devuelve el origen, el mode (mirror, una copia de solo lectura, o import, que toma las versiones con las stages indicadas), la phase (pending, seeding, following), el cursor aplicado y el head del origen, caughtUp, la última comprobación, sincronización y error, y los artefactos y bytes copiados. Las secuencias son números del diario del origen, por lo que su diferencia no es un recuento de cambios. Un repositorio ordinario responde 404.
Parámetros
| Nombre | Ubicación | Tipo | Obligatorio | Reglas |
|---|---|---|---|---|
repository | ruta | string | sí | coincide con ^[a-z0-9][a-z0-9_-]{0,63}$ |
Respuesta 200
| Campo | Tipo | Obligatorio | Reglas |
|---|---|---|---|
repository | string | sí | — |
upstream | string (uri) | sí | — |
sourceRepository | string | sí | — |
mode | string | sí | uno de mirror, import |
stages | array de string | sí | hasta 16 elementos |
phase | string | sí | uno de pending, seeding, following |
seedStep | string | sí | uno de artifacts, packages, assets; puede ser null |
cursor | string | sí | un número entero en dígitos decimales, enviado como cadena |
head | string | sí | un número entero en dígitos decimales, enviado como cadena; puede ser null |
caughtUp | boolean | sí | puede ser null |
checkedAt | string (date-time) | sí | puede ser null |
syncedAt | string (date-time) | sí | puede ser null |
errorCode | string | sí | puede ser null |
errorAt | string (date-time) | sí | puede ser null |
copiedArtifacts | integer | sí | como mínimo 0 |
copiedBytes | string | sí | un número entero en dígitos decimales, enviado como cadena |
conflicts | object | sí | — |
conflicts.count | integer | sí | como mínimo 0 |
conflicts.oldestAt | string (date-time) | sí | puede ser null |
conflicts.sample | array de object | sí | hasta 10 elementos |
conflicts.sample[].artifactId | string (uuid) | sí | — |
conflicts.sample[].action | string | sí | — |
conflicts.sample[].detail | string | sí | puede ser null |
conflicts.sample[].code | string | sí | — |
conflicts.sample[].firstAt | string (date-time) | sí | — |
conflicts.sample[].lastAt | string (date-time) | sí | — |
conflicts.sample[].attempts | integer | sí | como mínimo 1 |
Respuestas: 200, 400, 401, 403, 404, 409, 422, 503, 507
Ejemplo
curl -X GET "$ARKVORY_URL/api/v1/repositories/$REPOSITORY/mirror" \
-H "Authorization: Bearer $ARKVORY_TOKEN"