Nettoyer les données enregistrées
Examinez une politique de conservation et supprimez les données admissibles en préservant le travail récupérable.
Prévisualiser une politique
Section intitulée « Prévisualiser une politique »Commencez par examiner une politique de conservation sans l’appliquer. Le rapport indique quelles données d’exécution peuvent être supprimées et lesquelles restent protégées. Appliquez la politique après avoir consulté ce résultat.
Sans --apply, la commande se contente d’afficher son plan : une ligne par entrée de .outpost, puis la taille projetée.
--json affiche { dryRun, plan } à la place. --repository vaut par défaut le répertoire courant.
L’appliquer
Section intitulée « L’appliquer »Chaque candidat est revérifié juste avant sa suppression. Celui qui a changé depuis le plan est conservé, avec la raison PLAN_CHANGED. La sortie ajoute une ligne REMOVED par entrée supprimée.
La commande se termine avec le statut 1 si l’inventaire est incomplet, si ce qui reste dépasse maxBytes ou maxWorkspaces, ou si un candidat n’a pas pu être supprimé.
Écrire la politique
Section intitulée « Écrire la politique »Référence API : RecoveryRetentionPolicy.
maxBytes et maxWorkspaces ne rendent jamais d’autres entrées éligibles : ils vous disent si la politique libère assez de place.
Comprendre pourquoi une entrée reste
Section intitulée « Comprendre pourquoi une entrée reste »Référence API : RecoveryRetentionEntry.
Nettoyer depuis le code
Section intitulée « Nettoyer depuis le code »planRecoveryRetention() construit le même plan que la prévisualisation. pruneRecoveryRetention() l’applique et renvoie ce qu’il a supprimé et conservé.
Pour des données conservées dans un transport distant, passez transporter à planRecoveryRetention() et { transporter } à pruneRecoveryRetention(). Seuls closed-logs et task-cache s’y appliquent.
Nettoyer ce que la rétention conserve
Section intitulée « Nettoyer ce que la rétention conserve »- Branches nomméesSupprimer un worktree conserve sa branche. Effacez celles déjà fusionnées avec
git branch -d outpost/fix-tests. - Worktrees modifiésCommittez, copiez ou jetez les fichiers après un examen avec Récupérer du travail.
git -C <worktree> clean -fdXne supprime que les fichiers ignorés. - Volumes de cacheIls survivent aux sandboxes et aux images. Supprimez-les avec le moteur de conteneurs, label
io.outpost.cache=true(Préparer l’environnement).
Un worktree redevenu propre est supprimé à la prochaine exécution d’une politique clean-workspaces.
Réserver du stockage entre processus
Section intitulée « Réserver du stockage entre processus »Une réservation retient des octets dans .outpost avant qu’une tâche ne les écrive. Elle est refusée si l’usage actuel, les réservations actives et la nouvelle demande dépassent maxBytes.
Référence API : RecoveryQuotaOptions et RecoveryStorageReservationOptions.
Une réservation refusée rejette avec le code configuration ; un assertRecoveryQuota() en échec rejette avec le code workspace (Erreurs).
- Les réservations coordonnent les processus d’écriture qui les utilisent. Ce n’est pas un quota du système de fichiers : tout autre processus peut encore écrire dans
.outpost. - La réservation d’un processus mort reste dans le registre (
reservations/ledgerdans le transport) et continue de compter. Retirez son entrée seulement après avoir vérifié que son propriétaire s’est arrêté, par une écriture conditionnelle (ifRevision) dans le même transport. - La rétention ne supprime jamais les branches, checkpoints, artefacts, conversations, transferts de récupération ni verrous.
- Un transport distant ne peut pas utiliser le périmètre
clean-workspacesnimaxWorkspaces. - Ne supprimez pas
.outpostà la main : il peut contenir la seule copie d’un travail inachevé.
API : planRecoveryRetention · pruneRecoveryRetention · RecoveryRetentionPolicy · RecoveryRetentionPlan · reserveRecoveryStorage · assertRecoveryQuota · WorkspaceOptions.