1.5 KiB
1.5 KiB
id, title, status, wave, depends_on, plan, spec
| id | title | status | wave | depends_on | plan | spec | |
|---|---|---|---|---|---|---|---|
| 06-docker-storage | Docker storage provider | done | 2 |
|
plan.md | ../../specs/system-page/requirements/storage-maintenance.md |
Task 06: Docker storage provider
Analyze Docker disk use, clean positively owned stopped containers, and gate daemon-global actions.
Acceptance
- Container cleanup is label- and inventory-scoped, retains running/unrelated containers, and uses the existing attached-volume removal behavior.
- Build-cache and unused-image analysis is read-only; deletion is rejected unless the persisted dedicated-daemon acknowledgment is still true immediately before the SDK call.
- No code path exposes global volume/network prune or shells out to
docker system prune.
Verification
cd apps/backend && go test ./internal/agent/docker ./internal/system/storage/dockerstore
Files likely touched
apps/backend/internal/agent/docker/client.goapps/backend/internal/agent/docker/client_test.goapps/backend/internal/system/storage/dockerstore/provider.goapps/backend/internal/system/storage/dockerstore/provider_test.go
Dependencies
- Task 02 for settings validation and run result types.
Inputs
- Spec Docker storage section
- Existing
kandev.managed=truelabels andRemoveContainer(...RemoveVolumes: true)behavior - ADR 0009 container fail-closed rules
Output contract
Report Docker SDK contracts/filters, capability degradation, scope guarantees, tests run,
blockers/risks, and update this task plus plan.md to done.