drift Docs
Start
What is Drift?
The tour, if you are new here.
Why Drift?
The case for a smaller cloud.
Getting started
Nothing to deployed, in one command.
Architecture
How a slice is put together.
What it costs
The free grant, five unit prices, two rules.
Build
Canvas
Static sites, same origin as your API.
Tools
Operate
Auth
Accounts, tokens and scopes.
Security
Boundaries, sandboxing and hardening.

backbone

Direct access to the slice's data primitives, for inspection and one-off fixes. Your functions reach the same data through the SDK.

Secrets

Command Description
drift backbone secret set KEY=VALUEStore a secret (encrypted at rest, AES-256-GCM)
drift backbone secret get KEYRetrieve a secret's value
drift backbone secret listList secret names
drift backbone secret delete KEYDelete a secret

NoSQL

Command Description
drift backbone nosql write --collection C --data '{...}'Write a JSON document to a collection
drift backbone nosql read --key K [--collection C]Read a document by key
drift backbone nosql list [--collection C] [--field F --value V] [--limit N]List documents, optionally filtered by a field
drift backbone nosql drop <collection>Delete a collection and all its documents

--limit defaults to 100 and is clamped to 1–1000. read takes the _key the platform assigned, which you get from list, not your own _id.

SQL

Per-slice SQLite databases are declared in the Driftfile and used from the SDK; from the CLI you can inspect and drop them.

Command Description
drift backbone sql listList the slice's SQL databases
drift backbone sql drop <name>Delete a database (and reset its seed on next deploy)

Cache

Command Description
drift backbone cache set <key> <value> [--ttl 3600]Set a cache entry (TTL in seconds, 0 = no expiry)
drift backbone cache get <key>Read a cache entry
drift backbone cache exists <key>Check whether a key exists
drift backbone cache del <key>Delete a cache entry

Queues

Command Description
drift backbone queue push <name> '<json>'Push a JSON message onto a queue
drift backbone queue peek <name>Read the next message without removing it
drift backbone queue pop <name>Take the next message (destructive)
drift backbone queue len <name>Print the queue depth
drift backbone queue drop <name>Delete a queue and all its messages

A dead-letter queue is an ordinary queue named <queue>-dlq, so the same commands drain it.

Blobs

Command Description
drift backbone blob put <bucket> <key> <file>Upload a file to a bucket
drift backbone blob get <bucket> <key>Download a blob (streams to stdout)
drift backbone blob list <bucket>List keys in a bucket
drift backbone blob delete <bucket> <key>Delete a blob

A key containing a slash never appears in a listing.

list reads only the top level of a bucket, so a key containing a slash never appears, and a snapshot walks the same listing, so it is absent from the archive too. Keep keys flat.

Locks

Command Description
drift backbone lock acquire <name> <owner> [--ttl 30]Acquire a named lock (conflicts if it is held)
drift backbone lock renew <name> <owner> [--ttl 30]Extend a lock's TTL
drift backbone lock release <name> <owner>Release a named lock

The CLI names the owner itself, which is what lets renew exist here and not in the SDK because every SDK Acquire mints a fresh token, so a function cannot extend a lock it holds.

Status

Command Description
drift backbone statusPer-subsystem health: cache entries, NoSQL disk, queue depths, blob counts, active locks