import { defineConfig } from "@alminabrulic/deploykit"; // Generated by `deploykit init` — the source of truth for your CI/CD setup. // Edit this file (keep it JSON-style), then run `deploykit generate` to // regenerate the Dockerfiles, fly.toml files and workflow from it. export default defineConfig({ tool: "turbo", packageManager: "pnpm", nodeVersion: "20", namePrefix: "acme", provider: { type: "fly", org: "acme", region: "iad", regions: ["iad", "lhr"], }, cloudflare: { zone: "example.com", proxied: true, ssl: "strict", alwaysUseHttps: true, minTlsVersion: "1.2", security: true, cache: true, }, apps: { web: { root: "apps/web", packageName: "@acme/web", framework: "react-router", serve: "server", startCommand: [ "node", "node_modules/@react-router/serve/bin.js", "./build/server/index.js", ], port: 3000, healthCheckPath: "/", internalDeps: ["@acme/ui", "@acme/database"], watchPaths: ["apps/web/**", "packages/ui/**", "packages/database/**"], prisma: [ { packageName: "@acme/database", root: "packages/database", schema: "prisma/schema.prisma", hasConfig: false, }, ], secrets: ["DATABASE_URL", "SESSION_SECRET"], buildEnv: ["VITE_API_URL"], environments: { preview: { name: "web-pr-{pr}", trigger: "pr", }, staging: { name: "web-staging", trigger: "push:main", }, production: { name: "web-prod", trigger: "manual", hostname: "shop.example.com", }, }, }, marketing: { root: "apps/marketing", packageName: "@acme/marketing", framework: "astro", serve: "static", outputDir: "dist", port: 8080, internalDeps: ["@acme/ui"], watchPaths: ["apps/marketing/**", "packages/ui/**"], secrets: [], environments: { preview: { name: "marketing-pr-{pr}", trigger: "pr", }, staging: { name: "marketing-staging", trigger: "push:main", }, }, }, }, });