What it cleans
Containers and images are cleaned only when free space falls below the disk budget (default 15%). Build cache, volumes and attempts are time driven and run every pass.
Pipeline artifacts already expire on their own retention (see pipelines), so they are not repeated here.
Preview and quarantine
- Preview (
janitor run --dry-run, or the Preview button) lists every candidate and changes nothing. - An orphaned volume is first quarantined: the pass records when it was first seen. It is deleted only when the quarantine (default 14 days) has ended, “Delete volumes after quarantine” is on, and it is still unused. At most 5 volumes are deleted per pass. A volume that becomes referenced again leaves quarantine.
Run now and the disk alert
Run now does a forced pass: containers and images are cleaned even above the budget. When free space is below budget the page shows a warning with a “Clean up now” button, and the disk space fix in the Fixes list runs the same pass. Every pass that changes something is stored with the bytes it reclaimed.CLI
get_janitor returns the state and, with preview, a dry run.
API
GET /api/v1/system/janitor, GET /api/v1/system/janitor/runs, PUT /api/v1/system/janitor/policy and POST /api/v1/system/janitor/run?dry_run=true&force=true. Changing the policy and running need a root token.
Limits
- It cleans the control plane’s own node. Other nodes keep using the per-node build center and image tools.
- Disk free is measured on the control plane data directory.