Présentation de Celld

Celld est un démon open-source qui permet d'exécuter des Cloudflare Workers et des Durable Objects sur ses propres machines. Chaque objet est une base de données SQLite indépendante, adressée par nom et répliquée vers un bucket S3-compatible que l'utilisateur possède. Les nœuds se coordonnent à travers ce bucket sans plan de contrôle ni consensus.

Fonctionnement de Celld

Chaque nœud Celld embarque V8 et exécute des bundles Wrangler. La flotte partage un bucket S3-compatible contenant des déploiements, des états de cellules et de petits enregistrements de propriété. La comparaison et l'échange d'objets de stockage garantissent qu'un seul nœud possède une cellule à la fois, sans protocole d'adhésion, de détection de défaillance ou de service de consensus.

curl -fsSL https://celld.dev/install.sh | sh

Le programme d'installation télécharge le binaire Celld (dont la provenance est vérifiable avec gh attestation verify) et l'installe sur la machine.

Architecture et sécurité

Celld réplique continuellement chaque base de données SQLite d'une cellule vers le bucket. Lorsqu'une cellule se déplace ou se réveille, son nouveau propriétaire restaure la base de données et reprend l'exécution. Le bucket est la source de vérité durable ; les nœuds sont remplaçables.

Exécution et déploiement

Les projets Worker déployés avec celld deploy nécessitent esbuild sur le chemin d'accès ; les projets d'actifs uniquement ne le nécessitent pas. L'installateur conserve les versions vérifiées sous ~/.local/lib/celld/releases et bascule atomiquement un pointeur courant.

docker run --rm ghcr.io/denoland/celld --version

La persistance de l'état local du runtime et le passage de l'environnement d'informations d'identification AWS standard sont assurés via des variables d'environnement et des volumes Docker.