env.
The Voyant deployment resolves storage differently. Its modules resolve logical stores such as
media and documents through a provider, never a vendor bucket or a binding. See Adapters and providers.Object storage (R2)
R2 is object storage for files: uploads, generated documents, exports, and media. Provision a bucket from the CLI, or declare it and let the deploy provision it for you:wrangler.jsonc. On deploy, Cloud resolves it to a provisioned bucket scoped to your organization and environment:
put, get, list, delete, multipart, conditional reads) are Cloudflare’s R2 Workers API:
Key-value (KV)
KV namespaces are a separate provisioned resource with their own dashboard page, and they share this binding model: you bind a namespace throughkv_namespaces in wrangler.jsonc and use it with the Cloudflare KV API. See KV for provisioning, binding, and usage.
Binding names
Cloud derives the binding name by upper-casing the resource name and turning dashes into underscores, somy-cache becomes MY_CACHE. Reference your storage in code as env.<BINDING> using that name. The platform owns the r2_buckets, kv_namespaces, and d1_databases keys in the merged wrangler config, so the resolved ids always point at your provisioned resources.
Next steps
Database
Managed Postgres and D1 for relational data.
CLI commands
Every
storage subcommand and flag.