Reference
Status
What runs in production today, what is built but not public, and what is designed.
These docs describe the product we are building, and every page says how much of it you can use today:
- Verified — copy the first code block and it runs in production today.
- Guide — the mechanism runs today; some helpers shown are planned and marked inline, with a Today block.
- Planned — designed, not available yet.
Running in production
| Runtime | one Rust service serving every environment: queries, live subscriptions, permissions, actions, executions, files, streams |
| Data | PlanetScale Postgres in sa-east-1, a primary and two replicas |
| Files | Amazon S3 in sa-east-1, private, encrypted, versioned |
| Query language | where with equality, $ne, $in, $gt/$gte/$lt/$lte, $isNull, $like/$ilike, and/or, link paths; order; limit/offset; cursors (first/after, last/before, top level); nested links; fields |
| Permissions | per-entity CEL rules for view, create, update, delete, link, unlink; auth, data, newData, data.ref, auth.ref, ruleParams, bind, fields, $default |
| Actions | Zod input and output checked by the runtime; execution records; one run per request id; the caller captured at admission and read with runtime.auth; reads and writes as the caller, in development and production |
| Schema on publish | applied the same way in development and production, checked against stored data; confirmed removals are soft-deleted and restorable for 2 days |
| Workflows | durable runs in production releases, started and followed through the runtime |
| Identity | people, organizations and one service key per organization; user tokens per environment, validated on every request |
| Projects and folders | organizations, projects, folders and environments in the console |
| Development loop | druntime publishing on save to a development environment (CLI not on npm yet) |
| HTTP API | every route on the HTTP API page |
Built, not yet public
| Missing to be public | |
|---|---|
CLI (druntime): development session, projects, folders, environments, releases with push, run, query | npm release; query and input issues also need the kernel release with /query?format=objects |
Platform SDK (@domainruntime/platform) | npm release, and the public shape on its page |
Testing helpers (@domainruntime/testing) | npm release |
| Sandboxes | self-service access and per-organization limits |
| Workflows inside DomainRuntime's own runtime | production adoption |
Designed, not built
| Page | |
|---|---|
runtime.tx, runtime.query inside actions (today: runtime.db()) | Actions |
@domainruntime/react: init({ domain }), db.useQuery, db.actions.<domain>.<action>, db.auth | Reading data, Users |
| Action scopes: who may run an action, by permissions, roles or custom scopes (today any signed-in user can run any action) | Actions |
| Workflow actions in development environments | Local development |
withSchema without empty links and rooms | Modeling data |
withPermissions in the domain | Permissions |
db.storage, runtime.files, runtime.streams, db.streams | Files, Streams |
| Error codes of your own on thrown errors; conditional writes | Error handling, Guarantees |
env.users.mintToken; several scoped service keys and rotation | Users, Service keys |
druntime release rollback, druntime keys | CLI |
The project layout generated by create-app | Project structure |
Later
Presence, rooms and cursors for collaborative apps; offline support; server-side rendering helpers; scheduling an action for later.