Skip to content

Resource Kinds

Tamer-managed Cloudflare resources are declared on a worker under resources. Each kind expands to a Wrangler binding plus a state row keyed by derived name.

Supported kinds

KindConfig keyBinding type
D1d1d1_databases[]
R2r2r2_buckets[]
KVkvkv_namespaces[]
Queuesqueuesqueues.producers[]
Hyperdrivehyperdrivehyperdrive[]
Vectorizevectorizevectorize[]
AI GatewayaiGateway(no wrangler binding — account-scoped)
Pipelinespipelinespipelines[]
Workflowsworkflowsworkflows[]
Durable ObjectsdurableObjects (+ worker doMigrations)durable_objects.bindings[] + migrations[]
Secrets StoresecretsStores(store container — account-scoped)
DNS Records(stack root)(no wrangler binding)
Dispatch Namespace(stack root, wfp.namespaces)(no wrangler binding — derived name {product}-{env})
Worker Route(derived from tamerRoutes)(applied via API, not in wrangler.json)

Adding a new resource kind

Every resource is wired through a single registry at src/core/registry/registry.ts. To add a new kind:

  1. Add config + state types to src/types.ts
  2. Implement the per-feature module under src/features/<kind>/
  3. Author <kind>.module.ts exporting a ResourceModule
  4. Append to resourceModules in src/core/registry/registry.ts

Every command picks the kind up automatically — no command edits needed.

See the README for per-kind configuration details and notes.

Released under the Tamer Evaluation License.