Cache retention and prune utility for S3 and local backends #4

Closed
opened 2026-06-16 17:54:52 +00:00 by stephen · 1 comment
Owner

Why

The README says storage lifecycle/prune is external and there is no per-cache size cap. Operators need a first-party cleanup path for local backend and object stores without lifecycle rules.

Verified

  • MIGRATION.md says retention is your storage lifecycle/prune job.
  • README.md says there is no per-cache size cap.
  • No existing cache-action issues are filed.

Build

  • Add a prune mode/script that lists cache objects by scope/version/key age and size.
  • Support dry-run, max-age, max-bytes, and local/S3 backends.
  • Document safe scheduled usage.
## Why The README says storage lifecycle/prune is external and there is no per-cache size cap. Operators need a first-party cleanup path for local backend and object stores without lifecycle rules. ## Verified - `MIGRATION.md` says retention is your storage lifecycle/prune job. - `README.md` says there is no per-cache size cap. - No existing cache-action issues are filed. ## Build - Add a `prune` mode/script that lists cache objects by scope/version/key age and size. - Support dry-run, max-age, max-bytes, and local/S3 backends. - Document safe scheduled usage.
Author
Owner

Already implemented on main: the retention/prune utility shipped in beee077 (PR #8, merging 9f6d37d). It provides the prune sub-action / src/prune.js with --max-age, --max-bytes, and --dry-run, across the local and S3 backends, pruning each archive together with its .sha256 sidecar, with tests. Closing as done; the issue was just never closed at merge time.

Already implemented on `main`: the retention/prune utility shipped in `beee077` (PR #8, merging `9f6d37d`). It provides the `prune` sub-action / `src/prune.js` with `--max-age`, `--max-bytes`, and `--dry-run`, across the local and S3 backends, pruning each archive together with its `.sha256` sidecar, with tests. Closing as done; the issue was just never closed at merge time.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
rasterstate/cache-action#4
No description provided.