| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- 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
- 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!),
- },
- })
- new sst.cloudflare.StaticSite("WebApp", {
- domain: "app." + domain,
- path: "packages/app",
- build: {
- command: "bun turbo build",
- output: "./dist",
- },
- })
|