mirror of
https://github.com/aljazceru/opencode.git
synced 2025-12-19 16:54:22 +01:00
47 lines
1.4 KiB
TypeScript
47 lines
1.4 KiB
TypeScript
import { domain } from "./stage"
|
|
|
|
const GITHUB_APP_ID = new sst.Secret("GITHUB_APP_ID")
|
|
const GITHUB_APP_PRIVATE_KEY = new sst.Secret("GITHUB_APP_PRIVATE_KEY")
|
|
export const EMAILOCTOPUS_API_KEY = new sst.Secret("EMAILOCTOPUS_API_KEY")
|
|
const ADMIN_SECRET = new sst.Secret("ADMIN_SECRET")
|
|
const bucket = new sst.cloudflare.Bucket("Bucket")
|
|
|
|
export const api = new sst.cloudflare.Worker("Api", {
|
|
domain: `api.${domain}`,
|
|
handler: "packages/function/src/api.ts",
|
|
environment: {
|
|
WEB_DOMAIN: domain,
|
|
},
|
|
url: true,
|
|
link: [bucket, GITHUB_APP_ID, GITHUB_APP_PRIVATE_KEY, ADMIN_SECRET],
|
|
transform: {
|
|
worker: (args) => {
|
|
args.logpush = true
|
|
args.bindings = $resolve(args.bindings).apply((bindings) => [
|
|
...bindings,
|
|
{
|
|
name: "SYNC_SERVER",
|
|
type: "durable_object_namespace",
|
|
className: "SyncServer",
|
|
},
|
|
])
|
|
args.migrations = {
|
|
// Note: when releasing the next tag, make sure all stages use tag v2
|
|
oldTag: $app.stage === "production" || $app.stage === "thdxr" ? "" : "v1",
|
|
newTag: $app.stage === "production" || $app.stage === "thdxr" ? "" : "v1",
|
|
//newSqliteClasses: ["SyncServer"],
|
|
}
|
|
},
|
|
},
|
|
})
|
|
|
|
new sst.cloudflare.x.Astro("Web", {
|
|
domain: "docs." + domain,
|
|
path: "packages/web",
|
|
environment: {
|
|
// For astro config
|
|
SST_STAGE: $app.stage,
|
|
VITE_API_URL: api.url.apply((url) => url!),
|
|
},
|
|
})
|