| 131 | }; |
| 132 | |
| 133 | const ensureSharedBucket = async (): Promise<void> => { |
| 134 | const existing = await cf("GET", `/accounts/${ACCOUNT}/r2/buckets/${SHARED_BLOBS_BUCKET}`); |
| 135 | if (existing.ok) return; |
| 136 | const created = await cf("POST", `/accounts/${ACCOUNT}/r2/buckets`, { |
| 137 | name: SHARED_BLOBS_BUCKET, |
| 138 | }); |
| 139 | if (!created.ok) fail(`creating R2 bucket ${SHARED_BLOBS_BUCKET} failed: ${created.errors}`); |
| 140 | process.stderr.write(`created shared R2 bucket ${SHARED_BLOBS_BUCKET}\n`); |
| 141 | }; |
| 142 | |
| 143 | const workersSubdomain = async (): Promise<string> => { |
| 144 | const result = await cfOk("GET", `/accounts/${ACCOUNT}/workers/subdomain`); |