Deployment lifecycle: list, preview, rollback, and prune versions
- Dominant language
- Rust
- Stars
- 4.6k
- Forks
- 171
- PR merge metrics
- No merged PRs in 30d
Description
celld v0.4.0 now has a clear single-current deployment model: `celld deploy` moves `deploy/current.json`, then nodes adopt it in place.
What seems missing is the lifecycle of the immutable versions left behind. Previous `deploy//<version>` objects remain in the bucket, but there is no supported way to:
1. list previous versions;
2. access one directly without changing the current deployment;
3. move current back to one for rollback;
4. safely prune deployments and shared blobs no longer reachable through current or named pointers, queue attachments, or service bindings.
Direct version access might need an explicit contract for stateful applications: whether it runs against the fleet's live cell state or isolated preview state. Cloudflare's version preview URLs, for example, currently exclude Workers implementing Durable Objects. Still, someone picking a rollback version should be able to do so without having to guess whether the version is compatible with the current state of the fleet.
[#175](https://github.com/denoland/celld/issues/175) asks for “a supported way to delete one cell”; this request concerns deployment artifacts instead.
Would a first-party version lifecycle like this be in scope? I have no strong preference on the exact CLI or endpoint shape, but I would prefer not to have external tooling guess celld's reachability and state rules
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.