| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- /// <reference path="./.sst/platform/config.d.ts" />
- export default $config({
- app(input) {
- return {
- name: "opencode",
- removal: input?.stage === "production" ? "retain" : "remove",
- protect: ["production"].includes(input?.stage),
- home: "cloudflare",
- providers: {
- aws: {
- version: "7.30.0",
- region: "us-east-1",
- profile: process.env.GITHUB_ACTIONS
- ? undefined
- : input.stage === "production"
- ? "opencode-production"
- : "opencode-dev",
- },
- stripe: {
- version: "0.0.28",
- apiKey: process.env.STRIPE_SECRET_KEY!,
- },
- random: "4.19.2",
- planetscale: "0.4.1",
- honeycomb: "0.49.0",
- },
- }
- },
- async run() {
- const stage = await import("./infra/stage.js")
- await import("./infra/app.js")
- const lake = stage.deployAws ? await import("./infra/lake.js") : undefined
- const stats = stage.deployAws ? await import("./infra/stats.js") : undefined
- const { stat } = await import("./infra/console.js")
- await import("./infra/enterprise.js")
- if ($app.stage === "production" || $app.stage === "vimtor") {
- await import("./infra/monitoring.js")
- }
- return {
- StatWorkerUrl: stat.url,
- ...(stats ? { StatsUrl: stats.app.url } : {}),
- ...(lake
- ? {
- LakeUrl: lake.lakeIngest.properties.url,
- LakeSecretSsm: lake.ingestSecretSsm.name,
- }
- : {}),
- AwsStage: stage.awsStage,
- }
- },
- })
|