Skip to content

Current capabilities

This page is a snapshot of what Nimbus implements today. It is not a roadmap: a capability appears here only when it exists in the shipped implementation, and the surface can change quickly when a cleaner design is preferred.

Each capability carries one of three statuses:

  • Available — implemented and documented; use it today.
  • Available with caveats — works, but with a bounded scope or a non-default enablement path described in the notes.
  • Not yet — does not exist today; there is nothing to enable.
CapabilityStatusNotes
Tenant creation and deletionAvailableExplicit creation over the admin API; each tenant gets its own storage namespace. See tenant isolation.
Document insert, update, delete, and point readsAvailableSee the HTTP API.
Explicit queries and cursor-based paginationAvailableOpaque cursors; dedicated query and paginated-query endpoints.
Optional per-table schema validationAvailableA table without a schema accepts any document; installing a schema adds constraints, never removes write access.
Single-field and composite indexesAvailableDeclared in the table schema, maintained atomically with writes, backfilled on creation. Equality and range planning for explicit query paths.
Live query subscriptions over WebSocketAvailableIndex-aware evaluation with per-query dependency tracking. See the WebSocket protocol.
Scheduled mutations and cron jobsAvailableDurable, at-least-once execution; completion and failure results retained per job id; claimed-but-unfinished jobs are recovered on startup.
User authentication (OIDC and custom JWT)AvailableFunctions verify identities issued by your identity provider. See authenticate users.
CapabilityStatusNotes
TypeScript queries, mutations, actions, and HTTP routesAvailableConvex-compatible function model. See write functions.
Runtime bundle integrityAvailableBundles are SHA-256 verified on every invocation. Deploys stage and activate through the deploy & admin API.
Runtime-backed live subscriptionsAvailableDependency tracking is narrower than coarse table-level invalidation.
Node.js compatibility ("use node" actions)Available with caveatsNode 22, 24 (default), and 26 are selectable targets; Node 20 is local-development only. The supported surface is bounded and evidence-backed — see Node compatibility.
Runtime permission grantsAvailableCompatibility target and host access are separate axes; selecting a Node version grants nothing. See runtime permissions.
Runtime and per-tenant engine diagnosticsAvailableRuntime lane state plus per-tenant journal, admission, subscription-delivery, serving, and replica-freshness metrics over HTTP. See observability.
AdapterStatusHow it is enabled
ConvexAvailableDetected by nimbus dev and nimbus start from your convex/ directory. See the guide and compatibility reference.
Cloud Functions for FirebaseAvailableDetected from firebase.json. See the guide and compatibility reference.
FirestoreAvailable with caveatsRoutes are implemented in the server and gated on deployment configuration; no CLI flag wires them yet. See the guide and compatibility reference.
MongoDB wire protocolAvailable with caveatsEnabled through the Rust embedding API, not a CLI flag. SCRAM-SHA-256 authentication on a loopback listener. See the guide and operations reference.
DynamoDB APIAvailable with caveatsEnabled through the Rust embedding API, not a CLI flag. Dedicated listener (default 127.0.0.1:8000); each access key is bound to one tenant. See the guide and feature coverage.
Native HTTP and WebSocket APIAvailableAlways on. See build on the native API.
Nimbus JavaScript SDKAvailableServices, sandboxes, and sessions from one client. See the SDK guide.
CapabilityStatusNotes
SQLite backend (default)AvailableOne database file per tenant. See storage backends.
PostgreSQL backendAvailableOne schema per tenant in a database you operate.
MySQL backendAvailableOne database per tenant.
libSQL / Turso backendAvailableLocal replica reads against a remote libSQL primary, with replica-freshness diagnostics.
redb backendAvailableRetained embedded key-value backend; prefer SQLite otherwise.
Encryption at restAvailablePer-file data keys with master-key-file, key-directory, or AWS KMS providers, plus key-rotation commands. See encryption.
Backup and restoreAvailable with caveatsStorage-level procedures only — no first-class backup command and no point-in-time recovery. See backup & restore.
Production deploymentAvailableLinux servers, the official container image, and a desktop install for the operator console.
CapabilityStatusNotes
Service, sandbox, and session APIsAvailableDeclared services, isolated sandboxes, and scoped sessions over HTTP and the SDK. See the resource model.
Sandbox isolation backendsAvailable with caveatsSandboxes run as containers or libkrun microVMs on Linux hosts, with deny-by-default egress. Non-Linux hosts need a machine (below).
Machines (nimbus machine)Available with caveatsA managed Linux VM that hosts sandboxes on macOS (and WSL2 on Windows). See the CLI reference.
Compose-declared servicesAvailablenimbus compose manages service workloads and exports systemd units. See node lifecycle.
CapabilityStatusNotes
Multi-node clustering and horizontal scale-outNot yetA Nimbus deployment is a single process today. See scaling.
First-class backup command and point-in-time recoveryNot yetBack up the storage layer directly; see backup & restore.
MongoDB change streamsNot yetSee MongoDB operations.
Automatic updatesNot yetThe server checks for new versions but never upgrades itself. See updates.