Aller au contenu

Système et état de santé ​

Vivacité, disponibilité, métriques, document OpenAPI et capacités du serveur.

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 ​

Vérifier la disponibilité détaillée ​

GET HEAD /health/ready

Accès: Toute clé ou session valide · Nouvelle tentative: Peut être répétée sans risque (lecture)

Répond ready lorsque la base de données et le stockage répondent, avec le role de ce nœud (api ou reader), l’indication qu’il accepte les écritures à l’instant (writable vaut false sur une passerelle de lecture et tant que le disque conserve sa réserve d’espace libre), l’emplacement de téléchargement partagé d’une passerelle de lecture ainsi que les compteurs agrégés d’admission et de bande passante des téléversements et des téléchargements. Pendant que le serveur termine ses requêtes en cours avant de s’arrêter, ou lorsqu’une dépendance est indisponible, il répond 503 avec Retry-After. La requête ne compte pas dans le budget de requêtes ; pour un répartiteur de charge sans clé, utilisez getReadinessStatus.

Réponse 200

ChampTypeObligatoireRègles
rolestringouiune valeur parmi api, reader
sharedDownloadsobjectouipeut être null
sharedDownloads.slotintegerouiau moins 0
sharedDownloads.slotsintegerouiau moins 0
sharedDownloads.activebooleanoui—
sharedDownloads.leaseSecondsintegerouiau moins 0
statusstringouiune valeur parmi ready
writablebooleanoui—
replicationobjectnonpeut être null
replication.copiesintegeroui0–16
replication.requiredintegeroui1–16
replication.singleCopyUntilstring (date-time)ouipeut être null
replication.nodestringnonjusqu’à 63 caractères
replication.profilestringnonune valeur parmi ha-2, ha-3
replication.peerstableau de objectnonjusqu’à 16 éléments
replication.peers[].namestringouijusqu’à 63 caractères
replication.peers[].connectedbooleanoui—
replication.peers[].diskstringouijusqu’à 24 caractères
replication.peers[].completebooleanoui—
replication.peers[].witnessbooleanoui—
transfersobjectoui—
transfers.uploadsobjectoui—
transfers.uploads.admissionobjectoui—
transfers.uploads.bandwidthobjectoui—
transfers.uploads.sessionsobjectnon—
transfers.downloadsobjectoui—
transfers.downloads.admissionobjectoui—
transfers.downloads.bandwidthobjectoui—
transfers.downloads.sessionsobjectnon—

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

Exemple

bash
curl -X GET "$ARKVORY_URL/health/ready" \
  -H "Authorization: Bearer $ARKVORY_TOKEN"

Obtenir les capacités et les limites du serveur ​

GET HEAD /api/v1/capabilities

Accès: Toute clé ou session valide · Nouvelle tentative: Peut être répétée sans risque (lecture)

Renvoie les versions de l’API, le rôle de la passerelle, les indicateurs de fonctionnalités (par exemple selfRegistration ou mirrorFeed) et les limites auxquelles un client s’adapte : le plus grand objet (maxObjectBytes, une chaîne décimale), le plus petit et le plus grand segment multipart, le plus grand nombre de parties et la plus grande taille de page. À lire une fois au démarrage d’un client ; elle ne liste aucune ressource.

Réponse 200

ChampTypeObligatoireRègles
apiVersionstableau de stringoui—
gatewayRolestringouiune valeur parmi api, reader
featuresdictionnaire de booleanoui—
limitsobjectoui—
limits.maxObjectBytesstringnonun nombre entier en chiffres décimaux, transmis sous forme de chaîne
limits.partBytesintegernonPlus petit segment multipart.
limits.maxPartBytesintegernon—
limits.maxPartsintegernon—
limits.maxPageSizeintegernon—

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

Exemple

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

Vérifier la disponibilité pour un répartiteur de charge ​

GET HEAD /health/status

Accès: Tout le monde, sans clé · Nouvelle tentative: Peut être répétée sans risque (lecture)

Ne nécessite aucune clé et ne renvoie aucun détail : 200 avec {"status":"ready"}, ou 503 avec unavailable ou draining et Retry-After. La vérification des dépendances est partagée et mise en cache pendant une seconde ; des sondes fréquentes ne chargent donc pas la base de données, et la sonde ne compte pas dans le budget de requêtes.

Réponse 200

ChampTypeObligatoireRègles
statusstringouiune valeur parmi ready, unavailable, draining

Réponses: 200, 400, 403, 503

Exemple

bash
curl -X GET "$ARKVORY_URL/health/status"

Vérifier que le processus est actif ​

GET HEAD /health/live

Accès: Tout le monde, sans clé · Nouvelle tentative: Peut être répétée sans risque (lecture)

Renvoie 200 avec {"status":"ok"} tant que le processus répond en HTTP. Cette vérification ne contrôle aucune dépendance : utilisez-la pour décider d’un redémarrage, et getReadinessStatus pour décider d’acheminer le trafic.

Réponse 200

ChampTypeObligatoireRègles
statusstringouiune valeur parmi ok

Réponses: 200, 400, 403, 503

Exemple

bash
curl -X GET "$ARKVORY_URL/health/live"

Obtenir le document OpenAPI ​

GET HEAD /api/v1/openapi.json

