Overview
Prerequisites and the shape of an eetr-auth deployment before you begin.
eetr-auth deploys to your Cloudflare account. Terraform provisions the data stores
(D1 + R2), Wrangler deploys the two Workers, and an automated setup script wires everything
together. This section takes you from an empty Cloudflare account to a running server.
Prerequisites
| Requirement | Notes |
|---|---|
| Node.js 20+ | Runs the workspace tooling and apps/auth build |
Rust + wasm32-unknown-unknown | Builds the argon-hasher Worker |
worker-build ^0.7 | cargo install worker-build --version '^0.7' |
| Wrangler CLI v4+ | Deploys Workers, applies D1 schema |
| Terraform CLI v1.5+ | Provisions D1 + R2 |
| Cloudflare account | Workers, D1, R2, and Images enabled |
| Resend account | Optional — transactional email (password reset, OTP) |
Argon2id needs CPU headroom
Argon2id is deliberately expensive. The Workers Free plan caps CPU at 10 ms per request,
which is not enough for hashing — the argon-hasher Worker typically needs Workers Paid with a
raised per-invocation CPU limit. See the argon-hasher worker.
The shape of a deployment
The only manual operator inputs are: export a Cloudflare API token, fill the Terraform
variables, run terraform apply, and deploy argon-hasher. After that, npm run setup:remote
automates the rest.