Forgejo attachments are 39.9 GiB and it is release binaries: 6,900+ assets across 820 releases, no retention #905
Labels
No labels
burndown-2026-06
burndown-2026-08
autonomy
async-consult
autonomy
epic
autonomy
headless
autonomy
live-collab
coherence-core
priority
P0
priority
P1
priority
P2
priority
P3
priority
P4
qa-fixture
role/advocate
role/director
role/exec
role/frontend
role/gamedev
role/human
role/platform
role/qa
role/science
role/sysadmin
state
ambient
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
coilyco-flight-deck/infrastructure#905
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Stage 3 of
coilyco-flight-deck/infrastructure#903. Measured 2026-08-23 ~03:40Z, read-only throughout. Nothing changed.After Stage 1 cut the package registry from 93.3 to 37.5 GiB,
data/attachmentsat 39.9 GiB became the single largest consumer onkai-serverand had not moved a byte all night. This establishes what is in it.It is release assets, and the arithmetic closes
99.2% accounted for. Forgejo stores release attachments under
data/attachments, so these are the same bytes counted two ways.avatarsis 1.9 MiB andrepo-avatars64 KiB, so nothing else indata/is material.Totals: 820 releases carrying 6,933 assets, concentrated in four repositories.
Everything else across all four orgs is a rounding error.
Why it grows
These are cross-platform Go binaries, republished on every release, and nothing ever removes an old one.
agentic-os, 3,102 assets over 504 releases, ~41 MiB per release:ward, 2,384 assets over 957 releases, ~13 MiB per release, the same shape across five platform triples plus per-file.sha256and aSHA256SUMS.Largest single assets are the Windows builds at 19.1 MiB (
aosguard-windows-amd64.exe) and 18.4 MiB (ward-windows-amd64.exe), each retained once per release.The release trains are automated. Per
agentic-os/AGENTS.mdthe standalone AOS CLI bumps its minor version automatically whenever a push to main changes a shipped binary input. Oldest release here is 2026-06-15 for agentic-os and 2026-06-12 for ward, so 39.6 GiB accumulated in roughly ten weeks, and it is monotonic.This is structurally the same failure Stage 1 fixed for packages: an automated publisher plus no retention policy. Different storage domain, same shape.
What this is not
actions_artifacts, which is 296 KiB, andactions_logis a separate 329.8 MiB.What needs deciding
Unlike packages, Forgejo has no built-in retention for release assets. There is no equivalent of a cleanup rule, so this cannot be closed by turning something on. Three options, and the choice is a genuine one:
DELETE /repos/{owner}/{repo}/releases/{id}/assets/{attachment_id}exists in the API, so this is scriptable. Release notes, tags and history survive; only the binaries go. Recovers most of the 39.6 GiB.homebrew-tapandscoop-bucketbefore anyone commits to it.The consumer question gates all three.
homebrew-tapandscoop-bucketresolve binaries from these releases. Before deleting any asset, someone has to establish how far back those formulas and manifests can still point, and whether any pinned version outside the retained window is still referenced. I have not checked that and it is the first task here.Suggested first step
Establish the retention floor from the consumers, then script a keep-N sweep over the four repositories using the release-asset delete endpoint. A
keep_countin the same spirit as the package rules would put this at a couple of GiB.Worth noting for whoever picks this up: the release-asset API is a real API, unlike package cleanup rules which are web-UI only (
infrastructure#903). So this one can be scripted, tracked in git, and run on a schedule, which is the better end state anyway.Current disk position
Not urgent. After Stage 1 the root filesystem is 78.2%, status
ok, with 109 GiB available. This is the largest remaining consumer and an uncapped growth curve, not an active incident.Related
coilyco-flight-deck/infrastructure#903- the parent disk analysis, Stage 3coilyco-flight-deck/agentic-os#1060- dev-base release blocked, should be retryable now that Stage 1 freed 56 GiB