Aller au contenu
English

planRecoveryRetention

import { planRecoveryRetention } from "@elie-laloum/outpost";

Inventorie le .outpost du dépôt, ou les objets d’un transport, et marque chaque entrée éligible ou conservée avec un code de motif selon la politique. Ne supprime rien ; un inventaire incomplet rend toutes les entrées inéligibles et quota inconnu. Une politique invalide, ou clean-workspaces ou maxWorkspaces avec un transporter, rejette avec le code configuration.

Exemple complet et règles détaillées.

  • optionsRequis
    RecoveryRetentionOptions
    Dépôt ou transporter à inspecter, politique de rétention et limite de parcours.
  • options.transporterOptionnel
    Transport | undefined
    Planifie sur les objets de ce transport au lieu du .outpost du dépôt. Seuls closed-logs et task-cache s’appliquent ; clean-workspaces ou maxWorkspaces rejettent avec le code configuration.
  • options.repositoryOptionnel
    string | undefined
    Checkout Git dont le .outpost est inspecté, process.cwd() par défaut, résolu vers son répertoire racine ; un dossier absent rejette avec le code workspace. Avec transporter, seulement enregistré dans le plan.
  • options.policyRequis
    RecoveryRetentionPolicy
    Périmètres, âge minimal et limites qui décident des entrées éligibles. Validée avant l’inspection ; un champ invalide ou inconnu rejette avec le code configuration.
  • options.maxEntriesOptionnel
    number | undefined
    Nombre maximal de fichiers et répertoires parcourus sous .outpost, ou d’objets listés depuis transporter, 100000 par défaut. Le dépasser rend le plan incomplet : aucune entrée n’est éligible.
  • observationOptionnel
    ObservationHub | undefined
    Hub recevant l’événement d’opération retention.plan au démarrage, puis à la fin ou en échec avec sa durée.

Promise<RecoveryRetentionPlan>

export declare function planRecoveryRetention(
  options: RecoveryRetentionOptions,
  observation?: ObservationHub,
): Promise<RecoveryRetentionPlan>;