opencode/infra/app.ts

52 lines
1.1 KiB
TypeScript
Raw Normal View History

2025-05-24 03:57:33 +08:00
export const domain = (() => {
if ($app.stage === "production") return "opencode.ai"
if ($app.stage === "dev") return "dev.opencode.ai"
return `${$app.stage}.dev.opencode.ai`
})()
2025-05-24 02:17:45 +08:00
const bucket = new sst.cloudflare.Bucket("Bucket")
export const api = new sst.cloudflare.Worker("Api", {
2025-05-24 03:57:33 +08:00
domain: `api.${domain}`,
2025-05-24 02:17:45 +08:00
handler: "packages/function/src/api.ts",
url: true,
link: [bucket],
transform: {
worker: (args) => {
2025-05-31 02:40:53 +08:00
args.logpush = true
2025-05-24 02:17:45 +08:00
args.bindings = $resolve(args.bindings).apply((bindings) => [
...bindings,
{
name: "SYNC_SERVER",
type: "durable_object_namespace",
className: "SyncServer",
},
])
args.migrations = {
oldTag: "v1",
newTag: "v1",
//newSqliteClasses: ["SyncServer"],
}
},
},
})
2025-06-06 03:37:17 +08:00
// new sst.cloudflare.StaticSite("Web", {
// path: "packages/web",
// domain,
// environment: {
// VITE_API_URL: api.url,
// },
// build: {
// command: "bun run build",
// output: "dist",
// },
// })
2025-06-08 11:46:53 +08:00
new sst.cloudflare.x.Astro("Web", {
2025-05-24 03:57:33 +08:00
domain,
2025-06-06 03:37:17 +08:00
path: "packages/web",
2025-05-24 02:40:28 +08:00
environment: {
VITE_API_URL: api.url,
},
})