Skip to content

Edge Forms ​

Form definitions for the configuration and behavior of workers, storage, queues, workflows and actors. Compose code versions, traffic, data and event entry points separately so you can target the part you want to change. Each page explains use cases, connections, accepted settings and the exact package reference.

Where the shared model and API live ​

This site documents the Edge Form contracts published here and each package's exact example. The shared model and Host API are documented separately at Takoform and in the Host API reference. A Form's definitionVersion is not the API protocol version; client libraries and Terraform/OpenTofu providers have independent release versions too. No separate specification version synchronizes these releases.

Worker applications ​

ModuleWorker → WorkerVersion → WorkerDeployment: create an application identity, describe a version of its code and configuration, then select the version that receives traffic. WorkerBundle identifies the code artifact. WorkerEndpoint or WorkerCustomDomain describes how the deployed application is reached.

Choose by task ​

For storage, choose SQLite for SQL queries and transactions, ObjectBucket for object bodies with strong read-after-write consistency, or EdgeKVNamespace for key-value data that can tolerate propagation delay.

Queue, Workflow or Actor? ​

  • AtLeastOnceQueue 0.1.0: Buffer independent jobs, such as image processing, for a consumer. Unordered, at-least-once delivery; handle duplicate messages safely.
  • DurableWorkflow 0.1.0: Generate a report, wait for approval, then deliver it; resume durable progress. Recorded step results are replayed; side effects before recording may repeat. Use idempotency and preserve replay compatibility across code changes.
  • ActorNamespace 0.1.0: Keep state for each room or session ID and handle its calls one at a time. The Form configures the namespace and class, not one infrastructure resource per actor ID.

Connect the pieces ​

  • HTTP: create the Worker identity and commit a code artifact, then create a version referring to both. A deployment assigns traffic to versions; an endpoint or custom domain routes HTTP to that Worker's active deployment. Merely creating a version does not expose it.
  • Queue: WorkerVersion producer binding → AtLeastOnceQueue → QueueConsumer → ModuleWorker queue handler. Sending and inbound consumption are separate connections; QueueConsumer is not a producer binding. Producers and consumers may use different Workers.
  • SQL: define ordered SQL in a migration artifact, identify it with SQLiteMigrationSet, then select that set and a database in SQLiteMigrationApplication. Code accesses the database separately through a WorkerVersion binding. Deleting the application does not undo SQL.

Current Forms ​

17 signed Edge Forms. Public package readback verified.

FormPurpose
ActorNamespace 0.1.0Define a namespace for actors that keep per-ID state and process calls one at a time.
AtLeastOnceQueue 0.1.0Buffer messages for unordered, at-least-once delivery.
DurableWorkflow 0.1.0Define a durable, multi-step workflow whose instances can resume after process death.
EdgeKVNamespace 0.1.0Store opaque key-value bytes with eventual consistency.
ModuleWorker 0.1.0Give one Worker application a stable identity.
ObjectBucket 0.1.0Store and stream objects with strong read-after-write consistency.
QueueConsumer 0.1.0Deliver queued messages to a Worker's queue handler.
SQLiteDatabase 0.1.0Keep relational data behind the edge.sql Interface.
SQLiteMigrationApplication 0.1.0Apply one exact migration set to one database.
SQLiteMigrationSet 0.1.0Identify immutable, ordered SQL migration history.
StaticAssetBundle 0.1.0Identify immutable static files served with a Worker.
WorkerBundle 0.1.0Identify an immutable build of your Worker code.
WorkerCronTrigger 0.1.0Invoke a Worker's scheduled handler on a UTC cron schedule.
WorkerCustomDomain 0.1.0Connect a hostname you control to a Worker's active deployment.
WorkerDeployment 0.2.0Choose which Worker revisions receive traffic.
WorkerEndpoint 0.1.0Expose the active deployment at a Host-assigned HTTPS address.
WorkerVersion 0.3.0Capture one immutable combination of code, handlers and configuration.

Using these definitions ​

Choose a Form, check whether your Host supports that exact version, and use its desired-state schema with your client. The examples here are JSON data, not OpenTofu configurations or complete Host API requests.

For a concrete starting point, open the exact package's WorkerVersion 0.3.0 JSON example. Each example shows input data; it is not a Host API request or OpenTofu configuration.

Host support and admission are separate from package publication. Reading a package does not create a resource or provide hosting. See Takoform's getting started guide for package verification and implementation guides for clients and Hosts.

  • Build an application: use your Host's documentation to obtain its endpoint, authentication and supported exact FormRefs, then follow the OpenTofu guidance or Go client instructions for that Host. The JSON here teaches the input shape; it is not a deployment procedure.
  • Implement a Host or client: follow Core's implementation guides for the common API and verification flow. Implement the Form's behavior too; schema validation alone is not support.
  • Verify a definition: use each page's package reference to check the exact tag, digest and schema. Try package verification without connecting to a Host.

Retained versions ​

These older definitions remain available at their original URLs. They are not members of the current signed set.