dcfc6da604
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`
86 lines
2.4 KiB
TOML
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"
|