drift Docs
Start
What is Drift?
The tour, if you are new here.
Use cases
Whether Drift does your thing.
Getting started
Nothing to deployed, in one command.
Architecture
How a slice is put together.
What it costs
The free grant, four 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.
Troubleshooting
Error codes
What went wrong, and what to do about it.
Legal
Acceptable use
What a slice may not be used for.
Data processing
The DPA, and every sub-processor.

Driftfile

A Driftfile declares what runs on a slice: which Atomic functions to deploy, which Backbone collections to seed, which Canvas sites to publish. You run drift file apply from the project root, and the platform ships the lot into the slice the file names.

It does not say how big anything is. A slice's shape — how many functions, what each books, how much storage each collection gets, and what the lot costs — is chosen in the slice's shape, which owns it. The Driftfile fills the slots that shape created.

That split is the thing to hold on to: drift slice create/resize declare what exists, the Driftfile says which source fills it. So applying a file never creates a slice, never grows one and never shrinks one, and it refuses against a slice that does not exist.

The file

The file is named Driftfile: capital D, no extension, just like a Makefile or Dockerfile. It lives at the project root, next to your atomic/, backbone/, and canvas/ folders. The format inside is YAML. The CLI looks for ./Driftfile where you run the deploy. There is no second config file and no lockfile; multiple environments live in this one file under environments:, not a forest of per-environment variants.

  • my-project/the project root
    • atomic/your functions
      • submit.go
      • validator.go
    • backbone/seeds and schemas
      • permit-types.jsonlupserted by _id
    • canvas/your sites
      • public/mounted at /
      • reviewer/mounted at /reviewer
    • Driftfilethe manifest, at the root

The shape of the file

Section by section

The smallest Driftfile

The minimum is the slice it applies to and one thing to put in it:

slice: hello
canvas: ./canvas

drift file new writes a starter one for you.

Keys that moved to the slice's shape

Seventeen capacity keys still parse and are ignored — the value stays where you wrote it, nothing reads it, and drift file lint says so once per key. They are listed with their destinations on Anatomy. Nothing breaks if you leave them in; nothing happens either.