{ "$schema": "https://app.flightcontrol.dev/schema.json", "environments": [ { "id": "prod", "name": "Prod", "region": "us-east-1", "source": { "branch": "main", "trigger": "push" }, "envVariables": { "PULSAR_ISSUER_URL": "https://auth.streamnative.cloud/", "PULSAR_AUDIENCE": { "fromParameterStore": "/Prod/Pulsar/Audience" }, "PULSAR_TENANT": "triggerdotdev", "PULSAR_WORKFLOWS_NAMESPACE": "workflows", "PULSAR_QUEUES_NAMESPACE": "queues", "PULSAR_SERVICE_URL": { "fromParameterStore": "/Prod/Pulsar/ServiceURL" }, "DOCKER_USERNAME": "maverickdotdev", "DOCKER_PASSWORD": { "fromParameterStore": "/Docker/Password" } }, "services": [ { "id": "p-webapp", "name": "Prod Webapp", "type": "fargate", "buildType": "docker", "dockerfilePath": "./apps/webapp/Dockerfile", "dockerContext": ".", "cpu": 4, "memory": 8, "minInstances": 1, "maxInstances": 10, "domain": "app.trigger.dev", "port": 3000, "healthCheckPath": "/healthcheck", "watchPaths": [ "apps/webapp/app/**", "apps/webapp/public/**", "apps/webapp/Dockerfile", "apps/webapp/package.json", "apps/webapp/server.ts", "apps/webapp/remix.config.js", "apps/webapp/tailwind.config.js", "apps/webapp/tsconfig.json", "apps/webapp/postcss.config.js", "apps/webapp/styles/**", "apps/webapp/prisma/**", "apps/webapp/types/**", "packages/internal-platform/src/**", "packages/common-schemas/src/**", "integrations/*/src/**", "packages/integration-catalog/src/**", "packages/emails/src/**", "packages/emails/emails/**", "packages/internal-pulsar/src/**", "./pnpm-lock.yaml" ], "dependsOn": [ "p-db" ], "envVariables": { "FROM_EMAIL": "Trigger.dev ", "REPLY_TO_EMAIL": "hello@trigger.dev", "RESEND_API_KEY": { "fromParameterStore": "/Prod/webapp/RESEND_API_KEY" }, "SENTRY_DSN": { "fromParameterStore": "SENTRY_DSN" }, "SENTRY_PROJECT": "triggerdev-web", "SENTRY_ORG": "triggerdev", "SENTRY_AUTH_TOKEN": { "fromParameterStore": "SENTRY_AUTH_TOKEN" }, "SESSION_SECRET": { "fromParameterStore": "/Prod/webapp/SESSION_SECRET" }, "MAGIC_LINK_SECRET": { "fromParameterStore": "/Prod/webapp/MAGIC_LINK_SECRET" }, "GITHUB_CLIENT_ID": "724e56fcebe940eb5b22", "GITHUB_SECRET": { "fromParameterStore": "/Prod/webapp/GITHUB_SECRET" }, "DATABASE_URL": { "fromService": { "id": "p-db", "value": "dbConnectionString" } }, "PULSAR_CLIENT_ID": { "fromParameterStore": "/Prod/Pulsar/webapp/ClientId" }, "PULSAR_CLIENT_SECRET": { "fromParameterStore": "/Prod/Pulsar/webapp/ClientSecret" }, "PULSAR_ROLE": { "fromParameterStore": "/Prod/Pulsar/webapp/Role" }, "PIZZLY_HOST": "https://auth.trigger.dev", "PIZZLY_SECRET_KEY": { "fromParameterStore": "/Prod/webapp/PIZZLY_SECRET_KEY" }, "POSTHOG_PROJECT_KEY": { "fromParameterStore": "/Prod/webapp/POSTHOG_PROJECT_KEY" }, "TRIGGER_LOG_LEVEL": "debug", "INTERNAL_TRIGGER_API_KEY": { "fromParameterStore": "/Prod/webapp/INTERNAL_TRIGGER_API_KEY" }, "PULSAR_ENABLED": "1", "PULSAR_DEBUG": true, "GITHUB_APP_NAME": "trigger-dev-app", "GITHUB_APP_ID": "294349", "GITHUB_APP_CLIENT_ID": { "fromParameterStore": "/Prod/webapp/GITHUB_APP_CLIENT_ID" }, "GITHUB_APP_CLIENT_SECRET": { "fromParameterStore": "/Prod/webapp/GITHUB_APP_CLIENT_SECRET" }, "GITHUB_APP_PRIVATE_KEY": { "fromParameterStore": "/Prod/webapp/GITHUB_APP_PRIVATE_KEY" }, "GITHUB_APP_WEBHOOK_SECRET": { "fromParameterStore": "/Prod/webapp/GITHUB_APP_WEBHOOK_SECRET" }, "INTEGRATIONS_API_KEY": { "fromParameterStore": "/Prod/integrations/API_TOKEN" }, "INTEGRATIONS_API_ORIGIN": "https://integrations.trigger.dev" } }, { "id": "p-wss", "name": "Prod WSS", "type": "fargate", "buildType": "docker", "dockerfilePath": "./apps/wss/Dockerfile", "dockerContext": ".", "cpu": 2, "memory": 4, "minInstances": 2, "maxInstances": 10, "domain": "wss.trigger.dev", "port": 8889, "healthCheckPath": "/healthcheck", "watchPaths": [ "apps/wss/src/**", "apps/wss/tsconfig.json", "apps/wss/tsup.config.ts", "apps/wss/package.json", "packages/internal-platform/src/**", "packages/internal-bridge/src/**", "packages/common-schemas/src/**", "packages/internal-pulsar/src/**", "./pnpm-lock.yaml" ], "envVariables": { "PULSAR_CLIENT_ID": { "fromParameterStore": "/Prod/Pulsar/wss/ClientId" }, "PULSAR_CLIENT_SECRET": { "fromParameterStore": "/Prod/Pulsar/wss/ClientSecret" }, "PULSAR_ROLE": { "fromParameterStore": "/Prod/Pulsar/wss/Role" }, "PLATFORM_API_URL": "https://app.trigger.dev", "TRIGGER_LOG_LEVEL": "debug" } }, { "id": "p-integrations", "name": "Prod integrations", "type": "fargate", "buildType": "docker", "dockerfilePath": "./apps/integrations/Dockerfile", "dockerContext": ".", "cpu": 2, "memory": 4, "minInstances": 2, "maxInstances": 10, "domain": "integrations.trigger.dev", "port": 3006, "healthCheckPath": "/healthcheck", "watchPaths": [ "apps/integrations/src/**", "apps/integrations/tsconfig.json", "apps/integrations/tsup.config.ts", "apps/integrations/package.json", "./pnpm-lock.yaml" ], "envVariables": { "DATABASE_URL": { "fromParameterStore": "/Prod/integrations/DATABASE_URL" }, "API_TOKEN": { "fromParameterStore": "/Prod/integrations/API_TOKEN" } } }, { "id": "p-db", "name": "Prod Database", "type": "rds", "engine": "postgres", "applyChangesImmediately": true, "engineVersion": "14", "autoUpgradeMinorVersions": true, "instanceSize": "db.m5.2xlarge", "storage": 4000, "maxStorage": 4000, "private": false, "deletionProtection": true, "port": 5432 }, { "id": "p-redis", "name": "Prod Redis", "type": "elasticache", "engine": "redis", "engineVersion": "7.0", "instanceSize": "cache.m5.large", "connectionStringEnvVarName": "REDIS_URL" } ] }, { "id": "staging", "name": "Staging", "region": "us-east-1", "source": { "branch": "dev", "trigger": "push" }, "envVariables": { "PULSAR_ISSUER_URL": "https://auth.streamnative.cloud/", "PULSAR_AUDIENCE": { "fromParameterStore": "/Prod/Pulsar/Audience" }, "PULSAR_TENANT": "triggerdotdev-staging", "PULSAR_WORKFLOWS_NAMESPACE": "workflows", "PULSAR_QUEUES_NAMESPACE": "queues", "PULSAR_SERVICE_URL": { "fromParameterStore": "/Prod/Pulsar/ServiceURL" }, "DOCKER_USERNAME": "maverickdotdev", "DOCKER_PASSWORD": { "fromParameterStore": "/Docker/Password" } }, "services": [ { "id": "s-webapp", "name": "Staging Webapp", "type": "fargate", "buildType": "docker", "dockerfilePath": "./apps/webapp/Dockerfile", "dockerContext": ".", "cpu": 0.5, "memory": 2, "minInstances": 1, "maxInstances": 2, "domain": "app-staging.trigger.dev", "port": 3000, "healthCheckPath": "/healthcheck", "watchPaths": [ "apps/webapp/app/**", "apps/webapp/public/**", "apps/webapp/Dockerfile", "apps/webapp/package.json", "apps/webapp/server.ts", "apps/webapp/remix.config.js", "apps/webapp/tailwind.config.js", "apps/webapp/tsconfig.json", "apps/webapp/postcss.config.js", "apps/webapp/styles/**", "apps/webapp/prisma/**", "apps/webapp/types/**", "packages/internal-platform/src/**", "packages/common-schemas/src/**", "integrations/*/src/**", "packages/integration-catalog/src/**", "packages/emails/src/**", "packages/emails/emails/**", "packages/internal-pulsar/src/**", "./pnpm-lock.yaml" ], "dependsOn": [ "s-db" ], "envVariables": { "APP_ENV": "staging", "FROM_EMAIL": "Trigger.dev ", "REPLY_TO_EMAIL": "hello@trigger.dev", "RESEND_API_KEY": { "fromParameterStore": "/Staging/webapp/RESEND_API_KEY" }, "SENTRY_DSN": { "fromParameterStore": "SENTRY_DSN" }, "SENTRY_PROJECT": "triggerdev-web", "SENTRY_ORG": "triggerdev", "SENTRY_AUTH_TOKEN": { "fromParameterStore": "SENTRY_AUTH_TOKEN" }, "SESSION_SECRET": { "fromParameterStore": "/Staging/webapp/SESSION_SECRET" }, "MAGIC_LINK_SECRET": { "fromParameterStore": "/Staging/webapp/MAGIC_LINK_SECRET" }, "GITHUB_CLIENT_ID": "2da3c8e5c6e4e0a7964f", "GITHUB_SECRET": { "fromParameterStore": "/Staging/webapp/GITHUB_SECRET" }, "DATABASE_URL": { "fromService": { "id": "s-db", "value": "dbConnectionString" } }, "PULSAR_CLIENT_ID": { "fromParameterStore": "/Staging/Pulsar/webapp/ClientId" }, "PULSAR_CLIENT_SECRET": { "fromParameterStore": "/Staging/Pulsar/webapp/ClientSecret" }, "PULSAR_ROLE": { "fromParameterStore": "/Staging/Pulsar/webapp/Role" }, "PIZZLY_HOST": "https://auth-staging.trigger.dev", "PIZZLY_SECRET_KEY": { "fromParameterStore": "/Staging/webapp/PIZZLY_SECRET_KEY" }, "POSTHOG_PROJECT_KEY": { "fromParameterStore": "/Staging/webapp/POSTHOG_PROJECT_KEY" }, "TRIGGER_LOG_LEVEL": "debug", "PULSAR_ENABLED": "1", "PULSAR_DEBUG": true, "GITHUB_APP_NAME": "trigger-dev-staging", "GITHUB_APP_ID": "294080", "GITHUB_APP_CLIENT_ID": { "fromParameterStore": "/Staging/webapp/GITHUB_APP_CLIENT_ID" }, "GITHUB_APP_CLIENT_SECRET": { "fromParameterStore": "/Staging/webapp/GITHUB_APP_CLIENT_SECRET" }, "GITHUB_APP_PRIVATE_KEY": { "fromParameterStore": "/Staging/webapp/GITHUB_APP_PRIVATE_KEY" }, "GITHUB_APP_WEBHOOK_SECRET": { "fromParameterStore": "/Staging/webapp/GITHUB_APP_WEBHOOK_SECRET" }, "INTEGRATIONS_API_KEY": { "fromParameterStore": "/Staging/integrations/API_TOKEN" }, "INTEGRATIONS_API_ORIGIN": "https://integrations-staging.trigger.dev" } }, { "id": "s-wss", "name": "Staging WSS", "type": "fargate", "buildType": "docker", "dockerfilePath": "./apps/wss/Dockerfile", "dockerContext": ".", "cpu": 1, "memory": 2, "minInstances": 1, "maxInstances": 2, "domain": "wss-staging.trigger.dev", "port": 8889, "healthCheckPath": "/healthcheck", "watchPaths": [ "apps/wss/src/**", "apps/wss/tsconfig.json", "apps/wss/tsup.config.ts", "apps/wss/package.json", "packages/internal-platform/src/**", "packages/internal-bridge/src/**", "packages/common-schemas/src/**", "packages/internal-pulsar/src/**", "./pnpm-lock.yaml" ], "envVariables": { "PULSAR_CLIENT_ID": { "fromParameterStore": "/Staging/Pulsar/wss/ClientId" }, "PULSAR_CLIENT_SECRET": { "fromParameterStore": "/Staging/Pulsar/wss/ClientSecret" }, "PULSAR_ROLE": { "fromParameterStore": "/Staging/Pulsar/wss/Role" }, "PLATFORM_API_URL": "https://app-staging.trigger.dev", "TRIGGER_LOG_LEVEL": "debug" } }, { "id": "s-integrations", "name": "Staging integrations", "type": "fargate", "buildType": "docker", "dockerfilePath": "./apps/integrations/Dockerfile", "dockerContext": ".", "cpu": 1, "memory": 2, "minInstances": 1, "maxInstances": 2, "domain": "integrations-staging.trigger.dev", "port": 3006, "healthCheckPath": "/healthcheck", "watchPaths": [ "apps/integrations/src/**", "apps/integrations/tsconfig.json", "apps/integrations/tsup.config.ts", "apps/integrations/package.json", "./pnpm-lock.yaml" ], "envVariables": { "DATABASE_URL": { "fromParameterStore": "/Staging/integrations/DATABASE_URL" }, "API_TOKEN": { "fromParameterStore": "/Staging/integrations/API_TOKEN" } } }, { "id": "s-db", "name": "Staging Database", "type": "rds", "engine": "postgres", "applyChangesImmediately": true, "engineVersion": "14", "autoUpgradeMinorVersions": true, "instanceSize": "db.t3.large", "storage": 100, "maxStorage": 400, "private": false, "deletionProtection": true, "port": 5432 }, { "id": "s-redis", "name": "Staging Redis", "type": "elasticache", "engine": "redis", "engineVersion": "7.0", "instanceSize": "cache.t3.small", "connectionStringEnvVarName": "REDIS_URL" } ] } ] }