Cache Governance
Usetools/si-cache-governor to keep workspace storage under control while protecting warm build paths.
Why this exists
- preserve fast Rust incremental builds (
.artifacts/cargo-target,sccache) - keep Docker build cache useful while removing stale entries
- avoid destructive cleanup of active runtime volumes
Audit first
Always start with a read-only snapshot:- per-repo total size
- per-repo
.artifacts,target, andnode_modulesfootprint - dirty repo count signal
- global cache sizes (
sccache, Cargo registry/git, npm/pnpm) - Docker aggregate cache/image/volume usage
Safe prune order
- Preview local prune candidates:
- Apply local prune candidates:
- Preview + apply Docker cache/image pruning:
Retention defaults
sirepo.artifacts/cargo-target: prune only when older than14days- other repos
.artifacts/cargo-target: prune only when older than30days - node modules pruning is opt-in with
--include-node-modules
Guardrails
- dry-run is the default for prune
- underscore-prefixed top-level directories are always skipped
- Docker volume pruning is intentionally excluded from automatic cleanup
sccacheis audited but never auto-cleared
Optional tuning
- set alternate root:
- tune Docker age thresholds:

