Files
distributor/docs/roadmap/prune.md

1.3 KiB

Prune Roadmap

Current managed-output pruning behavior is documented in:

  • docs/config.md
  • docs/cli.md
  • docs/operations.md
  • docs/troubleshooting.md
  • docs/integrations/destination-state.md
  • docs/internal/app.md
  • docs/internal/publish.md
  • docs/internal/state.md

Current Scope

Current scope includes:

  • destination retention.prune.enabled;
  • retention.prune.older_than;
  • retention.prune.keep_latest;
  • distributor prune --dry-run;
  • distributor prune --apply;
  • text and JSON reports;
  • owner-scoped pruning for shared-root state.

Pruning uses managed output updated_at timestamps from destination state. When both keep_latest and older_than are configured, the newest keep_latest outputs are preserved before age-based pruning is applied to the remaining managed outputs.

Apply mode deletes only planned managed output paths, preserves unmanaged content, preserves .distributor.json, and rewrites state only for confirmed deletions.

Deferred Work

Deferred pruning work:

  • one-off retention overrides;
  • automatic post-publish pruning;
  • path/date parsing retention policies;
  • group-level pruning by source publication;
  • removal of empty state files.

Pruning remains an operator command rather than a general storage cleanup tool.