tldraw/apps/bemo-worker/wrangler.toml
alex dcfc6da604
Demo assets server (#4055)
Adds an assets server to the demo worker, and reworks the existing asset
server to use the same code. There are a few simplifications to the code
due to some DX improvements working with R2 and caches. I also removed
the `HEAD` request from the assets server: i took a look at our logs and
it's not actually used at all.

This also fixes an issue where users could overwrite the contents of the
asset uploads bucket.

### Change type

- [x] `other`
2024-07-02 13:08:50 +00:00

86 lines
2.4 KiB
TOML

main = "src/worker.ts"
compatibility_date = "2024-06-25"
upload_source_maps = true
[dev]
port = 8989
ip = "0.0.0.0"
# these migrations are append-only. you can't change them. if you do need to change something, do so
# by creating new migrations
[[migrations]]
tag = "v1" # Should be unique for each entry
new_classes = ["BemoDO"]
#################### Environment names ####################
# dev should never actually get deployed anywhere
[env.dev]
name = "dev-bemo"
# we don't have a hard-coded name for preview. we instead have to generate it at build time and append it to this file.
# staging is the same as a preview on main:
[env.staging]
name = "canary-bemo"
routes = [{ pattern = "canary-demo.tldraw.xyz", custom_domain = true }]
# production gets the proper name
[env.production]
name = "production-bemo"
routes = [{ pattern = "demo.tldraw.xyz", custom_domain = true }]
#################### Durable objects ####################
# durable objects have the same configuration in all environments:
[durable_objects]
bindings = [{ name = "BEMO_DO", class_name = "BemoDO" }]
[env.dev.durable_objects]
bindings = [{ name = "BEMO_DO", class_name = "BemoDO" }]
[env.preview.durable_objects]
bindings = [{ name = "BEMO_DO", class_name = "BemoDO" }]
[env.staging.durable_objects]
bindings = [{ name = "BEMO_DO", class_name = "BemoDO" }]
[env.production.durable_objects]
bindings = [{ name = "BEMO_DO", class_name = "BemoDO" }]
#################### R2 bucket ####################
# in dev, we write to the preview bucket and need a `preview_bucket_name`
[[env.dev.r2_buckets]]
binding = 'BEMO_BUCKET'
bucket_name = 'sync-demo-preview'
preview_bucket_name = 'sync-demo-preview'
# in preview and staging we write to the preview bucket
[[env.preview.r2_buckets]]
binding = 'BEMO_BUCKET'
bucket_name = 'sync-demo-preview'
[[env.stating.r2_buckets]]
binding = 'BEMO_BUCKET'
bucket_name = 'sync-demo-preview'
# in production, we write to the main bucket
[[env.production.r2_buckets]]
binding = "BEMO_BUCKET"
bucket_name = "sync-demo"
#################### Version metadata ####################
[version_metadata]
binding = "CF_VERSION_METADATA"
[env.dev.version_metadata]
binding = "CF_VERSION_METADATA"
[env.preview.version_metadata]
binding = "CF_VERSION_METADATA"
[env.staging.version_metadata]
binding = "CF_VERSION_METADATA"
[env.production.version_metadata]
binding = "CF_VERSION_METADATA"