summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--infra/enterprise.ts1
-rw-r--r--packages/console/app/src/routes/t/[...path].tsx20
-rw-r--r--packages/enterprise/vite.config.ts9
3 files changed, 29 insertions, 1 deletions
diff --git a/infra/enterprise.ts b/infra/enterprise.ts
index 70693846a..316d6384d 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 000000000..b877a8d58
--- /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 fb51d750c..11ca1729d 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,