Miroirs
L’état d’un dépôt miroir et le flux que suit un miroir.
Opérations de ce groupe, avec leur règle d’accès, leur règle de nouvelle tentative, leurs paramètres et leurs réponses. Chaque requête porte une clé : Authorization: Bearer <clé> (voir « Authentification »).
Opérations
Lister les miroirs et imports de cette installation
GET HEAD /api/v1/mirrors
Accès: Dépôts visibles par l’appelant (repository.read) · Nouvelle tentative: Peut être répétée sans risque (lecture)
Pour chaque dépôt que ce serveur reflète ou importe depuis un autre Arkvory et que l’appelant peut lire, renvoie le même état que le statut de miroir d’un dépôt : source, mode, phase, cursor et head, caughtUp, la dernière vérification, synchronisation et erreur, ainsi que les artefacts et octets copiés. Les dépôts que l’appelant ne peut pas lire sont omis ; une installation sans miroir répond par une liste vide.
Réponse 200
| Champ | Type | Obligatoire | Règles |
|---|---|---|---|
items | tableau de object | oui | jusqu’à 64 éléments |
items[].repository | string | oui | — |
items[].upstream | string (uri) | oui | — |
items[].sourceRepository | string | oui | — |
items[].mode | string | oui | une valeur parmi mirror, import |
items[].stages | tableau de string | oui | jusqu’à 16 éléments |
items[].phase | string | oui | une valeur parmi pending, seeding, following |
items[].seedStep | string | oui | une valeur parmi artifacts, packages, assets; peut être null |
items[].cursor | string | oui | un nombre entier en chiffres décimaux, transmis sous forme de chaîne |
items[].head | string | oui | un nombre entier en chiffres décimaux, transmis sous forme de chaîne; peut être null |
items[].caughtUp | boolean | oui | peut être null |
items[].checkedAt | string (date-time) | oui | peut être null |
items[].syncedAt | string (date-time) | oui | peut être null |
items[].errorCode | string | oui | peut être null |
items[].errorAt | string (date-time) | oui | peut être null |
items[].copiedArtifacts | integer | oui | au moins 0 |
items[].copiedBytes | string | oui | un nombre entier en chiffres décimaux, transmis sous forme de chaîne |
items[].conflicts | object | oui | — |
items[].conflicts.count | integer | oui | au moins 0 |
items[].conflicts.oldestAt | string (date-time) | oui | peut être null |
items[].conflicts.sample | tableau de object | oui | jusqu’à 10 éléments |
Réponses: 200, 400, 401, 403, 404, 409, 422, 503, 507
Exemple
curl -X GET "$ARKVORY_URL/api/v1/mirrors" \
-H "Authorization: Bearer $ARKVORY_TOKEN"Obtenir l’état de synchronisation d’un miroir
GET HEAD /api/v1/repositories/{repository}/mirror
Accès: Autorisation sur le dépôt : repository.read; clés de fichier : read · Nouvelle tentative: Peut être répétée sans risque (lecture)
Pour un dépôt que ce serveur met en miroir depuis un autre Arkvory (configuré dans ARKVORY_MIRRORS_FILE), renvoie la source, le mode (mirror, une copie en lecture seule, ou import, qui reprend les versions ayant les stages listées), la phase (pending, seeding, following), le cursor appliqué et le head de la source, caughtUp, la dernière vérification, la dernière synchronisation et la dernière erreur, ainsi que les artefacts et les octets copiés. Les séquences sont les numéros de journal de la source : leur différence n’est donc pas un nombre de modifications. Un dépôt ordinaire répond 404.
Paramètres
| Nom | Emplacement | Type | Obligatoire | Règles |
|---|---|---|---|---|
repository | chemin | string | oui | correspond à ^[a-z0-9][a-z0-9_-]{0,63}$ |
Réponse 200
| Champ | Type | Obligatoire | Règles |
|---|---|---|---|
repository | string | oui | — |
upstream | string (uri) | oui | — |
sourceRepository | string | oui | — |
mode | string | oui | une valeur parmi mirror, import |
stages | tableau de string | oui | jusqu’à 16 éléments |
phase | string | oui | une valeur parmi pending, seeding, following |
seedStep | string | oui | une valeur parmi artifacts, packages, assets; peut être null |
cursor | string | oui | un nombre entier en chiffres décimaux, transmis sous forme de chaîne |
head | string | oui | un nombre entier en chiffres décimaux, transmis sous forme de chaîne; peut être null |
caughtUp | boolean | oui | peut être null |
checkedAt | string (date-time) | oui | peut être null |
syncedAt | string (date-time) | oui | peut être null |
errorCode | string | oui | peut être null |
errorAt | string (date-time) | oui | peut être null |
copiedArtifacts | integer | oui | au moins 0 |
copiedBytes | string | oui | un nombre entier en chiffres décimaux, transmis sous forme de chaîne |
conflicts | object | oui | — |
conflicts.count | integer | oui | au moins 0 |
conflicts.oldestAt | string (date-time) | oui | peut être null |
conflicts.sample | tableau de object | oui | jusqu’à 10 éléments |
conflicts.sample[].artifactId | string (uuid) | oui | — |
conflicts.sample[].action | string | oui | — |
conflicts.sample[].detail | string | oui | peut être null |
conflicts.sample[].code | string | oui | — |
conflicts.sample[].firstAt | string (date-time) | oui | — |
conflicts.sample[].lastAt | string (date-time) | oui | — |
conflicts.sample[].attempts | integer | oui | au moins 1 |
Réponses: 200, 400, 401, 403, 404, 409, 422, 503, 507
Exemple
curl -X GET "$ARKVORY_URL/api/v1/repositories/$REPOSITORY/mirror" \
-H "Authorization: Bearer $ARKVORY_TOKEN"