Politiques de stockage et rétention
Quotas, utilisation, politiques de rétention, leur aperçu et leur exécution, nettoyage et suppression d’artefacts.
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 si un artefact peut être supprimé
GET HEAD /api/v1/repositories/{repository}/artifacts/{id}/deletion
Accès: Autorisation sur le dépôt : artifact.delete · Nouvelle tentative: Peut être répétée sans risque (lecture)
Renvoie le nom de l’artefact, sa taille, sa date de publication, son annotationRevision actuel et les blockers qui l’empêcheraient d’être supprimé : reference (une référence externe, ou l’utilisation par une image de conteneur, Git LFS ou npm), asset_history (une révision de chemin de fichier actuelle ou antérieure), attachment_history ou promotion_stage. Rien ne change ; passez la révision à deleteArtifact comme expectedAnnotationRevision.
Paramètres
| Nom | Emplacement | Type | Obligatoire | Règles |
|---|---|---|---|---|
repository | chemin | string | oui | correspond à ^[a-z0-9][a-z0-9_-]{0,63}$ |
id | chemin | string (uuid) | oui | — |
Réponse 200
| Champ | Type | Obligatoire | Règles |
|---|---|---|---|
id | string (uuid) | oui | — |
name | string | oui | 1–240 caractères |
size | string | oui | un nombre entier en chiffres décimaux, transmis sous forme de chaîne |
publishedAt | string (date-time) | oui | — |
annotationRevision | integer | oui | 0–2147483647 |
blockers | tableau de string | oui | jusqu’à 4 éléments; aucun élément répété; chaque élément : une valeur parmi reference, asset_history, attachment_history, protected_label, promotion_stage |
Réponses: 200, 400, 401, 403, 404, 409, 422, 503, 507
Exemple
curl -X GET "$ARKVORY_URL/api/v1/repositories/$REPOSITORY/artifacts/$ID/deletion" \
-H "Authorization: Bearer $ARKVORY_TOKEN"Prévisualiser les candidats à la rétention
POST /api/v1/repositories/{repository}/retention/preview
Accès: Autorisation sur le dépôt : artifact.delete · Nouvelle tentative: Peut être répétée sans risque (lecture)
Liste les artefacts publiés avant criteria.publishedBefore (une heure UTC passée avec millisecondes), triés par ID, chacun avec sa révision d’annotations et ses blocages, protected_label désignant l’une des criteria.protectedLabels (une liste explicite de 32 au plus). Les pages contiennent limit éléments (1–100, 50 par défaut) ; poursuivez avec after défini sur next. Rien n’est réservé : choisissez les éléments à supprimer et passez-les avec leurs révisions à applyRetention, qui les vérifie de nouveau.
Paramètres
| Nom | Emplacement | Type | Obligatoire | Règles |
|---|---|---|---|---|
repository | chemin | string | oui | correspond à ^[a-z0-9][a-z0-9_-]{0,63}$ |
Corps de la requête (application/json)
| Champ | Type | Obligatoire | Règles |
|---|---|---|---|
criteria | object | oui | — |
criteria.publishedBefore | string (date-time) | oui | correspond à ^\d{4}-\d\d-\d\dT\d\d:\d\d:\d\d\.\d{3}Z$ |
criteria.protectedLabels | tableau de string | oui | jusqu’à 32 éléments; aucun élément répété; chaque élément : 1–64 caractères |
limit | integer | non | 1–100 |
after | string (uuid) | non | — |
Réponse 200
| Champ | Type | Obligatoire | Règles |
|---|---|---|---|
items | tableau de object | oui | jusqu’à 100 éléments |
items[].id | string (uuid) | oui | — |
items[].name | string | oui | 1–240 caractères |
items[].size | string | oui | un nombre entier en chiffres décimaux, transmis sous forme de chaîne |
items[].publishedAt | string (date-time) | oui | — |
items[].annotationRevision | integer | oui | 0–2147483647 |
items[].blockers | tableau de string | oui | jusqu’à 4 éléments; aucun élément répété; chaque élément : une valeur parmi reference, asset_history, attachment_history, protected_label, promotion_stage |
next | string (uuid) | oui | peut être null |
Réponses: 200, 400, 401, 403, 404, 405, 409, 413, 415, 422, 503, 507
Exemple
curl -X POST "$ARKVORY_URL/api/v1/repositories/$REPOSITORY/retention/preview" \
-H "Authorization: Bearer $ARKVORY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"criteria":{"publishedBefore":"2026-01-01T00:00:00.000Z","protectedLabels":[]}}'Supprimer les candidats à la rétention sélectionnés
POST /api/v1/repositories/{repository}/retention/apply
Accès: Autorisation sur le dépôt : artifact.delete · Nouvelle tentative: Peut être répétée sans risque : la même requête a le même effet
Revérifie 1–100 artefacts choisis dans previewRetention (items avec id et expectedAnnotationRevision) par rapport aux mêmes criteria et supprime logiquement ceux qui sont éligibles, en une seule transaction. Chaque élément reçoit un outcome : deleted, already_deleted, changed (les annotations ont changé), not_eligible (publié trop tard), protected avec ses blocages, ou not_found. Les octets restent réservés jusqu’à ce que le nettoyage physique en ligne du dépôt les récupère.
Paramètres
| Nom | Emplacement | Type | Obligatoire | Règles |
|---|---|---|---|---|
repository | chemin | string | oui | correspond à ^[a-z0-9][a-z0-9_-]{0,63}$ |
Corps de la requête (application/json)
| Champ | Type | Obligatoire | Règles |
|---|---|---|---|
criteria | object | oui | — |
criteria.publishedBefore | string (date-time) | oui | correspond à ^\d{4}-\d\d-\d\dT\d\d:\d\d:\d\d\.\d{3}Z$ |
criteria.protectedLabels | tableau de string | oui | jusqu’à 32 éléments; aucun élément répété; chaque élément : 1–64 caractères |
items | tableau de object | oui | 1–100 éléments |
items[].id | string (uuid) | oui | — |
items[].expectedAnnotationRevision | integer | oui | 0–2147483647 |
Réponse 200
| Champ | Type | Obligatoire | Règles |
|---|---|---|---|
items | tableau de object | oui | 1–100 éléments |
items[].id | string (uuid) | oui | — |
items[].outcome | string | oui | une valeur parmi deleted, already_deleted, protected, changed, not_eligible, not_found |
items[].blockers | tableau de string | oui | jusqu’à 4 éléments; aucun élément répété; chaque élément : une valeur parmi reference, asset_history, attachment_history, protected_label, promotion_stage |
Réponses: 200, 400, 401, 403, 404, 405, 409, 413, 415, 422, 503, 507
Exemple
curl -X POST "$ARKVORY_URL/api/v1/repositories/$REPOSITORY/retention/apply" \
-H "Authorization: Bearer $ARKVORY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"criteria":{"publishedBefore":"2026-01-01T00:00:00.000Z","protectedLabels":[]},"items":[{"id":"00000000-0000-4000-8000-000000000000","expectedAnnotationRevision":0}]}'Obtenir la politique de stockage
GET HEAD /api/v1/repositories/{repository}/storage/policy
Accès: Autorisation sur le dépôt : storage.read · Nouvelle tentative: Peut être répétée sans risque (lecture)
Renvoie les paramètres de nettoyage automatique et de quota du dépôt avec leur revision, la prochaine exécution planifiée et la dernière, le nombre de builds supprimés par la dernière exécution et son erreur. Par défaut, la politique est désactivée et le dépôt n’a pas de quota (la capacité globale du serveur s’applique toujours).
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 |
|---|---|---|---|
revision | integer | oui | 0–2147483647 |
policy | object | oui | — |
policy.enabled | boolean | oui | — |
policy.grouping | string | oui | une valeur parmi package-channel, package, repository |
policy.keepLast | integer | oui | 1–100000 |
policy.channels | tableau de object | oui | jusqu’à 32 éléments |
policy.channels[].label | string | oui | 1–64 caractères |
policy.channels[].keepLast | integer | oui | 1–100000 |
policy.protectedLabels | tableau de string | oui | jusqu’à 32 éléments; aucun élément répété; chaque élément : 1–64 caractères |
policy.minAgeHours | integer | oui | 0–87600 |
policy.intervalMinutes | integer | oui | 1–10080 |
policy.quotaBytes | string | oui | un nombre entier en chiffres décimaux, transmis sous forme de chaîne; peut être null |
policy.warningPercent | integer | oui | 1–98 |
policy.criticalPercent | integer | oui | 2–99 |
nextRunAt | string (date-time) | oui | peut être null |
lastRunAt | string (date-time) | oui | peut être null |
lastDeleted | integer | oui | 0–100 |
lastError | string | oui | jusqu’à 64 caractères; peut être null |
Réponses: 200, 400, 401, 403, 404, 409, 422, 503, 507
Exemple
curl -X GET "$ARKVORY_URL/api/v1/repositories/$REPOSITORY/storage/policy" \
-H "Authorization: Bearer $ARKVORY_TOKEN"Remplacer la politique de stockage
PUT /api/v1/repositories/{repository}/storage/policy
Accès: Autorisation sur le dépôt : storage.manage · Nouvelle tentative: Répéter uniquement avec la révision attendue (compare-and-swap)
Remplace toute la politique : conserver les keepLast derniers builds UPack enregistrés par paquet, par étiquette de canal (channels) ou par dépôt (grouping), ne jamais supprimer les protectedLabels ni les builds plus récents que minAgeHours, s’exécuter toutes les intervalMinutes, et limiter le dépôt avec quotaBytes (une chaîne décimale, null pour aucune limite) et ses seuils d’avertissement. expectedRevision doit être la révision actuelle, sinon 409 revision_mismatch. L’activer exige aussi artifact.delete et lie la planification à la clé gérée de l’appelant : une fois cette clé révoquée, expirée ou privée de ces autorisations, la suppression planifiée s’arrête jusqu’à ce que la politique soit enregistrée avec une autre clé. Les fichiers ordinaires comptent dans le quota mais ne sont jamais supprimés par lui.
Paramètres
| Nom | Emplacement | Type | Obligatoire | Règles |
|---|---|---|---|---|
repository | chemin | string | oui | correspond à ^[a-z0-9][a-z0-9_-]{0,63}$ |
Corps de la requête (application/json)
| Champ | Type | Obligatoire | Règles |
|---|---|---|---|
expectedRevision | integer | oui | 0–2147483647 |
policy | object | oui | — |
policy.enabled | boolean | oui | — |
policy.grouping | string | oui | une valeur parmi package-channel, package, repository |
policy.keepLast | integer | oui | 1–100000 |
policy.channels | tableau de object | oui | jusqu’à 32 éléments |
policy.channels[].label | string | oui | 1–64 caractères |
policy.channels[].keepLast | integer | oui | 1–100000 |
policy.protectedLabels | tableau de string | oui | jusqu’à 32 éléments; aucun élément répété; chaque élément : 1–64 caractères |
policy.minAgeHours | integer | oui | 0–87600 |
policy.intervalMinutes | integer | oui | 1–10080 |
policy.quotaBytes | string | oui | un nombre entier en chiffres décimaux, transmis sous forme de chaîne; peut être null |
policy.warningPercent | integer | oui | 1–98 |
policy.criticalPercent | integer | oui | 2–99 |
Réponse 200
| Champ | Type | Obligatoire | Règles |
|---|---|---|---|
revision | integer | oui | 0–2147483647 |
policy | object | oui | — |
policy.enabled | boolean | oui | — |
policy.grouping | string | oui | une valeur parmi package-channel, package, repository |
policy.keepLast | integer | oui | 1–100000 |
policy.channels | tableau de object | oui | jusqu’à 32 éléments |
policy.channels[].label | string | oui | 1–64 caractères |
policy.channels[].keepLast | integer | oui | 1–100000 |
policy.protectedLabels | tableau de string | oui | jusqu’à 32 éléments; aucun élément répété; chaque élément : 1–64 caractères |
policy.minAgeHours | integer | oui | 0–87600 |
policy.intervalMinutes | integer | oui | 1–10080 |
policy.quotaBytes | string | oui | un nombre entier en chiffres décimaux, transmis sous forme de chaîne; peut être null |
policy.warningPercent | integer | oui | 1–98 |
policy.criticalPercent | integer | oui | 2–99 |
nextRunAt | string (date-time) | oui | peut être null |
lastRunAt | string (date-time) | oui | peut être null |
lastDeleted | integer | oui | 0–100 |
lastError | string | oui | jusqu’à 64 caractères; peut être null |
Réponses: 200, 400, 401, 403, 404, 405, 409, 413, 415, 422, 503, 507
Exemple
curl -X PUT "$ARKVORY_URL/api/v1/repositories/$REPOSITORY/storage/policy" \
-H "Authorization: Bearer $ARKVORY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"expectedRevision":0,"policy":{"enabled":false,"grouping":"package-channel","keepLast":1,"channels":[],"protectedLabels":[],"minAgeHours":0,"intervalMinutes":1,"quotaBytes":"1024","warningPercent":1,"criticalPercent":2}}'Obtenir l’utilisation du stockage d’un dépôt
GET HEAD /api/v1/repositories/{repository}/storage/usage
Accès: Autorisation sur le dépôt : storage.read · Nouvelle tentative: Peut être répétée sans risque (lecture)
Renvoie les octets réservés par le dépôt sous forme de chaînes décimales : publiés, téléversements en attente et retirés (supprimés ou annulés, pas encore récupérés), leur somme reservedBytes, le quota et un state (unlimited, normal, warning, critical, exceeded). Il s’agit de la réservation logique comptée dans le quota, et non de l’espace utilisé sur le disque.
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 |
|---|---|---|---|
publishedBytes | string | oui | un nombre entier en chiffres décimaux, transmis sous forme de chaîne |
pendingBytes | string | oui | un nombre entier en chiffres décimaux, transmis sous forme de chaîne |
retiredBytes | string | oui | un nombre entier en chiffres décimaux, transmis sous forme de chaîne |
reservedBytes | string | oui | un nombre entier en chiffres décimaux, transmis sous forme de chaîne |
quotaBytes | string | oui | un nombre entier en chiffres décimaux, transmis sous forme de chaîne; peut être null |
state | string | oui | une valeur parmi unlimited, normal, warning, critical, exceeded |
Réponses: 200, 400, 401, 403, 404, 409, 422, 503, 507
Exemple
curl -X GET "$ARKVORY_URL/api/v1/repositories/$REPOSITORY/storage/usage" \
-H "Authorization: Bearer $ARKVORY_TOKEN"Prévisualiser ce que la politique de stockage supprimerait
GET HEAD /api/v1/repositories/{repository}/storage/preview
Accès: Autorisation sur le dépôt : artifact.delete · Nouvelle tentative: Peut être répétée sans risque (lecture)
Renvoie jusqu’à 100 builds enregistrés que la politique enregistrée supprimerait maintenant (même si elle est désactivée), avec la revision de la politique et hasMore ; les builds conservés à cause de références, de chemins de fichiers, de pièces jointes, d’étiquettes protégées ou de leur âge sont omis. Rien n’est réservé : une exécution reclasse les builds.
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 |
|---|---|---|---|
revision | integer | oui | 0–2147483647 |
items | tableau de object | oui | jusqu’à 100 éléments |
items[].id | string (uuid) | oui | — |
items[].name | string | oui | jusqu’à 240 caractères |
items[].size | string | oui | un nombre entier en chiffres décimaux, transmis sous forme de chaîne |
items[].publishedAt | string (date-time) | oui | — |
items[].annotationRevision | integer | oui | 0–2147483647 |
items[].blockers | tableau de string | oui | jusqu’à 0 éléments |
hasMore | boolean | oui | — |
Réponses: 200, 400, 401, 403, 404, 409, 422, 503, 507
Exemple
curl -X GET "$ARKVORY_URL/api/v1/repositories/$REPOSITORY/storage/preview" \
-H "Authorization: Bearer $ARKVORY_TOKEN"Exécuter la politique de stockage maintenant
POST /api/v1/repositories/{repository}/storage/run
Accès: Autorisation sur le dépôt : storage.manage, artifact.delete · Nouvelle tentative: Ne pas répéter automatiquement
Exécute aussitôt un lot de la politique activée au lieu d’attendre la planification : elle reclasse les builds, vérifie les autorisations et les dépendances, et supprime logiquement jusqu’à 100 builds, en renvoyant un résultat pour chacun. expectedRevision doit être la révision actuelle de la politique et la politique doit être activée, sinon 409. Les octets sont récupérés plus tard par le nettoyage physique en ligne du dépôt, qui a sa propre politique (setCleanup).
Paramètres
| Nom | Emplacement | Type | Obligatoire | Règles |
|---|---|---|---|---|
repository | chemin | string | oui | correspond à ^[a-z0-9][a-z0-9_-]{0,63}$ |
Corps de la requête (application/json)
| Champ | Type | Obligatoire | Règles |
|---|---|---|---|
expectedRevision | integer | oui | 0–2147483647 |
Réponse 200
| Champ | Type | Obligatoire | Règles |
|---|---|---|---|
items | tableau de object | oui | jusqu’à 100 éléments |
items[].id | string (uuid) | oui | — |
items[].outcome | string | oui | une valeur parmi deleted, already_deleted, protected, changed, not_eligible, not_found |
items[].blockers | tableau de string | oui | jusqu’à 4 éléments; chaque élément : une valeur parmi reference, asset_history, attachment_history, protected_label, promotion_stage |
Réponses: 200, 400, 401, 403, 404, 405, 409, 413, 415, 422, 503, 507
Exemple
curl -X POST "$ARKVORY_URL/api/v1/repositories/$REPOSITORY/storage/run" \
-H "Authorization: Bearer $ARKVORY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"expectedRevision":0}'Lister les événements de stockage d’un dépôt
GET HEAD /api/v1/repositories/{repository}/storage/events
Accès: Autorisation sur le dépôt : diagnostics.read · Nouvelle tentative: Peut être répétée sans risque (lecture)
Renvoie jusqu’à 100 événements de diagnostic des politiques de stockage, des quotas, de la rétention et du nettoyage après la séquence after (0 par défaut), du plus ancien au plus récent, chacun avec un niveau, un code et quelques détails ; level (info, warning, error) les filtre, poursuivez avec after défini sur next. Seuls les 1000 événements les plus récents par dépôt et 20 000 au total sont conservés : exportez-les pour une rétention plus longue.
Paramètres
| Nom | Emplacement | Type | Obligatoire | Règles |
|---|---|---|---|---|
repository | chemin | string | oui | correspond à ^[a-z0-9][a-z0-9_-]{0,63}$ |
after | requête | string | non | un nombre entier en chiffres décimaux, transmis sous forme de chaîne |
level | requête | string | non | une valeur parmi info, warning, error |
Réponse 200
| Champ | Type | Obligatoire | Règles |
|---|---|---|---|
items | tableau de object | oui | jusqu’à 100 éléments |
items[].sequence | string | oui | un nombre entier en chiffres décimaux, transmis sous forme de chaîne |
items[].occurredAt | string (date-time) | oui | — |
items[].level | string | oui | une valeur parmi info, warning, error |
items[].code | string | oui | jusqu’à 96 caractères |
items[].details | dictionnaire de string | integer | oui | jusqu’à 16 entrées |
next | string | oui | un nombre entier en chiffres décimaux, transmis sous forme de chaîne; peut être null |
Réponses: 200, 400, 401, 403, 404, 409, 422, 503, 507
Exemple
curl -X GET "$ARKVORY_URL/api/v1/repositories/$REPOSITORY/storage/events" \
-H "Authorization: Bearer $ARKVORY_TOKEN"Obtenir les paramètres du nettoyage en ligne
GET HEAD /api/v1/repositories/{repository}/storage/cleanup
Accès: Autorisation sur le dépôt : storage.read · Nouvelle tentative: Peut être répétée sans risque (lecture)
Renvoie la politique de nettoyage physique en ligne du dépôt avec sa revision (enabled, graceHours, batchSize, intervalSeconds, delayMilliseconds), la dernière et la prochaine exécution, ainsi que le nombre d’objets que le dernier lot a récupérés, différés ou en échec, avec les octets libérés. Le nettoyage est ce qui supprime physiquement les téléversements annulés et les artefacts supprimés ; il est désactivé par défaut.
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 |
|---|---|---|---|
revision | integer | oui | 0–2147483647 |
policy | object | oui | — |
policy.enabled | boolean | oui | — |
policy.graceHours | integer | oui | 0–8760 |
policy.batchSize | integer | oui | 1–100 |
policy.intervalSeconds | integer | oui | 5–86400 |
policy.delayMilliseconds | integer | oui | 0–1000 |
lastRunAt | string (date-time) | oui | peut être null |
nextRunAt | string (date-time) | oui | peut être null |
lastCollected | integer | oui | 0–100 |
lastDeferred | integer | oui | 0–100 |
lastFailed | integer | oui | 0–100 |
lastReclaimedBytes | string | oui | un nombre entier en chiffres décimaux, transmis sous forme de chaîne |
lastError | string | oui | peut être null |
Réponses: 200, 400, 401, 403, 404, 409, 422, 503, 507
Exemple
curl -X GET "$ARKVORY_URL/api/v1/repositories/$REPOSITORY/storage/cleanup" \
-H "Authorization: Bearer $ARKVORY_TOKEN"Configurer le nettoyage en ligne
PUT /api/v1/repositories/{repository}/storage/cleanup
Accès: Autorisation sur le dépôt : storage.manage · Nouvelle tentative: Répéter uniquement avec la révision attendue (compare-and-swap)
Remplace la politique de nettoyage pendant que le serveur fonctionne : enabled (aussi pour le mettre en pause), graceHours (0–8760, durée pendant laquelle le contenu supprimé reste avant son retrait), batchSize (1–100 objets), intervalSeconds (5–86400) et delayMilliseconds (0–1000 entre deux objets). expectedRevision doit être la révision actuelle (0 avant la première modification), sinon 409 revision_mismatch. Une modification prend effet entre deux objets, jamais au milieu de l’un d’eux.
Paramètres
| Nom | Emplacement | Type | Obligatoire | Règles |
|---|---|---|---|---|
repository | chemin | string | oui | correspond à ^[a-z0-9][a-z0-9_-]{0,63}$ |
Corps de la requête (application/json)
| Champ | Type | Obligatoire | Règles |
|---|---|---|---|
expectedRevision | integer | oui | 0–2147483647 |
policy | object | oui | — |
policy.enabled | boolean | oui | — |
policy.graceHours | integer | oui | 0–8760 |
policy.batchSize | integer | oui | 1–100 |
policy.intervalSeconds | integer | oui | 5–86400 |
policy.delayMilliseconds | integer | oui | 0–1000 |
Réponse 200
| Champ | Type | Obligatoire | Règles |
|---|---|---|---|
revision | integer | oui | 0–2147483647 |
policy | object | oui | — |
policy.enabled | boolean | oui | — |
policy.graceHours | integer | oui | 0–8760 |
policy.batchSize | integer | oui | 1–100 |
policy.intervalSeconds | integer | oui | 5–86400 |
policy.delayMilliseconds | integer | oui | 0–1000 |
lastRunAt | string (date-time) | oui | peut être null |
nextRunAt | string (date-time) | oui | peut être null |
lastCollected | integer | oui | 0–100 |
lastDeferred | integer | oui | 0–100 |
lastFailed | integer | oui | 0–100 |
lastReclaimedBytes | string | oui | un nombre entier en chiffres décimaux, transmis sous forme de chaîne |
lastError | string | oui | peut être null |
Réponses: 200, 400, 401, 403, 404, 405, 409, 413, 415, 422, 503, 507
Exemple
curl -X PUT "$ARKVORY_URL/api/v1/repositories/$REPOSITORY/storage/cleanup" \
-H "Authorization: Bearer $ARKVORY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"expectedRevision":0,"policy":{"enabled":false,"graceHours":0,"batchSize":1,"intervalSeconds":5,"delayMilliseconds":0}}'Demander un lot de nettoyage maintenant
POST /api/v1/repositories/{repository}/storage/cleanup/run
Accès: Autorisation sur le dépôt : storage.manage · Nouvelle tentative: Ne pas répéter automatiquement
Planifie le démarrage immédiat du prochain lot de la politique de nettoyage activée ; la réponse est l’état du nettoyage, et les octets ne sont libérés qu’une fois le lot exécuté (voir lastRunAt dans getCleanup). expectedRevision doit être la révision actuelle ; un nettoyage désactivé donne 409 state_conflict. Les objets en cours de lecture ou d’écriture sont reportés à un lot ultérieur.
Paramètres
| Nom | Emplacement | Type | Obligatoire | Règles |
|---|---|---|---|---|
repository | chemin | string | oui | correspond à ^[a-z0-9][a-z0-9_-]{0,63}$ |
Corps de la requête (application/json)
| Champ | Type | Obligatoire | Règles |
|---|---|---|---|
expectedRevision | integer | oui | 0–2147483647 |
Réponse 200
| Champ | Type | Obligatoire | Règles |
|---|---|---|---|
revision | integer | oui | 0–2147483647 |
policy | object | oui | — |
policy.enabled | boolean | oui | — |
policy.graceHours | integer | oui | 0–8760 |
policy.batchSize | integer | oui | 1–100 |
policy.intervalSeconds | integer | oui | 5–86400 |
policy.delayMilliseconds | integer | oui | 0–1000 |
lastRunAt | string (date-time) | oui | peut être null |
nextRunAt | string (date-time) | oui | peut être null |
lastCollected | integer | oui | 0–100 |
lastDeferred | integer | oui | 0–100 |
lastFailed | integer | oui | 0–100 |
lastReclaimedBytes | string | oui | un nombre entier en chiffres décimaux, transmis sous forme de chaîne |
lastError | string | oui | peut être null |
Réponses: 200, 400, 401, 403, 404, 405, 409, 413, 415, 422, 503, 507
Exemple
curl -X POST "$ARKVORY_URL/api/v1/repositories/$REPOSITORY/storage/cleanup/run" \
-H "Authorization: Bearer $ARKVORY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"expectedRevision":0}'