Files
distributor/docs/roadmap/prune.md

46 lines
1.3 KiB
Markdown

# 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.