denoland / denoland/celld

Deployment lifecycle: list, preview, rollback, and prune versions

Open
#181 0 comments 0 reactions 1 assignee Claimed by @bartlomieju View on GitHub
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.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.