diff --git a/infra/enterprise.ts b/infra/enterprise.ts index 70693846a1..316d6384d0 100644 --- a/infra/enterprise.ts +++ b/infra/enterprise.ts @@ -8,6 +8,7 @@ const enterprise = new sst.cloudflare.x.SolidStart("Enterprise", { path: "packages/enterprise", buildCommand: "bun run build:cloudflare", environment: { + OPENCODE_BASE_URL: "/t", OPENCODE_STORAGE_ADAPTER: "r2", OPENCODE_STORAGE_ACCOUNT_ID: sst.cloudflare.DEFAULT_ACCOUNT_ID, OPENCODE_STORAGE_ACCESS_KEY_ID: SECRET.R2AccessKey.value, diff --git a/packages/console/app/src/routes/t/[...path].tsx b/packages/console/app/src/routes/t/[...path].tsx new file mode 100644 index 0000000000..b877a8d58a --- /dev/null +++ b/packages/console/app/src/routes/t/[...path].tsx @@ -0,0 +1,20 @@ +import type { APIEvent } from "@solidjs/start/server" + +async function handler(evt: APIEvent) { + const req = evt.request.clone() + const url = new URL(req.url) + const targetUrl = `https://enterprise.opencode.ai/${url.pathname}${url.search}` + const response = await fetch(targetUrl, { + method: req.method, + headers: req.headers, + body: req.body, + }) + return response +} + +export const GET = handler +export const POST = handler +export const PUT = handler +export const DELETE = handler +export const OPTIONS = handler +export const PATCH = handler diff --git a/packages/enterprise/vite.config.ts b/packages/enterprise/vite.config.ts index fb51d750c1..11ca1729df 100644 --- a/packages/enterprise/vite.config.ts +++ b/packages/enterprise/vite.config.ts @@ -18,7 +18,14 @@ const nitroConfig: any = (() => { })() export default defineConfig({ - plugins: [tailwindcss(), solidStart() as PluginOption, nitro(nitroConfig)], + plugins: [ + tailwindcss(), + solidStart() as PluginOption, + nitro({ + ...nitroConfig, + baseURL: process.env.OPENCODE_BASE_URL, + }), + ], server: { host: "0.0.0.0", allowedHosts: true,