Phase 18: image prune (dangling/unused), local + agent (0.24.0)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
menzelj
2026-06-09 11:30:10 +00:00
co-authored by Claude Opus 4.8
parent d46a6c3576
commit 34c5fffa85
6 changed files with 128 additions and 7 deletions
+20
View File
@@ -655,6 +655,26 @@ async def agent_image_check(
return result
@router.post("/{agent_id}/images/prune")
async def agent_image_prune(
agent_id: int,
request: Request,
all_unused: bool = Query(False, alias="all"),
session: Session = Depends(get_session),
user: User = Depends(require_admin),
) -> dict:
agent = _get_or_404(session, agent_id)
result = await _proxy(
session, agent, "POST", "/agent/images/prune", params={"all": all_unused}
)
audit_service.record(
session, user=user.username, action="agent.image.prune", target=agent.name,
detail=f"all={all_unused} reclaimed={(result or {}).get('SpaceReclaimed')}",
ip=_ip(request),
)
return result
# --------------------------------------------------------------------------- #
# Volumes (proxied)
# --------------------------------------------------------------------------- #