Aller au contenu

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

ChampTypeObligatoireRègles
itemstableau de objectouijusqu’à 64 éléments
items[].repositorystringoui—
items[].upstreamstring (uri)oui—
items[].sourceRepositorystringoui—
items[].modestringouiune valeur parmi mirror, import
items[].stagestableau de stringouijusqu’à 16 éléments
items[].phasestringouiune valeur parmi pending, seeding, following
items[].seedStepstringouiune valeur parmi artifacts, packages, assets; peut être null
items[].cursorstringouiun nombre entier en chiffres décimaux, transmis sous forme de chaîne
items[].headstringouiun nombre entier en chiffres décimaux, transmis sous forme de chaîne; peut être null
items[].caughtUpbooleanouipeut être null
items[].checkedAtstring (date-time)ouipeut être null
items[].syncedAtstring (date-time)ouipeut être null
items[].errorCodestringouipeut être null
items[].errorAtstring (date-time)ouipeut être null
items[].copiedArtifactsintegerouiau moins 0
items[].copiedBytesstringouiun nombre entier en chiffres décimaux, transmis sous forme de chaîne
items[].conflictsobjectoui—
items[].conflicts.countintegerouiau moins 0
items[].conflicts.oldestAtstring (date-time)ouipeut être null
items[].conflicts.sampletableau de objectouijusqu’à 10 éléments

Réponses: 200, 400, 401, 403, 404, 409, 422, 503, 507

Exemple

bash
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

NomEmplacementTypeObligatoireRègles
repositorycheminstringouicorrespond à ^[a-z0-9][a-z0-9_-]{0,63}$

Réponse 200

ChampTypeObligatoireRègles
repositorystringoui—
upstreamstring (uri)oui—
sourceRepositorystringoui—
modestringouiune valeur parmi mirror, import
stagestableau de stringouijusqu’à 16 éléments
phasestringouiune valeur parmi pending, seeding, following
seedStepstringouiune valeur parmi artifacts, packages, assets; peut être null
cursorstringouiun nombre entier en chiffres décimaux, transmis sous forme de chaîne
headstringouiun nombre entier en chiffres décimaux, transmis sous forme de chaîne; peut être null
caughtUpbooleanouipeut être null
checkedAtstring (date-time)ouipeut être null
syncedAtstring (date-time)ouipeut être null
errorCodestringouipeut être null
errorAtstring (date-time)ouipeut être null
copiedArtifactsintegerouiau moins 0
copiedBytesstringouiun nombre entier en chiffres décimaux, transmis sous forme de chaîne
conflictsobjectoui—
conflicts.countintegerouiau moins 0
conflicts.oldestAtstring (date-time)ouipeut être null
conflicts.sampletableau de objectouijusqu’à 10 éléments
conflicts.sample[].artifactIdstring (uuid)oui—
conflicts.sample[].actionstringoui—
conflicts.sample[].detailstringouipeut être null
conflicts.sample[].codestringoui—
conflicts.sample[].firstAtstring (date-time)oui—
conflicts.sample[].lastAtstring (date-time)oui—
conflicts.sample[].attemptsintegerouiau moins 1

Réponses: 200, 400, 401, 403, 404, 409, 422, 503, 507

Exemple

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

Arkvory · ProAnimaStudio