| 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 DISCORD_SUPPORT_BOT_TOKEN = new sst.Secret("DISCORD_SUPPORT_BOT_TOKEN") |
| const DISCORD_SUPPORT_CHANNEL_ID = new sst.Secret("DISCORD_SUPPORT_CHANNEL_ID") |
| const FEISHU_APP_ID = new sst.Secret("FEISHU_APP_ID") |
| const FEISHU_APP_SECRET = new sst.Secret("FEISHU_APP_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, |
| DISCORD_SUPPORT_BOT_TOKEN, |
| DISCORD_SUPPORT_CHANNEL_ID, |
| FEISHU_APP_ID, |
| FEISHU_APP_SECRET, |
| ], |
| transform: { |
| worker: (args) => { |
| args.logpush = true |
| if ($app.stage === "vimtor" || $app.stage === "adam") return |
| args.bindings = $resolve(args.bindings).apply((bindings) => [ |
| ...bindings, |
| { |
| name: "SYNC_SERVER", |
| type: "durable_object_namespace", |
| className: "SyncServer", |
| }, |
| ]) |
| args.migrations = { |
| |
| oldTag: $app.stage === "production" || $app.stage === "thdxr" ? "" : "v1", |
| newTag: $app.stage === "production" || $app.stage === "thdxr" ? "" : "v1", |
| |
| } |
| }, |
| }, |
| }) |
|
|
| new sst.cloudflare.x.Astro("Web", { |
| domain: "docs." + domain, |
| path: "packages/web", |
| environment: { |
| |
| SST_STAGE: $app.stage, |
| VITE_API_URL: api.url.apply((url) => url!), |
| }, |
| }) |
|
|
| new sst.cloudflare.StaticSite("WebApp", { |
| domain: "app." + domain, |
| path: "packages/app", |
| build: { |
| command: "bun turbo build", |
| output: "./dist", |
| }, |
| }) |
|
|