inventory sweeps the instance — and an empty environment shouts (#22) #24
No reviewers
Labels
No labels
blocked
blocker:ci-red
blocker:conflict
blocker:drill-pending
blocker:unrequested
bug
claimed
documentation
enhancement
epic
merge-next
needs-triage
ready
release
scope:apply
scope:capture
scope:coolify-api
scope:fleet
scope:manifest
scope:secrets
stale
state:addressing
state:bots-reviewing
state:building
state:needs-human
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: heavy-duty/cast#24
Loading…
Reference in a new issue
No description provided.
Delete branch "feat/inventory-sweep"
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?
Closes #22.
inventoryshipped in #20 reconciling a manifest against one project and oneenvironment that you name. But the premise of the verb is that you are looking
at a box you did not build — so you do not know those coordinates yet. It was
a discovery tool that required you to have already discovered, and within the
hour the operator was back to hand-curling
/projectsand/applicationstofind out where anything lived.
No manifest, no store, no age key, no recipient — it runs before adoption
exists. With a repo it reconciles exactly as before.
The part that was actually dangerous
Not the missing sweep — the way the targeted path failed without it.
Pointed at a project's
productionenvironment (auto-created by Coolify, andempty), inventory reported:
Every word of that is true. And the overall impression — "the box has nothing;
the manifest has five things" — is exactly the D-237 lie that cast refuses
everywhere else. The resources were alive and serving production the whole
time, in an environment called
stagingthat nobody had ever swapped.An environment with zero resources is far more often the wrong coordinate
than an empty one. It now says so, and names the sweep:
Two details worth reviewing
anywhere else: Coolify scopes what a token can see to its team, so a
wrong-team token would sweep an instance and truthfully report that it is
empty. Same class of lie, one layer out.
GET /projects/{uuid}/environments,falling back to the relation on
GET /projects/{uuid}. The vendored OpenAPIhas been wrong before, and this is the one path where failing to enumerate is
worse than being slow.
The new suite's stub is shaped like the box this came from: three projects (two
of them unrelated third-party client sites nobody knew were on it), an empty
auto-created
production, and the real system instagingunder names a humantyped.
Checks
npm run check(biome),npm run build(tsc),npm test— 173 passing(was 169).
🤖 Generated with Claude Code