Accès: Toute clé ou session valide · Nouvelle tentative: Peut être répétée sans risque (lecture)

Renvoie le document OpenAPI 3.0 de ce déploiement, avec les extensions x-arkvory-* qui décrivent les règles d’accès, de nouvelle tentative et de passerelle de chaque opération. surface (discovery, identity, catalog, transfers, administration ou operations) ne renvoie que ce domaine ; un paramètre de requête inconnu ou répété donne une erreur 400. Le document est identique pour tous les appelants et n’accorde rien : pour savoir ce que ce justificatif d’identité peut appeler, utilisez listVisibleOperations.

Paramètres

NomEmplacementTypeObligatoireRègles
surfacerequêtestringnonune valeur parmi discovery, identity, catalog, transfers, administration, operations; Documentation view only; not filtered by caller permissions.

Réponse 200

ChampTypeObligatoireRègles
openapistringouiune valeur parmi 3.0.3
infoobjectoui—
pathsobjectoui—

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

Exemple

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

Obtenir les métriques Prometheus ​

GET HEAD /health/metrics

Accès: Toute clé ou session valide · Nouvelle tentative: Peut être répétée sans risque (lecture)

Renvoie les métriques du processus au format texte de Prometheus (text/plain; version=0.0.4) pour un outil de collecte. Les compteurs et les histogrammes appartiennent à ce processus et repartent de zéro après un redémarrage (voir arkvory_process_start_time_seconds) ; les étiquettes se limitent au modèle de route, à la méthode, à la classe de statut et au sens du transfert, et ne nomment jamais un artefact, une clé ni un compte. La collecte ne compte pas dans le budget de requêtes.

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

Exemple

bash
curl -X GET "$ARKVORY_URL/health/metrics" \
  -H "Authorization: Bearer $ARKVORY_TOKEN" \
  -o file

Lister les opérations que ce justificatif peut appeler ​

GET HEAD /api/v1/operations

Accès: Toute clé ou session valide · Nouvelle tentative: Peut être répétée sans risque (lecture)

Liste les opérations de cette passerelle que le justificatif peut appeler, triées par operationId, chacune avec sa surface, sa règle de nouvelle tentative, les actions requises et les conditions vérifiées seulement au moment de l’appel (comme resource-state ou upload-owner). repository ajoute les opérations de ce dépôt (un dépôt inconnu ou inaccessible au justificatif donne une erreur 404), surface restreint la liste à un domaine ; les pages contiennent limit éléments (1–100, 50 par défaut) ; poursuivez avec after défini sur next. La réponse est indicative : construisez-en des menus, mais chaque requête réelle est de nouveau autorisée, et une passerelle de lecture ne liste aucune méthode de modification.

Paramètres

NomEmplacementTypeObligatoireRègles
repositoryrequêtestringnoncorrespond à ^[a-z0-9][a-z0-9_-]{0,63}$
surfacerequêtestringnonune valeur parmi discovery, identity, catalog, transfers, administration, operations
afterrequêtestringnoncorrespond à ^[A-Za-z][A-Za-z0-9]{0,95}$
limitrequêteintegernon1–100; par défaut 50

Réponse 200

ChampTypeObligatoireRègles
apiVersionstringouiune valeur parmi v1
documentVersionstringouicorrespond à ^\d+\.\d+\.\d+$
gatewayRolestringouiune valeur parmi api, reader
repositorystringouicorrespond à ^[a-z0-9][a-z0-9_-]{0,63}$; peut être null
advisorybooleanouiune valeur parmi true
itemstableau de objectouijusqu’à 100 éléments
items[].operationIdstringouicorrespond à ^[A-Za-z][A-Za-z0-9]{0,95}$
items[].methodstringouiune valeur parmi get, head, post, put, patch, delete
items[].pathstringouicorrespond à ^/; jusqu’à 512 caractères
items[].summarystringouijusqu’à 1024 caractères
items[].surfacestringouiune valeur parmi discovery, identity, catalog, transfers, administration, operations
items[].visibilitystringouiune valeur parmi public, authenticated, self, repository, owned-resource, delegated, bootstrap, administrator
items[].retrystringouiune valeur parmi read, never-automatic, idempotent, idempotency-key, compare-and-swap, reconcile-upload, reconcile-job
items[].requiredActionstableau de stringouijusqu’à 33 éléments; aucun élément répété; chaque élément : une valeur parmi repository.read, storage.read, storage.manage, diagnostics.read, artifact.read, artifact.list, artifact.delete, artifact.promote, content.read, upload.create, upload.read, upload.write, upload.complete, upload.cancel, job.read, package.read, package.publish, asset.read, asset.write, asset.restore, annotation.read, annotation.write, reference.write, audit.read, service-account.read, service-account.manage, policy.read, policy.manage, credential.read, credential.manage, service-audit.read, backup.read, backup.manage
items[].conditionstableau de stringouijusqu’à 6 éléments; aucun élément répété; chaque élément : une valeur parmi resource-state, upload-owner, job-owner, reference-owner, delegation-target-and-ceiling, own-key
nextstringouicorrespond à ^[A-Za-z][A-Za-z0-9]{0,95}$; peut être null

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

Exemple

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

Arkvory · ProAnimaStudio