{
  "manifest_version": "1.0.0",
  "template": {
    "id": "0b0cf1c0-7dfb-47bc-ba44-93f38ffd88a9",
    "slug": "latitude-1",
    "name": "Latitude",
    "description": "Self-hosted AI agent observability with OTLP, evals, and MCP",
    "url": "https://railway.com/deploy/latitude-1",
    "upstream": {
      "image": "latitudedata/api:0.3.92@sha256:ded27e7859891f3c6a97da29a0bfdbef5705842e6d8fe1ad135913df2a4def01"
    }
  },
  "services": [
    {
      "name": "migrations",
      "source": {
        "image": "latitudedata/migrations:0.3.92@sha256:32ff0d64cfebe3dc68ca27819ab9ef2dca88bda947645f53fc745e17feb30b6c"
      },
      "needs_volume": false,
      "http": false
    },
    {
      "name": "api",
      "source": {
        "image": "latitudedata/api:0.3.92@sha256:ded27e7859891f3c6a97da29a0bfdbef5705842e6d8fe1ad135913df2a4def01"
      },
      "needs_volume": false,
      "http": true
    },
    {
      "name": "clickhouse",
      "source": {
        "repo": "https://github.com/monotykamary/railway-template-latitude"
      },
      "needs_volume": true,
      "volume_mount_path": "/var/lib/clickhouse",
      "http": false
    },
    {
      "name": "web",
      "source": {
        "image": "latitudedata/web:0.3.92@sha256:a25e3f5f2af4674e35837f4dce50e5040bdd0e31be906afaa6d218829271e6cd"
      },
      "needs_volume": false,
      "http": true
    },
    {
      "name": "ingest",
      "source": {
        "image": "latitudedata/ingest:0.3.92@sha256:4a4586345a11c869383714a0c6f30c6b2cee75950f34a9ef39752d2ab9597b67"
      },
      "needs_volume": false,
      "http": true
    },
    {
      "name": "workflows",
      "source": {
        "image": "latitudedata/workflows:0.3.92@sha256:cf0170ffa29b498d74a790ce0c0bea34a99ef78eca20894598b76d5080dbdbf4"
      },
      "needs_volume": false,
      "http": false
    },
    {
      "name": "redis",
      "source": {
        "image": "redis:7.4.7-alpine@sha256:02f2cc4882f8bf87c79a220ac958f58c700bdec0dfb9b9ea61b62fb0e8f1bfcf"
      },
      "needs_volume": true,
      "volume_mount_path": "/data",
      "http": false
    },
    {
      "name": "postgres",
      "source": {
        "repo": "https://github.com/monotykamary/railway-template-latitude"
      },
      "needs_volume": true,
      "volume_mount_path": "/var/lib/postgresql/data",
      "http": false
    },
    {
      "name": "workers",
      "source": {
        "image": "latitudedata/workers:0.3.92@sha256:6d51e06cfb8d9ee5ad54e2f6dae53ab8eeccfa6f12de0a51a3187e315144e784"
      },
      "needs_volume": false,
      "http": false
    },
    {
      "name": "temporal",
      "source": {
        "image": "temporalio/auto-setup:1.27.2@sha256:b44cbfeb43dbeae42db113b44fb8414c3452f05643b3d6b1592f955277d73526"
      },
      "needs_volume": false,
      "http": false
    }
  ],
  "required_inputs": [
    {
      "key": "NODE_ENV",
      "service": "migrations",
      "description": "Run Latitude in production mode.",
      "secret": false,
      "strategy": "default",
      "default": "production"
    },
    {
      "key": "LAT_PG_POOL_MAX",
      "service": "migrations",
      "description": "Maximum PostgreSQL connections per Latitude process.",
      "secret": false,
      "strategy": "default",
      "default": "5"
    },
    {
      "key": "LAT_DATABASE_URL",
      "service": "migrations",
      "description": "RLS-bound PostgreSQL runtime connection.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "railway_private_domain"
    },
    {
      "key": "LAT_CLICKHOUSE_DB",
      "service": "migrations",
      "description": "ClickHouse database reference.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "reference_variable"
    },
    {
      "key": "LAT_CLICKHOUSE_URL",
      "service": "migrations",
      "description": "Private ClickHouse HTTP endpoint.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "railway_private_domain"
    },
    {
      "key": "LAT_CLICKHOUSE_USER",
      "service": "migrations",
      "description": "ClickHouse user reference.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "reference_variable"
    },
    {
      "key": "LAT_ADMIN_DATABASE_URL",
      "service": "migrations",
      "description": "PostgreSQL administrator connection used by migrations.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "railway_private_domain"
    },
    {
      "key": "LAT_BETTER_AUTH_SECRET",
      "service": "migrations",
      "description": "Generated 32-byte hexadecimal authentication secret.",
      "secret": true,
      "strategy": "generate",
      "generate": "random_base64_32"
    },
    {
      "key": "LAT_PG_IDLE_TIMEOUT_MS",
      "service": "migrations",
      "description": "Idle PostgreSQL connection timeout in milliseconds.",
      "secret": false,
      "strategy": "default",
      "default": "30000"
    },
    {
      "key": "LAT_CLICKHOUSE_PASSWORD",
      "service": "migrations",
      "description": "ClickHouse password reference.",
      "secret": true,
      "strategy": "railway_provided",
      "railway_source": "reference_variable"
    },
    {
      "key": "LAT_MASTER_ENCRYPTION_KEY",
      "service": "migrations",
      "description": "Generated 32-byte hexadecimal master encryption key.",
      "secret": true,
      "strategy": "generate",
      "generate": "random_base64_32"
    },
    {
      "key": "LAT_PG_CONNECT_TIMEOUT_MS",
      "service": "migrations",
      "description": "PostgreSQL connection timeout in milliseconds.",
      "secret": false,
      "strategy": "default",
      "default": "10000"
    },
    {
      "key": "LAT_CLICKHOUSE_MIGRATION_URL",
      "service": "migrations",
      "description": "Private ClickHouse native endpoint used by migrations.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "railway_private_domain"
    },
    {
      "key": "LAT_CLICKHOUSE_CLUSTER_ENABLED",
      "service": "migrations",
      "description": "Use the single-node ClickHouse migration set.",
      "secret": false,
      "strategy": "default",
      "default": "false"
    },
    {
      "key": "LAT_REDACTION_PSEUDONYM_SECRET",
      "service": "migrations",
      "description": "Generated 32-byte hexadecimal pseudonym HMAC secret.",
      "secret": true,
      "strategy": "generate",
      "generate": "random_base64_32"
    },
    {
      "key": "PORT",
      "service": "api",
      "description": "Internal api listener used by Railway health checks.",
      "secret": false,
      "strategy": "default",
      "default": "3001"
    },
    {
      "key": "NODE_ENV",
      "service": "api",
      "description": "Run Latitude in production mode.",
      "secret": false,
      "strategy": "default",
      "default": "production"
    },
    {
      "key": "LAT_API_URL",
      "service": "api",
      "description": "Canonical public API and MCP URL.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "railway_domain"
    },
    {
      "key": "LAT_WEB_URL",
      "service": "api",
      "description": "Canonical Latitude web URL.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "railway_domain"
    },
    {
      "key": "LAT_API_PORT",
      "service": "api",
      "description": "Latitude API listener port.",
      "secret": false,
      "strategy": "default",
      "default": "3001"
    },
    {
      "key": "LAT_SMTP_FROM",
      "service": "api",
      "description": "Shared from the web service: Sender address for Latitude email.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "reference_variable"
    },
    {
      "key": "LAT_SMTP_HOST",
      "service": "api",
      "description": "Shared from the web service: SMTP server hostname required for production magic-link email.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "reference_variable"
    },
    {
      "key": "LAT_SMTP_PASS",
      "service": "api",
      "description": "Shared from the web service: SMTP password required when using SMTP.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "reference_variable"
    },
    {
      "key": "LAT_SMTP_PORT",
      "service": "api",
      "description": "Shared from the web service: SMTP server port, commonly 587.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "reference_variable"
    },
    {
      "key": "LAT_SMTP_USER",
      "service": "api",
      "description": "Shared from the web service: SMTP username required when using SMTP.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "reference_variable"
    },
    {
      "key": "LAT_INGEST_URL",
      "service": "api",
      "description": "Canonical public OTLP ingest URL.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "railway_domain"
    },
    {
      "key": "LAT_REDIS_HOST",
      "service": "api",
      "description": "Private Redis cache hostname.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "railway_private_domain"
    },
    {
      "key": "LAT_REDIS_PORT",
      "service": "api",
      "description": "Private Redis cache port.",
      "secret": false,
      "strategy": "default",
      "default": "6379"
    },
    {
      "key": "LAT_BULLMQ_HOST",
      "service": "api",
      "description": "Private Redis BullMQ hostname.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "railway_private_domain"
    },
    {
      "key": "LAT_BULLMQ_PORT",
      "service": "api",
      "description": "Private Redis BullMQ port.",
      "secret": false,
      "strategy": "default",
      "default": "6379"
    },
    {
      "key": "LAT_PG_POOL_MAX",
      "service": "api",
      "description": "Maximum PostgreSQL connections per Latitude process.",
      "secret": false,
      "strategy": "default",
      "default": "5"
    },
    {
      "key": "LAT_DATABASE_URL",
      "service": "api",
      "description": "RLS-bound PostgreSQL runtime connection.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "railway_private_domain"
    },
    {
      "key": "LAT_MAILGUN_FROM",
      "service": "api",
      "description": "Shared from the web service: Optional Mailgun sender address.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "reference_variable"
    },
    {
      "key": "LAT_CLICKHOUSE_DB",
      "service": "api",
      "description": "ClickHouse database reference.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "reference_variable"
    },
    {
      "key": "LAT_CLICKHOUSE_URL",
      "service": "api",
      "description": "Private ClickHouse HTTP endpoint.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "railway_private_domain"
    },
    {
      "key": "LAT_GOOGLE_API_KEY",
      "service": "api",
      "description": "Shared from the web service: Optional Google AI key for configured features.",
      "secret": true,
      "strategy": "railway_provided",
      "railway_source": "reference_variable"
    },
    {
      "key": "LAT_MAILGUN_DOMAIN",
      "service": "api",
      "description": "Shared from the web service: Optional Mailgun sending domain.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "reference_variable"
    },
    {
      "key": "LAT_MAILGUN_REGION",
      "service": "api",
      "description": "Shared from the web service: Optional Mailgun region such as us or eu.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "reference_variable"
    },
    {
      "key": "LAT_OPENAI_API_KEY",
      "service": "api",
      "description": "Shared from the web service: Optional OpenAI key for configured AI features.",
      "secret": true,
      "strategy": "railway_provided",
      "railway_source": "reference_variable"
    },
    {
      "key": "LAT_STORAGE_DRIVER",
      "service": "api",
      "description": "Use shared S3-compatible object storage.",
      "secret": false,
      "strategy": "default",
      "default": "s3"
    },
    {
      "key": "LAT_VOYAGE_API_KEY",
      "service": "api",
      "description": "Shared from the web service: Optional Voyage key for embeddings and reranking.",
      "secret": true,
      "strategy": "railway_provided",
      "railway_source": "reference_variable"
    },
    {
      "key": "LAT_CLICKHOUSE_USER",
      "service": "api",
      "description": "ClickHouse user reference.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "reference_variable"
    },
    {
      "key": "LAT_MAILGUN_API_KEY",
      "service": "api",
      "description": "Shared from the web service: Optional Mailgun API key.",
      "secret": true,
      "strategy": "railway_provided",
      "railway_source": "reference_variable"
    },
    {
      "key": "LAT_TRUSTED_ORIGINS",
      "service": "api",
      "description": "Trusted web origin for sign-in.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "railway_domain"
    },
    {
      "key": "LAT_TEMPORAL_ADDRESS",
      "service": "api",
      "description": "Private Temporal frontend address.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "railway_private_domain"
    },
    {
      "key": "LAT_ANTHROPIC_API_KEY",
      "service": "api",
      "description": "Shared from the web service: Optional Anthropic key for configured generation features.",
      "secret": true,
      "strategy": "railway_provided",
      "railway_source": "reference_variable"
    },
    {
      "key": "LAT_STORAGE_S3_BUCKET",
      "service": "api",
      "description": "Railway bucket name.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "reference_variable"
    },
    {
      "key": "LAT_STORAGE_S3_REGION",
      "service": "api",
      "description": "Railway bucket signing region.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "reference_variable"
    },
    {
      "key": "LAT_ADMIN_DATABASE_URL",
      "service": "api",
      "description": "PostgreSQL administrator connection used by migrations.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "railway_private_domain"
    },
    {
      "key": "LAT_BETTER_AUTH_SECRET",
      "service": "api",
      "description": "Shared Better Auth signing secret.",
      "secret": true,
      "strategy": "railway_provided",
      "railway_source": "reference_variable"
    },
    {
      "key": "LAT_PG_IDLE_TIMEOUT_MS",
      "service": "api",
      "description": "Idle PostgreSQL connection timeout in milliseconds.",
      "secret": false,
      "strategy": "default",
      "default": "30000"
    },
    {
      "key": "LAT_TEMPORAL_NAMESPACE",
      "service": "api",
      "description": "Temporal namespace created by auto-setup.",
      "secret": false,
      "strategy": "default",
      "default": "default"
    },
    {
      "key": "LAT_CLICKHOUSE_PASSWORD",
      "service": "api",
      "description": "ClickHouse password reference.",
      "secret": true,
      "strategy": "railway_provided",
      "railway_source": "reference_variable"
    },
    {
      "key": "LAT_STORAGE_S3_ENDPOINT",
      "service": "api",
      "description": "Railway bucket S3 endpoint.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "reference_variable"
    },
    {
      "key": "LAT_TEMPORAL_TASK_QUEUE",
      "service": "api",
      "description": "Temporal task queue shared with workflow workers.",
      "secret": false,
      "strategy": "default",
      "default": "latitude-workflows"
    },
    {
      "key": "LAT_CORS_ALLOWED_ORIGINS",
      "service": "api",
      "description": "Browser origin allowed to call the API.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "railway_domain"
    },
    {
      "key": "LAT_MASTER_ENCRYPTION_KEY",
      "service": "api",
      "description": "Shared key for encrypted provider and integration credentials.",
      "secret": true,
      "strategy": "railway_provided",
      "railway_source": "reference_variable"
    },
    {
      "key": "LAT_OSS_TELEMETRY_ENABLED",
      "service": "api",
      "description": "Disable optional anonymous deployment telemetry by default.",
      "secret": false,
      "strategy": "default",
      "default": "false"
    },
    {
      "key": "LAT_PG_CONNECT_TIMEOUT_MS",
      "service": "api",
      "description": "PostgreSQL connection timeout in milliseconds.",
      "secret": false,
      "strategy": "default",
      "default": "10000"
    },
    {
      "key": "LAT_CLICKHOUSE_MIGRATION_URL",
      "service": "api",
      "description": "Private ClickHouse native endpoint used by migrations.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "railway_private_domain"
    },
    {
      "key": "LAT_STORAGE_S3_ACCESS_KEY_ID",
      "service": "api",
      "description": "Railway bucket access-key reference.",
      "secret": true,
      "strategy": "railway_provided",
      "railway_source": "reference_variable"
    },
    {
      "key": "LAT_CLICKHOUSE_CLUSTER_ENABLED",
      "service": "api",
      "description": "Use the single-node ClickHouse migration set.",
      "secret": false,
      "strategy": "default",
      "default": "false"
    },
    {
      "key": "LAT_REDACTION_PSEUDONYM_SECRET",
      "service": "api",
      "description": "Stable HMAC secret for optional identity pseudonymization.",
      "secret": true,
      "strategy": "railway_provided",
      "railway_source": "reference_variable"
    },
    {
      "key": "LAT_STORAGE_S3_FORCE_PATH_STYLE",
      "service": "api",
      "description": "Use path-style requests required by the Railway S3 endpoint.",
      "secret": false,
      "strategy": "default",
      "default": "true"
    },
    {
      "key": "LAT_STORAGE_S3_SECRET_ACCESS_KEY",
      "service": "api",
      "description": "Railway bucket secret-key reference.",
      "secret": true,
      "strategy": "railway_provided",
      "railway_source": "reference_variable"
    },
    {
      "key": "RAILWAY_TEMPLATE_MIGRATIONS_DEPENDENCY",
      "service": "api",
      "description": "Deployment dependency on completed database migrations.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "railway_private_domain"
    },
    {
      "key": "LAT_TEMPORAL_MAX_CONCURRENT_ACTIVITY_TASKS",
      "service": "api",
      "description": "Bound workflow activity concurrency for Railway resources.",
      "secret": false,
      "strategy": "default",
      "default": "2"
    },
    {
      "key": "PORT",
      "service": "clickhouse",
      "description": "ClickHouse HTTP listener used by Railway health checks.",
      "secret": false,
      "strategy": "default",
      "default": "8123"
    },
    {
      "key": "CLICKHOUSE_DB",
      "service": "clickhouse",
      "description": "Latitude ClickHouse database.",
      "secret": false,
      "strategy": "default",
      "default": "latitude"
    },
    {
      "key": "CLICKHOUSE_USER",
      "service": "clickhouse",
      "description": "Latitude ClickHouse user.",
      "secret": false,
      "strategy": "default",
      "default": "latitude"
    },
    {
      "key": "CLICKHOUSE_PASSWORD",
      "service": "clickhouse",
      "description": "Generated ClickHouse password.",
      "secret": true,
      "strategy": "generate",
      "generate": "strong_password"
    },
    {
      "key": "CLICKHOUSE_DEFAULT_ACCESS_MANAGEMENT",
      "service": "clickhouse",
      "description": "Enable SQL-driven access management.",
      "secret": false,
      "strategy": "default",
      "default": "1"
    },
    {
      "key": "PORT",
      "service": "web",
      "description": "Internal web listener used by Railway health checks.",
      "secret": false,
      "strategy": "default",
      "default": "3000"
    },
    {
      "key": "NODE_ENV",
      "service": "web",
      "description": "Run Latitude in production mode.",
      "secret": false,
      "strategy": "default",
      "default": "production"
    },
    {
      "key": "LAT_API_URL",
      "service": "web",
      "description": "Canonical public API and MCP URL.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "railway_domain"
    },
    {
      "key": "LAT_WEB_URL",
      "service": "web",
      "description": "Canonical Latitude web URL.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "railway_domain"
    },
    {
      "key": "LAT_WEB_PORT",
      "service": "web",
      "description": "Latitude web listener port.",
      "secret": false,
      "strategy": "default",
      "default": "3000"
    },
    {
      "key": "LAT_INGEST_URL",
      "service": "web",
      "description": "Canonical public OTLP ingest URL.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "railway_domain"
    },
    {
      "key": "LAT_REDIS_HOST",
      "service": "web",
      "description": "Private Redis cache hostname.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "railway_private_domain"
    },
    {
      "key": "LAT_REDIS_PORT",
      "service": "web",
      "description": "Private Redis cache port.",
      "secret": false,
      "strategy": "default",
      "default": "6379"
    },
    {
      "key": "LAT_BULLMQ_HOST",
      "service": "web",
      "description": "Private Redis BullMQ hostname.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "railway_private_domain"
    },
    {
      "key": "LAT_BULLMQ_PORT",
      "service": "web",
      "description": "Private Redis BullMQ port.",
      "secret": false,
      "strategy": "default",
      "default": "6379"
    },
    {
      "key": "LAT_PG_POOL_MAX",
      "service": "web",
      "description": "Maximum PostgreSQL connections per Latitude process.",
      "secret": false,
      "strategy": "default",
      "default": "5"
    },
    {
      "key": "LAT_DATABASE_URL",
      "service": "web",
      "description": "RLS-bound PostgreSQL runtime connection.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "railway_private_domain"
    },
    {
      "key": "LAT_CLICKHOUSE_DB",
      "service": "web",
      "description": "ClickHouse database reference.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "reference_variable"
    },
    {
      "key": "LAT_CLICKHOUSE_URL",
      "service": "web",
      "description": "Private ClickHouse HTTP endpoint.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "railway_private_domain"
    },
    {
      "key": "LAT_STORAGE_DRIVER",
      "service": "web",
      "description": "Use shared S3-compatible object storage.",
      "secret": false,
      "strategy": "default",
      "default": "s3"
    },
    {
      "key": "LAT_CLICKHOUSE_USER",
      "service": "web",
      "description": "ClickHouse user reference.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "reference_variable"
    },
    {
      "key": "LAT_TRUSTED_ORIGINS",
      "service": "web",
      "description": "Trusted web origin for sign-in.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "railway_domain"
    },
    {
      "key": "LAT_TEMPORAL_ADDRESS",
      "service": "web",
      "description": "Private Temporal frontend address.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "railway_private_domain"
    },
    {
      "key": "LAT_STORAGE_S3_BUCKET",
      "service": "web",
      "description": "Railway bucket name.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "reference_variable"
    },
    {
      "key": "LAT_STORAGE_S3_REGION",
      "service": "web",
      "description": "Railway bucket signing region.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "reference_variable"
    },
    {
      "key": "LAT_ADMIN_DATABASE_URL",
      "service": "web",
      "description": "PostgreSQL administrator connection used by migrations.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "railway_private_domain"
    },
    {
      "key": "LAT_BETTER_AUTH_SECRET",
      "service": "web",
      "description": "Shared Better Auth signing secret.",
      "secret": true,
      "strategy": "railway_provided",
      "railway_source": "reference_variable"
    },
    {
      "key": "LAT_PG_IDLE_TIMEOUT_MS",
      "service": "web",
      "description": "Idle PostgreSQL connection timeout in milliseconds.",
      "secret": false,
      "strategy": "default",
      "default": "30000"
    },
    {
      "key": "LAT_TEMPORAL_NAMESPACE",
      "service": "web",
      "description": "Temporal namespace created by auto-setup.",
      "secret": false,
      "strategy": "default",
      "default": "default"
    },
    {
      "key": "LAT_CLICKHOUSE_PASSWORD",
      "service": "web",
      "description": "ClickHouse password reference.",
      "secret": true,
      "strategy": "railway_provided",
      "railway_source": "reference_variable"
    },
    {
      "key": "LAT_STORAGE_S3_ENDPOINT",
      "service": "web",
      "description": "Railway bucket S3 endpoint.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "reference_variable"
    },
    {
      "key": "LAT_TEMPORAL_TASK_QUEUE",
      "service": "web",
      "description": "Temporal task queue shared with workflow workers.",
      "secret": false,
      "strategy": "default",
      "default": "latitude-workflows"
    },
    {
      "key": "LAT_CORS_ALLOWED_ORIGINS",
      "service": "web",
      "description": "Browser origin allowed to call the API.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "railway_domain"
    },
    {
      "key": "LAT_MASTER_ENCRYPTION_KEY",
      "service": "web",
      "description": "Shared key for encrypted provider and integration credentials.",
      "secret": true,
      "strategy": "railway_provided",
      "railway_source": "reference_variable"
    },
    {
      "key": "LAT_OSS_TELEMETRY_ENABLED",
      "service": "web",
      "description": "Disable optional anonymous deployment telemetry by default.",
      "secret": false,
      "strategy": "default",
      "default": "false"
    },
    {
      "key": "LAT_PG_CONNECT_TIMEOUT_MS",
      "service": "web",
      "description": "PostgreSQL connection timeout in milliseconds.",
      "secret": false,
      "strategy": "default",
      "default": "10000"
    },
    {
      "key": "LAT_CLICKHOUSE_MIGRATION_URL",
      "service": "web",
      "description": "Private ClickHouse native endpoint used by migrations.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "railway_private_domain"
    },
    {
      "key": "LAT_STORAGE_S3_ACCESS_KEY_ID",
      "service": "web",
      "description": "Railway bucket access-key reference.",
      "secret": true,
      "strategy": "railway_provided",
      "railway_source": "reference_variable"
    },
    {
      "key": "LAT_CLICKHOUSE_CLUSTER_ENABLED",
      "service": "web",
      "description": "Use the single-node ClickHouse migration set.",
      "secret": false,
      "strategy": "default",
      "default": "false"
    },
    {
      "key": "LAT_REDACTION_PSEUDONYM_SECRET",
      "service": "web",
      "description": "Stable HMAC secret for optional identity pseudonymization.",
      "secret": true,
      "strategy": "railway_provided",
      "railway_source": "reference_variable"
    },
    {
      "key": "LAT_STORAGE_S3_FORCE_PATH_STYLE",
      "service": "web",
      "description": "Use path-style requests required by the Railway S3 endpoint.",
      "secret": false,
      "strategy": "default",
      "default": "true"
    },
    {
      "key": "LAT_STORAGE_S3_SECRET_ACCESS_KEY",
      "service": "web",
      "description": "Railway bucket secret-key reference.",
      "secret": true,
      "strategy": "railway_provided",
      "railway_source": "reference_variable"
    },
    {
      "key": "RAILWAY_TEMPLATE_MIGRATIONS_DEPENDENCY",
      "service": "web",
      "description": "Deployment dependency on completed database migrations.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "railway_private_domain"
    },
    {
      "key": "LAT_TEMPORAL_MAX_CONCURRENT_ACTIVITY_TASKS",
      "service": "web",
      "description": "Bound workflow activity concurrency for Railway resources.",
      "secret": false,
      "strategy": "default",
      "default": "2"
    },
    {
      "key": "PORT",
      "service": "ingest",
      "description": "Internal ingest listener used by Railway health checks.",
      "secret": false,
      "strategy": "default",
      "default": "3002"
    },
    {
      "key": "NODE_ENV",
      "service": "ingest",
      "description": "Run Latitude in production mode.",
      "secret": false,
      "strategy": "default",
      "default": "production"
    },
    {
      "key": "LAT_API_URL",
      "service": "ingest",
      "description": "Canonical public API and MCP URL.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "railway_domain"
    },
    {
      "key": "LAT_WEB_URL",
      "service": "ingest",
      "description": "Canonical Latitude web URL.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "railway_domain"
    },
    {
      "key": "LAT_SMTP_FROM",
      "service": "ingest",
      "description": "Shared from the web service: Sender address for Latitude email.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "reference_variable"
    },
    {
      "key": "LAT_SMTP_HOST",
      "service": "ingest",
      "description": "Shared from the web service: SMTP server hostname required for production magic-link email.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "reference_variable"
    },
    {
      "key": "LAT_SMTP_PASS",
      "service": "ingest",
      "description": "Shared from the web service: SMTP password required when using SMTP.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "reference_variable"
    },
    {
      "key": "LAT_SMTP_PORT",
      "service": "ingest",
      "description": "Shared from the web service: SMTP server port, commonly 587.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "reference_variable"
    },
    {
      "key": "LAT_SMTP_USER",
      "service": "ingest",
      "description": "Shared from the web service: SMTP username required when using SMTP.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "reference_variable"
    },
    {
      "key": "LAT_INGEST_URL",
      "service": "ingest",
      "description": "Canonical public OTLP ingest URL.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "railway_domain"
    },
    {
      "key": "LAT_REDIS_HOST",
      "service": "ingest",
      "description": "Private Redis cache hostname.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "railway_private_domain"
    },
    {
      "key": "LAT_REDIS_PORT",
      "service": "ingest",
      "description": "Private Redis cache port.",
      "secret": false,
      "strategy": "default",
      "default": "6379"
    },
    {
      "key": "LAT_BULLMQ_HOST",
      "service": "ingest",
      "description": "Private Redis BullMQ hostname.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "railway_private_domain"
    },
    {
      "key": "LAT_BULLMQ_PORT",
      "service": "ingest",
      "description": "Private Redis BullMQ port.",
      "secret": false,
      "strategy": "default",
      "default": "6379"
    },
    {
      "key": "LAT_INGEST_PORT",
      "service": "ingest",
      "description": "Latitude ingest listener port.",
      "secret": false,
      "strategy": "default",
      "default": "3002"
    },
    {
      "key": "LAT_PG_POOL_MAX",
      "service": "ingest",
      "description": "Maximum PostgreSQL connections per Latitude process.",
      "secret": false,
      "strategy": "default",
      "default": "5"
    },
    {
      "key": "LAT_DATABASE_URL",
      "service": "ingest",
      "description": "RLS-bound PostgreSQL runtime connection.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "railway_private_domain"
    },
    {
      "key": "LAT_MAILGUN_FROM",
      "service": "ingest",
      "description": "Shared from the web service: Optional Mailgun sender address.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "reference_variable"
    },
    {
      "key": "LAT_CLICKHOUSE_DB",
      "service": "ingest",
      "description": "ClickHouse database reference.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "reference_variable"
    },
    {
      "key": "LAT_CLICKHOUSE_URL",
      "service": "ingest",
      "description": "Private ClickHouse HTTP endpoint.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "railway_private_domain"
    },
    {
      "key": "LAT_GOOGLE_API_KEY",
      "service": "ingest",
      "description": "Shared from the web service: Optional Google AI key for configured features.",
      "secret": true,
      "strategy": "railway_provided",
      "railway_source": "reference_variable"
    },
    {
      "key": "LAT_MAILGUN_DOMAIN",
      "service": "ingest",
      "description": "Shared from the web service: Optional Mailgun sending domain.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "reference_variable"
    },
    {
      "key": "LAT_MAILGUN_REGION",
      "service": "ingest",
      "description": "Shared from the web service: Optional Mailgun region such as us or eu.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "reference_variable"
    },
    {
      "key": "LAT_OPENAI_API_KEY",
      "service": "ingest",
      "description": "Shared from the web service: Optional OpenAI key for configured AI features.",
      "secret": true,
      "strategy": "railway_provided",
      "railway_source": "reference_variable"
    },
    {
      "key": "LAT_STORAGE_DRIVER",
      "service": "ingest",
      "description": "Use shared S3-compatible object storage.",
      "secret": false,
      "strategy": "default",
      "default": "s3"
    },
    {
      "key": "LAT_VOYAGE_API_KEY",
      "service": "ingest",
      "description": "Shared from the web service: Optional Voyage key for embeddings and reranking.",
      "secret": true,
      "strategy": "railway_provided",
      "railway_source": "reference_variable"
    },
    {
      "key": "LAT_CLICKHOUSE_USER",
      "service": "ingest",
      "description": "ClickHouse user reference.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "reference_variable"
    },
    {
      "key": "LAT_MAILGUN_API_KEY",
      "service": "ingest",
      "description": "Shared from the web service: Optional Mailgun API key.",
      "secret": true,
      "strategy": "railway_provided",
      "railway_source": "reference_variable"
    },
    {
      "key": "LAT_TRUSTED_ORIGINS",
      "service": "ingest",
      "description": "Trusted web origin for sign-in.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "railway_domain"
    },
    {
      "key": "LAT_TEMPORAL_ADDRESS",
      "service": "ingest",
      "description": "Private Temporal frontend address.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "railway_private_domain"
    },
    {
      "key": "LAT_ANTHROPIC_API_KEY",
      "service": "ingest",
      "description": "Shared from the web service: Optional Anthropic key for configured generation features.",
      "secret": true,
      "strategy": "railway_provided",
      "railway_source": "reference_variable"
    },
    {
      "key": "LAT_STORAGE_S3_BUCKET",
      "service": "ingest",
      "description": "Railway bucket name.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "reference_variable"
    },
    {
      "key": "LAT_STORAGE_S3_REGION",
      "service": "ingest",
      "description": "Railway bucket signing region.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "reference_variable"
    },
    {
      "key": "LAT_ADMIN_DATABASE_URL",
      "service": "ingest",
      "description": "PostgreSQL administrator connection used by migrations.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "railway_private_domain"
    },
    {
      "key": "LAT_BETTER_AUTH_SECRET",
      "service": "ingest",
      "description": "Shared Better Auth signing secret.",
      "secret": true,
      "strategy": "railway_provided",
      "railway_source": "reference_variable"
    },
    {
      "key": "LAT_PG_IDLE_TIMEOUT_MS",
      "service": "ingest",
      "description": "Idle PostgreSQL connection timeout in milliseconds.",
      "secret": false,
      "strategy": "default",
      "default": "30000"
    },
    {
      "key": "LAT_TEMPORAL_NAMESPACE",
      "service": "ingest",
      "description": "Temporal namespace created by auto-setup.",
      "secret": false,
      "strategy": "default",
      "default": "default"
    },
    {
      "key": "LAT_CLICKHOUSE_PASSWORD",
      "service": "ingest",
      "description": "ClickHouse password reference.",
      "secret": true,
      "strategy": "railway_provided",
      "railway_source": "reference_variable"
    },
    {
      "key": "LAT_STORAGE_S3_ENDPOINT",
      "service": "ingest",
      "description": "Railway bucket S3 endpoint.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "reference_variable"
    },
    {
      "key": "LAT_TEMPORAL_TASK_QUEUE",
      "service": "ingest",
      "description": "Temporal task queue shared with workflow workers.",
      "secret": false,
      "strategy": "default",
      "default": "latitude-workflows"
    },
    {
      "key": "LAT_CORS_ALLOWED_ORIGINS",
      "service": "ingest",
      "description": "Browser origin allowed to call the API.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "railway_domain"
    },
    {
      "key": "LAT_MASTER_ENCRYPTION_KEY",
      "service": "ingest",
      "description": "Shared key for encrypted provider and integration credentials.",
      "secret": true,
      "strategy": "railway_provided",
      "railway_source": "reference_variable"
    },
    {
      "key": "LAT_OSS_TELEMETRY_ENABLED",
      "service": "ingest",
      "description": "Disable optional anonymous deployment telemetry by default.",
      "secret": false,
      "strategy": "default",
      "default": "false"
    },
    {
      "key": "LAT_PG_CONNECT_TIMEOUT_MS",
      "service": "ingest",
      "description": "PostgreSQL connection timeout in milliseconds.",
      "secret": false,
      "strategy": "default",
      "default": "10000"
    },
    {
      "key": "LAT_CLICKHOUSE_MIGRATION_URL",
      "service": "ingest",
      "description": "Private ClickHouse native endpoint used by migrations.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "railway_private_domain"
    },
    {
      "key": "LAT_STORAGE_S3_ACCESS_KEY_ID",
      "service": "ingest",
      "description": "Railway bucket access-key reference.",
      "secret": true,
      "strategy": "railway_provided",
      "railway_source": "reference_variable"
    },
    {
      "key": "LAT_CLICKHOUSE_CLUSTER_ENABLED",
      "service": "ingest",
      "description": "Use the single-node ClickHouse migration set.",
      "secret": false,
      "strategy": "default",
      "default": "false"
    },
    {
      "key": "LAT_REDACTION_PSEUDONYM_SECRET",
      "service": "ingest",
      "description": "Stable HMAC secret for optional identity pseudonymization.",
      "secret": true,
      "strategy": "railway_provided",
      "railway_source": "reference_variable"
    },
    {
      "key": "LAT_STORAGE_S3_FORCE_PATH_STYLE",
      "service": "ingest",
      "description": "Use path-style requests required by the Railway S3 endpoint.",
      "secret": false,
      "strategy": "default",
      "default": "true"
    },
    {
      "key": "LAT_STORAGE_S3_SECRET_ACCESS_KEY",
      "service": "ingest",
      "description": "Railway bucket secret-key reference.",
      "secret": true,
      "strategy": "railway_provided",
      "railway_source": "reference_variable"
    },
    {
      "key": "RAILWAY_TEMPLATE_MIGRATIONS_DEPENDENCY",
      "service": "ingest",
      "description": "Deployment dependency on completed database migrations.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "railway_private_domain"
    },
    {
      "key": "LAT_TEMPORAL_MAX_CONCURRENT_ACTIVITY_TASKS",
      "service": "ingest",
      "description": "Bound workflow activity concurrency for Railway resources.",
      "secret": false,
      "strategy": "default",
      "default": "2"
    },
    {
      "key": "PORT",
      "service": "workflows",
      "description": "Internal workflows listener used by Railway health checks.",
      "secret": false,
      "strategy": "default",
      "default": "9091"
    },
    {
      "key": "NODE_ENV",
      "service": "workflows",
      "description": "Run Latitude in production mode.",
      "secret": false,
      "strategy": "default",
      "default": "production"
    },
    {
      "key": "LAT_API_URL",
      "service": "workflows",
      "description": "Canonical public API and MCP URL.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "railway_domain"
    },
    {
      "key": "LAT_WEB_URL",
      "service": "workflows",
      "description": "Canonical Latitude web URL.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "railway_domain"
    },
    {
      "key": "LAT_SMTP_FROM",
      "service": "workflows",
      "description": "Shared from the web service: Sender address for Latitude email.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "reference_variable"
    },
    {
      "key": "LAT_SMTP_HOST",
      "service": "workflows",
      "description": "Shared from the web service: SMTP server hostname required for production magic-link email.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "reference_variable"
    },
    {
      "key": "LAT_SMTP_PASS",
      "service": "workflows",
      "description": "Shared from the web service: SMTP password required when using SMTP.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "reference_variable"
    },
    {
      "key": "LAT_SMTP_PORT",
      "service": "workflows",
      "description": "Shared from the web service: SMTP server port, commonly 587.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "reference_variable"
    },
    {
      "key": "LAT_SMTP_USER",
      "service": "workflows",
      "description": "Shared from the web service: SMTP username required when using SMTP.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "reference_variable"
    },
    {
      "key": "LAT_INGEST_URL",
      "service": "workflows",
      "description": "Canonical public OTLP ingest URL.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "railway_domain"
    },
    {
      "key": "LAT_REDIS_HOST",
      "service": "workflows",
      "description": "Private Redis cache hostname.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "railway_private_domain"
    },
    {
      "key": "LAT_REDIS_PORT",
      "service": "workflows",
      "description": "Private Redis cache port.",
      "secret": false,
      "strategy": "default",
      "default": "6379"
    },
    {
      "key": "LAT_BULLMQ_HOST",
      "service": "workflows",
      "description": "Private Redis BullMQ hostname.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "railway_private_domain"
    },
    {
      "key": "LAT_BULLMQ_PORT",
      "service": "workflows",
      "description": "Private Redis BullMQ port.",
      "secret": false,
      "strategy": "default",
      "default": "6379"
    },
    {
      "key": "LAT_PG_POOL_MAX",
      "service": "workflows",
      "description": "Maximum PostgreSQL connections per Latitude process.",
      "secret": false,
      "strategy": "default",
      "default": "5"
    },
    {
      "key": "LAT_DATABASE_URL",
      "service": "workflows",
      "description": "RLS-bound PostgreSQL runtime connection.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "railway_private_domain"
    },
    {
      "key": "LAT_MAILGUN_FROM",
      "service": "workflows",
      "description": "Shared from the web service: Optional Mailgun sender address.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "reference_variable"
    },
    {
      "key": "LAT_CLICKHOUSE_DB",
      "service": "workflows",
      "description": "ClickHouse database reference.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "reference_variable"
    },
    {
      "key": "LAT_CLICKHOUSE_URL",
      "service": "workflows",
      "description": "Private ClickHouse HTTP endpoint.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "railway_private_domain"
    },
    {
      "key": "LAT_GOOGLE_API_KEY",
      "service": "workflows",
      "description": "Shared from the web service: Optional Google AI key for configured features.",
      "secret": true,
      "strategy": "railway_provided",
      "railway_source": "reference_variable"
    },
    {
      "key": "LAT_MAILGUN_DOMAIN",
      "service": "workflows",
      "description": "Shared from the web service: Optional Mailgun sending domain.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "reference_variable"
    },
    {
      "key": "LAT_MAILGUN_REGION",
      "service": "workflows",
      "description": "Shared from the web service: Optional Mailgun region such as us or eu.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "reference_variable"
    },
    {
      "key": "LAT_OPENAI_API_KEY",
      "service": "workflows",
      "description": "Shared from the web service: Optional OpenAI key for configured AI features.",
      "secret": true,
      "strategy": "railway_provided",
      "railway_source": "reference_variable"
    },
    {
      "key": "LAT_STORAGE_DRIVER",
      "service": "workflows",
      "description": "Use shared S3-compatible object storage.",
      "secret": false,
      "strategy": "default",
      "default": "s3"
    },
    {
      "key": "LAT_VOYAGE_API_KEY",
      "service": "workflows",
      "description": "Shared from the web service: Optional Voyage key for embeddings and reranking.",
      "secret": true,
      "strategy": "railway_provided",
      "railway_source": "reference_variable"
    },
    {
      "key": "LAT_CLICKHOUSE_USER",
      "service": "workflows",
      "description": "ClickHouse user reference.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "reference_variable"
    },
    {
      "key": "LAT_MAILGUN_API_KEY",
      "service": "workflows",
      "description": "Shared from the web service: Optional Mailgun API key.",
      "secret": true,
      "strategy": "railway_provided",
      "railway_source": "reference_variable"
    },
    {
      "key": "LAT_TRUSTED_ORIGINS",
      "service": "workflows",
      "description": "Trusted web origin for sign-in.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "railway_domain"
    },
    {
      "key": "LAT_TEMPORAL_ADDRESS",
      "service": "workflows",
      "description": "Private Temporal frontend address.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "railway_private_domain"
    },
    {
      "key": "LAT_ANTHROPIC_API_KEY",
      "service": "workflows",
      "description": "Shared from the web service: Optional Anthropic key for configured generation features.",
      "secret": true,
      "strategy": "railway_provided",
      "railway_source": "reference_variable"
    },
    {
      "key": "LAT_STORAGE_S3_BUCKET",
      "service": "workflows",
      "description": "Railway bucket name.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "reference_variable"
    },
    {
      "key": "LAT_STORAGE_S3_REGION",
      "service": "workflows",
      "description": "Railway bucket signing region.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "reference_variable"
    },
    {
      "key": "LAT_ADMIN_DATABASE_URL",
      "service": "workflows",
      "description": "PostgreSQL administrator connection used by migrations.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "railway_private_domain"
    },
    {
      "key": "LAT_BETTER_AUTH_SECRET",
      "service": "workflows",
      "description": "Shared Better Auth signing secret.",
      "secret": true,
      "strategy": "railway_provided",
      "railway_source": "reference_variable"
    },
    {
      "key": "LAT_PG_IDLE_TIMEOUT_MS",
      "service": "workflows",
      "description": "Idle PostgreSQL connection timeout in milliseconds.",
      "secret": false,
      "strategy": "default",
      "default": "30000"
    },
    {
      "key": "LAT_TEMPORAL_NAMESPACE",
      "service": "workflows",
      "description": "Temporal namespace created by auto-setup.",
      "secret": false,
      "strategy": "default",
      "default": "default"
    },
    {
      "key": "LAT_CLICKHOUSE_PASSWORD",
      "service": "workflows",
      "description": "ClickHouse password reference.",
      "secret": true,
      "strategy": "railway_provided",
      "railway_source": "reference_variable"
    },
    {
      "key": "LAT_STORAGE_S3_ENDPOINT",
      "service": "workflows",
      "description": "Railway bucket S3 endpoint.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "reference_variable"
    },
    {
      "key": "LAT_TEMPORAL_TASK_QUEUE",
      "service": "workflows",
      "description": "Temporal task queue shared with workflow workers.",
      "secret": false,
      "strategy": "default",
      "default": "latitude-workflows"
    },
    {
      "key": "LAT_CORS_ALLOWED_ORIGINS",
      "service": "workflows",
      "description": "Browser origin allowed to call the API.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "railway_domain"
    },
    {
      "key": "LAT_MASTER_ENCRYPTION_KEY",
      "service": "workflows",
      "description": "Shared key for encrypted provider and integration credentials.",
      "secret": true,
      "strategy": "railway_provided",
      "railway_source": "reference_variable"
    },
    {
      "key": "LAT_OSS_TELEMETRY_ENABLED",
      "service": "workflows",
      "description": "Disable optional anonymous deployment telemetry by default.",
      "secret": false,
      "strategy": "default",
      "default": "false"
    },
    {
      "key": "LAT_PG_CONNECT_TIMEOUT_MS",
      "service": "workflows",
      "description": "PostgreSQL connection timeout in milliseconds.",
      "secret": false,
      "strategy": "default",
      "default": "10000"
    },
    {
      "key": "LAT_WORKFLOWS_HEALTH_PORT",
      "service": "workflows",
      "description": "Workflows health listener port.",
      "secret": false,
      "strategy": "default",
      "default": "9091"
    },
    {
      "key": "LAT_CLICKHOUSE_MIGRATION_URL",
      "service": "workflows",
      "description": "Private ClickHouse native endpoint used by migrations.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "railway_private_domain"
    },
    {
      "key": "LAT_STORAGE_S3_ACCESS_KEY_ID",
      "service": "workflows",
      "description": "Railway bucket access-key reference.",
      "secret": true,
      "strategy": "railway_provided",
      "railway_source": "reference_variable"
    },
    {
      "key": "LAT_CLICKHOUSE_CLUSTER_ENABLED",
      "service": "workflows",
      "description": "Use the single-node ClickHouse migration set.",
      "secret": false,
      "strategy": "default",
      "default": "false"
    },
    {
      "key": "LAT_REDACTION_PSEUDONYM_SECRET",
      "service": "workflows",
      "description": "Stable HMAC secret for optional identity pseudonymization.",
      "secret": true,
      "strategy": "railway_provided",
      "railway_source": "reference_variable"
    },
    {
      "key": "LAT_STORAGE_S3_FORCE_PATH_STYLE",
      "service": "workflows",
      "description": "Use path-style requests required by the Railway S3 endpoint.",
      "secret": false,
      "strategy": "default",
      "default": "true"
    },
    {
      "key": "LAT_STORAGE_S3_SECRET_ACCESS_KEY",
      "service": "workflows",
      "description": "Railway bucket secret-key reference.",
      "secret": true,
      "strategy": "railway_provided",
      "railway_source": "reference_variable"
    },
    {
      "key": "RAILWAY_TEMPLATE_MIGRATIONS_DEPENDENCY",
      "service": "workflows",
      "description": "Deployment dependency on completed database migrations.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "railway_private_domain"
    },
    {
      "key": "LAT_TEMPORAL_MAX_CONCURRENT_ACTIVITY_TASKS",
      "service": "workflows",
      "description": "Bound workflow activity concurrency for Railway resources.",
      "secret": false,
      "strategy": "default",
      "default": "2"
    },
    {
      "key": "REDIS_PORT",
      "service": "redis",
      "description": "Private Redis listener port.",
      "secret": false,
      "strategy": "default",
      "default": "6379"
    },
    {
      "key": "PGDATA",
      "service": "postgres",
      "description": "Initialize PostgreSQL below the Railway mount root.",
      "secret": false,
      "strategy": "default",
      "default": "/var/lib/postgresql/data/pgdata"
    },
    {
      "key": "POSTGRES_DB",
      "service": "postgres",
      "description": "Latitude PostgreSQL database.",
      "secret": false,
      "strategy": "default",
      "default": "latitude"
    },
    {
      "key": "POSTGRES_USER",
      "service": "postgres",
      "description": "Latitude PostgreSQL administrator user.",
      "secret": false,
      "strategy": "default",
      "default": "latitude"
    },
    {
      "key": "POSTGRES_PASSWORD",
      "service": "postgres",
      "description": "Generated PostgreSQL administrator password.",
      "secret": true,
      "strategy": "generate",
      "generate": "strong_password"
    },
    {
      "key": "POSTGRES_RUNTIME_USER",
      "service": "postgres",
      "description": "RLS-bound application database user.",
      "secret": false,
      "strategy": "default",
      "default": "latitude_app"
    },
    {
      "key": "POSTGRES_RUNTIME_PASSWORD",
      "service": "postgres",
      "description": "Generated runtime database password.",
      "secret": true,
      "strategy": "generate",
      "generate": "strong_password"
    },
    {
      "key": "PORT",
      "service": "workers",
      "description": "Internal workers listener used by Railway health checks.",
      "secret": false,
      "strategy": "default",
      "default": "9090"
    },
    {
      "key": "NODE_ENV",
      "service": "workers",
      "description": "Run Latitude in production mode.",
      "secret": false,
      "strategy": "default",
      "default": "production"
    },
    {
      "key": "LAT_API_URL",
      "service": "workers",
      "description": "Canonical public API and MCP URL.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "railway_domain"
    },
    {
      "key": "LAT_WEB_URL",
      "service": "workers",
      "description": "Canonical Latitude web URL.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "railway_domain"
    },
    {
      "key": "LAT_SMTP_FROM",
      "service": "workers",
      "description": "Shared from the web service: Sender address for Latitude email.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "reference_variable"
    },
    {
      "key": "LAT_SMTP_HOST",
      "service": "workers",
      "description": "Shared from the web service: SMTP server hostname required for production magic-link email.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "reference_variable"
    },
    {
      "key": "LAT_SMTP_PASS",
      "service": "workers",
      "description": "Shared from the web service: SMTP password required when using SMTP.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "reference_variable"
    },
    {
      "key": "LAT_SMTP_PORT",
      "service": "workers",
      "description": "Shared from the web service: SMTP server port, commonly 587.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "reference_variable"
    },
    {
      "key": "LAT_SMTP_USER",
      "service": "workers",
      "description": "Shared from the web service: SMTP username required when using SMTP.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "reference_variable"
    },
    {
      "key": "LAT_INGEST_URL",
      "service": "workers",
      "description": "Canonical public OTLP ingest URL.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "railway_domain"
    },
    {
      "key": "LAT_REDIS_HOST",
      "service": "workers",
      "description": "Private Redis cache hostname.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "railway_private_domain"
    },
    {
      "key": "LAT_REDIS_PORT",
      "service": "workers",
      "description": "Private Redis cache port.",
      "secret": false,
      "strategy": "default",
      "default": "6379"
    },
    {
      "key": "LAT_BULLMQ_HOST",
      "service": "workers",
      "description": "Private Redis BullMQ hostname.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "railway_private_domain"
    },
    {
      "key": "LAT_BULLMQ_PORT",
      "service": "workers",
      "description": "Private Redis BullMQ port.",
      "secret": false,
      "strategy": "default",
      "default": "6379"
    },
    {
      "key": "LAT_PG_POOL_MAX",
      "service": "workers",
      "description": "Maximum PostgreSQL connections per Latitude process.",
      "secret": false,
      "strategy": "default",
      "default": "5"
    },
    {
      "key": "LAT_DATABASE_URL",
      "service": "workers",
      "description": "RLS-bound PostgreSQL runtime connection.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "railway_private_domain"
    },
    {
      "key": "LAT_MAILGUN_FROM",
      "service": "workers",
      "description": "Shared from the web service: Optional Mailgun sender address.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "reference_variable"
    },
    {
      "key": "LAT_CLICKHOUSE_DB",
      "service": "workers",
      "description": "ClickHouse database reference.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "reference_variable"
    },
    {
      "key": "LAT_CLICKHOUSE_URL",
      "service": "workers",
      "description": "Private ClickHouse HTTP endpoint.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "railway_private_domain"
    },
    {
      "key": "LAT_GOOGLE_API_KEY",
      "service": "workers",
      "description": "Shared from the web service: Optional Google AI key for configured features.",
      "secret": true,
      "strategy": "railway_provided",
      "railway_source": "reference_variable"
    },
    {
      "key": "LAT_MAILGUN_DOMAIN",
      "service": "workers",
      "description": "Shared from the web service: Optional Mailgun sending domain.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "reference_variable"
    },
    {
      "key": "LAT_MAILGUN_REGION",
      "service": "workers",
      "description": "Shared from the web service: Optional Mailgun region such as us or eu.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "reference_variable"
    },
    {
      "key": "LAT_OPENAI_API_KEY",
      "service": "workers",
      "description": "Shared from the web service: Optional OpenAI key for configured AI features.",
      "secret": true,
      "strategy": "railway_provided",
      "railway_source": "reference_variable"
    },
    {
      "key": "LAT_STORAGE_DRIVER",
      "service": "workers",
      "description": "Use shared S3-compatible object storage.",
      "secret": false,
      "strategy": "default",
      "default": "s3"
    },
    {
      "key": "LAT_VOYAGE_API_KEY",
      "service": "workers",
      "description": "Shared from the web service: Optional Voyage key for embeddings and reranking.",
      "secret": true,
      "strategy": "railway_provided",
      "railway_source": "reference_variable"
    },
    {
      "key": "LAT_CLICKHOUSE_USER",
      "service": "workers",
      "description": "ClickHouse user reference.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "reference_variable"
    },
    {
      "key": "LAT_MAILGUN_API_KEY",
      "service": "workers",
      "description": "Shared from the web service: Optional Mailgun API key.",
      "secret": true,
      "strategy": "railway_provided",
      "railway_source": "reference_variable"
    },
    {
      "key": "LAT_TRUSTED_ORIGINS",
      "service": "workers",
      "description": "Trusted web origin for sign-in.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "railway_domain"
    },
    {
      "key": "LAT_TEMPORAL_ADDRESS",
      "service": "workers",
      "description": "Private Temporal frontend address.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "railway_private_domain"
    },
    {
      "key": "LAT_ANTHROPIC_API_KEY",
      "service": "workers",
      "description": "Shared from the web service: Optional Anthropic key for configured generation features.",
      "secret": true,
      "strategy": "railway_provided",
      "railway_source": "reference_variable"
    },
    {
      "key": "LAT_STORAGE_S3_BUCKET",
      "service": "workers",
      "description": "Railway bucket name.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "reference_variable"
    },
    {
      "key": "LAT_STORAGE_S3_REGION",
      "service": "workers",
      "description": "Railway bucket signing region.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "reference_variable"
    },
    {
      "key": "LAT_ADMIN_DATABASE_URL",
      "service": "workers",
      "description": "PostgreSQL administrator connection used by migrations.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "railway_private_domain"
    },
    {
      "key": "LAT_BETTER_AUTH_SECRET",
      "service": "workers",
      "description": "Shared Better Auth signing secret.",
      "secret": true,
      "strategy": "railway_provided",
      "railway_source": "reference_variable"
    },
    {
      "key": "LAT_PG_IDLE_TIMEOUT_MS",
      "service": "workers",
      "description": "Idle PostgreSQL connection timeout in milliseconds.",
      "secret": false,
      "strategy": "default",
      "default": "30000"
    },
    {
      "key": "LAT_TEMPORAL_NAMESPACE",
      "service": "workers",
      "description": "Temporal namespace created by auto-setup.",
      "secret": false,
      "strategy": "default",
      "default": "default"
    },
    {
      "key": "LAT_CLICKHOUSE_PASSWORD",
      "service": "workers",
      "description": "ClickHouse password reference.",
      "secret": true,
      "strategy": "railway_provided",
      "railway_source": "reference_variable"
    },
    {
      "key": "LAT_STORAGE_S3_ENDPOINT",
      "service": "workers",
      "description": "Railway bucket S3 endpoint.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "reference_variable"
    },
    {
      "key": "LAT_TEMPORAL_TASK_QUEUE",
      "service": "workers",
      "description": "Temporal task queue shared with workflow workers.",
      "secret": false,
      "strategy": "default",
      "default": "latitude-workflows"
    },
    {
      "key": "LAT_WORKERS_HEALTH_PORT",
      "service": "workers",
      "description": "Workers health listener port.",
      "secret": false,
      "strategy": "default",
      "default": "9090"
    },
    {
      "key": "LAT_CORS_ALLOWED_ORIGINS",
      "service": "workers",
      "description": "Browser origin allowed to call the API.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "railway_domain"
    },
    {
      "key": "LAT_MASTER_ENCRYPTION_KEY",
      "service": "workers",
      "description": "Shared key for encrypted provider and integration credentials.",
      "secret": true,
      "strategy": "railway_provided",
      "railway_source": "reference_variable"
    },
    {
      "key": "LAT_OSS_TELEMETRY_ENABLED",
      "service": "workers",
      "description": "Disable optional anonymous deployment telemetry by default.",
      "secret": false,
      "strategy": "default",
      "default": "false"
    },
    {
      "key": "LAT_PG_CONNECT_TIMEOUT_MS",
      "service": "workers",
      "description": "PostgreSQL connection timeout in milliseconds.",
      "secret": false,
      "strategy": "default",
      "default": "10000"
    },
    {
      "key": "LAT_CLICKHOUSE_MIGRATION_URL",
      "service": "workers",
      "description": "Private ClickHouse native endpoint used by migrations.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "railway_private_domain"
    },
    {
      "key": "LAT_STORAGE_S3_ACCESS_KEY_ID",
      "service": "workers",
      "description": "Railway bucket access-key reference.",
      "secret": true,
      "strategy": "railway_provided",
      "railway_source": "reference_variable"
    },
    {
      "key": "LAT_CLICKHOUSE_CLUSTER_ENABLED",
      "service": "workers",
      "description": "Use the single-node ClickHouse migration set.",
      "secret": false,
      "strategy": "default",
      "default": "false"
    },
    {
      "key": "LAT_REDACTION_PSEUDONYM_SECRET",
      "service": "workers",
      "description": "Stable HMAC secret for optional identity pseudonymization.",
      "secret": true,
      "strategy": "railway_provided",
      "railway_source": "reference_variable"
    },
    {
      "key": "LAT_STORAGE_S3_FORCE_PATH_STYLE",
      "service": "workers",
      "description": "Use path-style requests required by the Railway S3 endpoint.",
      "secret": false,
      "strategy": "default",
      "default": "true"
    },
    {
      "key": "LAT_STORAGE_S3_SECRET_ACCESS_KEY",
      "service": "workers",
      "description": "Railway bucket secret-key reference.",
      "secret": true,
      "strategy": "railway_provided",
      "railway_source": "reference_variable"
    },
    {
      "key": "RAILWAY_TEMPLATE_MIGRATIONS_DEPENDENCY",
      "service": "workers",
      "description": "Deployment dependency on completed database migrations.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "railway_private_domain"
    },
    {
      "key": "LAT_TEMPORAL_MAX_CONCURRENT_ACTIVITY_TASKS",
      "service": "workers",
      "description": "Bound workflow activity concurrency for Railway resources.",
      "secret": false,
      "strategy": "default",
      "default": "2"
    },
    {
      "key": "DB",
      "service": "temporal",
      "description": "Use PostgreSQL persistence.",
      "secret": false,
      "strategy": "default",
      "default": "postgres12"
    },
    {
      "key": "DBNAME",
      "service": "temporal",
      "description": "Temporal primary database.",
      "secret": false,
      "strategy": "default",
      "default": "temporal"
    },
    {
      "key": "DB_PORT",
      "service": "temporal",
      "description": "Private PostgreSQL port.",
      "secret": false,
      "strategy": "default",
      "default": "5432"
    },
    {
      "key": "POSTGRES_PWD",
      "service": "temporal",
      "description": "PostgreSQL password reference.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "reference_variable"
    },
    {
      "key": "POSTGRES_USER",
      "service": "temporal",
      "description": "PostgreSQL administrator user reference.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "reference_variable"
    },
    {
      "key": "POSTGRES_SEEDS",
      "service": "temporal",
      "description": "Private PostgreSQL hostname.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "railway_private_domain"
    },
    {
      "key": "VISIBILITY_DBNAME",
      "service": "temporal",
      "description": "Temporal visibility database.",
      "secret": false,
      "strategy": "default",
      "default": "temporal_visibility"
    }
  ],
  "deploy": {
    "mcp": {
      "server": "railway",
      "tool": "deploy_template",
      "args": {
        "template_code": "latitude-1"
      }
    },
    "cli": "railway deploy --template latitude-1",
    "api": {
      "method": "POST",
      "path": "/graphql/v2",
      "body": {
        "query": "mutation templateDeploy($input: TemplateDeployV2Input!) { templateDeployV2(input: $input) { projectId workflowId } }",
        "variables": {
          "input": {
            "templateId": "0b0cf1c0-7dfb-47bc-ba44-93f38ffd88a9",
            "serializedConfig": {
              "buckets": {
                "33d12753-a2af-473e-b0fd-3d257397f271": {
                  "name": "latitude-storage"
                }
              },
              "services": {
                "18cc419f-c424-41c1-9ca1-27bb6b44ca7a": {
                  "icon": "https://raw.githubusercontent.com/latitude-dev/latitude-llm/b7231ef72b91dba788bfd556d7ceedb6f77ff28e/apps/design-system/public/latitude-logo-mark-dark.svg",
                  "name": "migrations",
                  "deploy": {
                    "startCommand": null,
                    "healthcheckPath": null,
                    "restartPolicyType": "ON_FAILURE",
                    "healthcheckTimeout": null,
                    "restartPolicyMaxRetries": 10
                  },
                  "source": {
                    "image": "latitudedata/migrations:0.3.92@sha256:32ff0d64cfebe3dc68ca27819ab9ef2dca88bda947645f53fc745e17feb30b6c"
                  },
                  "variables": {
                    "NODE_ENV": {
                      "isOptional": false,
                      "description": "Run Latitude in production mode.",
                      "defaultValue": "production"
                    },
                    "LAT_PG_POOL_MAX": {
                      "isOptional": false,
                      "description": "Maximum PostgreSQL connections per Latitude process.",
                      "defaultValue": "5"
                    },
                    "LAT_DATABASE_URL": {
                      "isOptional": false,
                      "description": "RLS-bound PostgreSQL runtime connection.",
                      "defaultValue": "postgres://latitude_app:${{postgres.POSTGRES_RUNTIME_PASSWORD}}@${{postgres.RAILWAY_PRIVATE_DOMAIN}}:5432/latitude"
                    },
                    "LAT_CLICKHOUSE_DB": {
                      "isOptional": false,
                      "description": "ClickHouse database reference.",
                      "defaultValue": "${{clickhouse.CLICKHOUSE_DB}}"
                    },
                    "LAT_CLICKHOUSE_URL": {
                      "isOptional": false,
                      "description": "Private ClickHouse HTTP endpoint.",
                      "defaultValue": "http://${{clickhouse.RAILWAY_PRIVATE_DOMAIN}}:8123"
                    },
                    "LAT_CLICKHOUSE_USER": {
                      "isOptional": false,
                      "description": "ClickHouse user reference.",
                      "defaultValue": "${{clickhouse.CLICKHOUSE_USER}}"
                    },
                    "LAT_ADMIN_DATABASE_URL": {
                      "isOptional": false,
                      "description": "PostgreSQL administrator connection used by migrations.",
                      "defaultValue": "postgres://latitude:${{postgres.POSTGRES_PASSWORD}}@${{postgres.RAILWAY_PRIVATE_DOMAIN}}:5432/latitude"
                    },
                    "LAT_BETTER_AUTH_SECRET": {
                      "isOptional": false,
                      "description": "Generated 32-byte hexadecimal authentication secret.",
                      "defaultValue": "{{LAT_BETTER_AUTH_SECRET}}"
                    },
                    "LAT_PG_IDLE_TIMEOUT_MS": {
                      "isOptional": false,
                      "description": "Idle PostgreSQL connection timeout in milliseconds.",
                      "defaultValue": "30000"
                    },
                    "LAT_CLICKHOUSE_PASSWORD": {
                      "isOptional": false,
                      "description": "ClickHouse password reference.",
                      "defaultValue": "${{clickhouse.CLICKHOUSE_PASSWORD}}"
                    },
                    "LAT_MASTER_ENCRYPTION_KEY": {
                      "isOptional": false,
                      "description": "Generated 32-byte hexadecimal master encryption key.",
                      "defaultValue": "{{LAT_MASTER_ENCRYPTION_KEY}}"
                    },
                    "LAT_PG_CONNECT_TIMEOUT_MS": {
                      "isOptional": false,
                      "description": "PostgreSQL connection timeout in milliseconds.",
                      "defaultValue": "10000"
                    },
                    "LAT_CLICKHOUSE_MIGRATION_URL": {
                      "isOptional": false,
                      "description": "Private ClickHouse native endpoint used by migrations.",
                      "defaultValue": "clickhouse://${{clickhouse.RAILWAY_PRIVATE_DOMAIN}}:9000"
                    },
                    "LAT_CLICKHOUSE_CLUSTER_ENABLED": {
                      "isOptional": false,
                      "description": "Use the single-node ClickHouse migration set.",
                      "defaultValue": "false"
                    },
                    "LAT_REDACTION_PSEUDONYM_SECRET": {
                      "isOptional": false,
                      "description": "Generated 32-byte hexadecimal pseudonym HMAC secret.",
                      "defaultValue": "{{LAT_REDACTION_PSEUDONYM_SECRET}}"
                    }
                  }
                },
                "1e8dbe42-965b-49ac-acf9-21f7da5103f5": {
                  "icon": "https://raw.githubusercontent.com/latitude-dev/latitude-llm/b7231ef72b91dba788bfd556d7ceedb6f77ff28e/apps/design-system/public/latitude-logo-mark-dark.svg",
                  "name": "api",
                  "deploy": {
                    "startCommand": null,
                    "healthcheckPath": "/health",
                    "restartPolicyType": "ON_FAILURE",
                    "healthcheckTimeout": 600,
                    "restartPolicyMaxRetries": 10
                  },
                  "source": {
                    "image": "latitudedata/api:0.3.92@sha256:ded27e7859891f3c6a97da29a0bfdbef5705842e6d8fe1ad135913df2a4def01"
                  },
                  "variables": {
                    "PORT": {
                      "isOptional": false,
                      "description": "Internal api listener used by Railway health checks.",
                      "defaultValue": "3001"
                    },
                    "NODE_ENV": {
                      "isOptional": false,
                      "description": "Run Latitude in production mode.",
                      "defaultValue": "production"
                    },
                    "LAT_API_URL": {
                      "isOptional": false,
                      "description": "Canonical public API and MCP URL.",
                      "defaultValue": "https://${{api.RAILWAY_PUBLIC_DOMAIN}}"
                    },
                    "LAT_WEB_URL": {
                      "isOptional": false,
                      "description": "Canonical Latitude web URL.",
                      "defaultValue": "https://${{web.RAILWAY_PUBLIC_DOMAIN}}"
                    },
                    "LAT_API_PORT": {
                      "isOptional": false,
                      "description": "Latitude API listener port.",
                      "defaultValue": "3001"
                    },
                    "LAT_SMTP_FROM": {
                      "isOptional": true,
                      "description": "Shared from the web service: Sender address for Latitude email.",
                      "defaultValue": "${{web.LAT_SMTP_FROM}}"
                    },
                    "LAT_SMTP_HOST": {
                      "isOptional": true,
                      "description": "Shared from the web service: SMTP server hostname required for production magic-link email.",
                      "defaultValue": "${{web.LAT_SMTP_HOST}}"
                    },
                    "LAT_SMTP_PASS": {
                      "isOptional": true,
                      "description": "Shared from the web service: SMTP password required when using SMTP.",
                      "defaultValue": "${{web.LAT_SMTP_PASS}}"
                    },
                    "LAT_SMTP_PORT": {
                      "isOptional": true,
                      "description": "Shared from the web service: SMTP server port, commonly 587.",
                      "defaultValue": "${{web.LAT_SMTP_PORT}}"
                    },
                    "LAT_SMTP_USER": {
                      "isOptional": true,
                      "description": "Shared from the web service: SMTP username required when using SMTP.",
                      "defaultValue": "${{web.LAT_SMTP_USER}}"
                    },
                    "LAT_INGEST_URL": {
                      "isOptional": false,
                      "description": "Canonical public OTLP ingest URL.",
                      "defaultValue": "https://${{ingest.RAILWAY_PUBLIC_DOMAIN}}"
                    },
                    "LAT_REDIS_HOST": {
                      "isOptional": false,
                      "description": "Private Redis cache hostname.",
                      "defaultValue": "${{redis.RAILWAY_PRIVATE_DOMAIN}}"
                    },
                    "LAT_REDIS_PORT": {
                      "isOptional": false,
                      "description": "Private Redis cache port.",
                      "defaultValue": "6379"
                    },
                    "LAT_BULLMQ_HOST": {
                      "isOptional": false,
                      "description": "Private Redis BullMQ hostname.",
                      "defaultValue": "${{redis.RAILWAY_PRIVATE_DOMAIN}}"
                    },
                    "LAT_BULLMQ_PORT": {
                      "isOptional": false,
                      "description": "Private Redis BullMQ port.",
                      "defaultValue": "6379"
                    },
                    "LAT_PG_POOL_MAX": {
                      "isOptional": false,
                      "description": "Maximum PostgreSQL connections per Latitude process.",
                      "defaultValue": "5"
                    },
                    "LAT_DATABASE_URL": {
                      "isOptional": false,
                      "description": "RLS-bound PostgreSQL runtime connection.",
                      "defaultValue": "postgres://latitude_app:${{postgres.POSTGRES_RUNTIME_PASSWORD}}@${{postgres.RAILWAY_PRIVATE_DOMAIN}}:5432/latitude"
                    },
                    "LAT_MAILGUN_FROM": {
                      "isOptional": true,
                      "description": "Shared from the web service: Optional Mailgun sender address.",
                      "defaultValue": "${{web.LAT_MAILGUN_FROM}}"
                    },
                    "LAT_CLICKHOUSE_DB": {
                      "isOptional": false,
                      "description": "ClickHouse database reference.",
                      "defaultValue": "${{clickhouse.CLICKHOUSE_DB}}"
                    },
                    "LAT_CLICKHOUSE_URL": {
                      "isOptional": false,
                      "description": "Private ClickHouse HTTP endpoint.",
                      "defaultValue": "http://${{clickhouse.RAILWAY_PRIVATE_DOMAIN}}:8123"
                    },
                    "LAT_GOOGLE_API_KEY": {
                      "isOptional": true,
                      "description": "Shared from the web service: Optional Google AI key for configured features.",
                      "defaultValue": "${{web.LAT_GOOGLE_API_KEY}}"
                    },
                    "LAT_MAILGUN_DOMAIN": {
                      "isOptional": true,
                      "description": "Shared from the web service: Optional Mailgun sending domain.",
                      "defaultValue": "${{web.LAT_MAILGUN_DOMAIN}}"
                    },
                    "LAT_MAILGUN_REGION": {
                      "isOptional": true,
                      "description": "Shared from the web service: Optional Mailgun region such as us or eu.",
                      "defaultValue": "${{web.LAT_MAILGUN_REGION}}"
                    },
                    "LAT_OPENAI_API_KEY": {
                      "isOptional": true,
                      "description": "Shared from the web service: Optional OpenAI key for configured AI features.",
                      "defaultValue": "${{web.LAT_OPENAI_API_KEY}}"
                    },
                    "LAT_STORAGE_DRIVER": {
                      "isOptional": false,
                      "description": "Use shared S3-compatible object storage.",
                      "defaultValue": "s3"
                    },
                    "LAT_VOYAGE_API_KEY": {
                      "isOptional": true,
                      "description": "Shared from the web service: Optional Voyage key for embeddings and reranking.",
                      "defaultValue": "${{web.LAT_VOYAGE_API_KEY}}"
                    },
                    "LAT_CLICKHOUSE_USER": {
                      "isOptional": false,
                      "description": "ClickHouse user reference.",
                      "defaultValue": "${{clickhouse.CLICKHOUSE_USER}}"
                    },
                    "LAT_MAILGUN_API_KEY": {
                      "isOptional": true,
                      "description": "Shared from the web service: Optional Mailgun API key.",
                      "defaultValue": "${{web.LAT_MAILGUN_API_KEY}}"
                    },
                    "LAT_TRUSTED_ORIGINS": {
                      "isOptional": false,
                      "description": "Trusted web origin for sign-in.",
                      "defaultValue": "https://${{web.RAILWAY_PUBLIC_DOMAIN}}"
                    },
                    "LAT_TEMPORAL_ADDRESS": {
                      "isOptional": false,
                      "description": "Private Temporal frontend address.",
                      "defaultValue": "${{temporal.RAILWAY_PRIVATE_DOMAIN}}:7233"
                    },
                    "LAT_ANTHROPIC_API_KEY": {
                      "isOptional": true,
                      "description": "Shared from the web service: Optional Anthropic key for configured generation features.",
                      "defaultValue": "${{web.LAT_ANTHROPIC_API_KEY}}"
                    },
                    "LAT_STORAGE_S3_BUCKET": {
                      "isOptional": false,
                      "description": "Railway bucket name.",
                      "defaultValue": "${{latitude-storage.BUCKET}}"
                    },
                    "LAT_STORAGE_S3_REGION": {
                      "isOptional": false,
                      "description": "Railway bucket signing region.",
                      "defaultValue": "${{latitude-storage.REGION}}"
                    },
                    "LAT_ADMIN_DATABASE_URL": {
                      "isOptional": false,
                      "description": "PostgreSQL administrator connection used by migrations.",
                      "defaultValue": "postgres://latitude:${{postgres.POSTGRES_PASSWORD}}@${{postgres.RAILWAY_PRIVATE_DOMAIN}}:5432/latitude"
                    },
                    "LAT_BETTER_AUTH_SECRET": {
                      "isOptional": false,
                      "description": "Shared Better Auth signing secret.",
                      "defaultValue": "${{migrations.LAT_BETTER_AUTH_SECRET}}"
                    },
                    "LAT_PG_IDLE_TIMEOUT_MS": {
                      "isOptional": false,
                      "description": "Idle PostgreSQL connection timeout in milliseconds.",
                      "defaultValue": "30000"
                    },
                    "LAT_TEMPORAL_NAMESPACE": {
                      "isOptional": false,
                      "description": "Temporal namespace created by auto-setup.",
                      "defaultValue": "default"
                    },
                    "LAT_CLICKHOUSE_PASSWORD": {
                      "isOptional": false,
                      "description": "ClickHouse password reference.",
                      "defaultValue": "${{clickhouse.CLICKHOUSE_PASSWORD}}"
                    },
                    "LAT_STORAGE_S3_ENDPOINT": {
                      "isOptional": false,
                      "description": "Railway bucket S3 endpoint.",
                      "defaultValue": "${{latitude-storage.ENDPOINT}}"
                    },
                    "LAT_TEMPORAL_TASK_QUEUE": {
                      "isOptional": false,
                      "description": "Temporal task queue shared with workflow workers.",
                      "defaultValue": "latitude-workflows"
                    },
                    "LAT_CORS_ALLOWED_ORIGINS": {
                      "isOptional": false,
                      "description": "Browser origin allowed to call the API.",
                      "defaultValue": "https://${{web.RAILWAY_PUBLIC_DOMAIN}}"
                    },
                    "LAT_MASTER_ENCRYPTION_KEY": {
                      "isOptional": false,
                      "description": "Shared key for encrypted provider and integration credentials.",
                      "defaultValue": "${{migrations.LAT_MASTER_ENCRYPTION_KEY}}"
                    },
                    "LAT_OSS_TELEMETRY_ENABLED": {
                      "isOptional": false,
                      "description": "Disable optional anonymous deployment telemetry by default.",
                      "defaultValue": "false"
                    },
                    "LAT_PG_CONNECT_TIMEOUT_MS": {
                      "isOptional": false,
                      "description": "PostgreSQL connection timeout in milliseconds.",
                      "defaultValue": "10000"
                    },
                    "LAT_CLICKHOUSE_MIGRATION_URL": {
                      "isOptional": false,
                      "description": "Private ClickHouse native endpoint used by migrations.",
                      "defaultValue": "clickhouse://${{clickhouse.RAILWAY_PRIVATE_DOMAIN}}:9000"
                    },
                    "LAT_STORAGE_S3_ACCESS_KEY_ID": {
                      "isOptional": false,
                      "description": "Railway bucket access-key reference.",
                      "defaultValue": "${{latitude-storage.ACCESS_KEY_ID}}"
                    },
                    "LAT_CLICKHOUSE_CLUSTER_ENABLED": {
                      "isOptional": false,
                      "description": "Use the single-node ClickHouse migration set.",
                      "defaultValue": "false"
                    },
                    "LAT_REDACTION_PSEUDONYM_SECRET": {
                      "isOptional": false,
                      "description": "Stable HMAC secret for optional identity pseudonymization.",
                      "defaultValue": "${{migrations.LAT_REDACTION_PSEUDONYM_SECRET}}"
                    },
                    "LAT_STORAGE_S3_FORCE_PATH_STYLE": {
                      "isOptional": false,
                      "description": "Use path-style requests required by the Railway S3 endpoint.",
                      "defaultValue": "true"
                    },
                    "LAT_STORAGE_S3_SECRET_ACCESS_KEY": {
                      "isOptional": false,
                      "description": "Railway bucket secret-key reference.",
                      "defaultValue": "${{latitude-storage.SECRET_ACCESS_KEY}}"
                    },
                    "RAILWAY_TEMPLATE_MIGRATIONS_DEPENDENCY": {
                      "isOptional": false,
                      "description": "Deployment dependency on completed database migrations.",
                      "defaultValue": "${{migrations.RAILWAY_PRIVATE_DOMAIN}}"
                    },
                    "LAT_TEMPORAL_MAX_CONCURRENT_ACTIVITY_TASKS": {
                      "isOptional": false,
                      "description": "Bound workflow activity concurrency for Railway resources.",
                      "defaultValue": "2"
                    }
                  },
                  "networking": {
                    "serviceDomains": {
                      "<hasDomain>:3001": {
                        "port": 3001
                      }
                    }
                  }
                },
                "1ec2fba1-0300-4607-9024-e79aa92ca20a": {
                  "icon": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/clickhouse.svg",
                  "name": "clickhouse",
                  "deploy": {
                    "startCommand": null,
                    "healthcheckPath": "/ping",
                    "restartPolicyType": "ON_FAILURE",
                    "healthcheckTimeout": 300,
                    "restartPolicyMaxRetries": 10
                  },
                  "source": {
                    "repo": "monotykamary/railway-template-latitude",
                    "branch": "main",
                    "commitSha": "0f3e5ad5964d12d1c00f086dbe640b9532a05110",
                    "upstreamUrl": "https://github.com/monotykamary/railway-template-latitude",
                    "rootDirectory": "/clickhouse"
                  },
                  "variables": {
                    "PORT": {
                      "isOptional": false,
                      "description": "ClickHouse HTTP listener used by Railway health checks.",
                      "defaultValue": "8123"
                    },
                    "CLICKHOUSE_DB": {
                      "isOptional": false,
                      "description": "Latitude ClickHouse database.",
                      "defaultValue": "latitude"
                    },
                    "CLICKHOUSE_USER": {
                      "isOptional": false,
                      "description": "Latitude ClickHouse user.",
                      "defaultValue": "latitude"
                    },
                    "CLICKHOUSE_PASSWORD": {
                      "isOptional": false,
                      "description": "Generated ClickHouse password.",
                      "defaultValue": "{{CLICKHOUSE_PASSWORD}}"
                    },
                    "CLICKHOUSE_DEFAULT_ACCESS_MANAGEMENT": {
                      "isOptional": false,
                      "description": "Enable SQL-driven access management.",
                      "defaultValue": "1"
                    }
                  },
                  "volumeMounts": {
                    "1ec2fba1-0300-4607-9024-e79aa92ca20a": {
                      "mountPath": "/var/lib/clickhouse",
                      "backupSchedules": [
                        "DAILY"
                      ]
                    }
                  }
                },
                "22c9b663-e287-45aa-82d2-6cd738eb3608": {
                  "icon": "https://raw.githubusercontent.com/latitude-dev/latitude-llm/b7231ef72b91dba788bfd556d7ceedb6f77ff28e/apps/design-system/public/latitude-logo-mark-dark.svg",
                  "name": "web",
                  "deploy": {
                    "startCommand": null,
                    "healthcheckPath": "/api/health",
                    "restartPolicyType": "ON_FAILURE",
                    "healthcheckTimeout": 600,
                    "restartPolicyMaxRetries": 10
                  },
                  "source": {
                    "image": "latitudedata/web:0.3.92@sha256:a25e3f5f2af4674e35837f4dce50e5040bdd0e31be906afaa6d218829271e6cd"
                  },
                  "variables": {
                    "PORT": {
                      "isOptional": false,
                      "description": "Internal web listener used by Railway health checks.",
                      "defaultValue": "3000"
                    },
                    "NODE_ENV": {
                      "isOptional": false,
                      "description": "Run Latitude in production mode.",
                      "defaultValue": "production"
                    },
                    "LAT_API_URL": {
                      "isOptional": false,
                      "description": "Canonical public API and MCP URL.",
                      "defaultValue": "https://${{api.RAILWAY_PUBLIC_DOMAIN}}"
                    },
                    "LAT_WEB_URL": {
                      "isOptional": false,
                      "description": "Canonical Latitude web URL.",
                      "defaultValue": "https://${{web.RAILWAY_PUBLIC_DOMAIN}}"
                    },
                    "LAT_WEB_PORT": {
                      "isOptional": false,
                      "description": "Latitude web listener port.",
                      "defaultValue": "3000"
                    },
                    "LAT_SMTP_FROM": {
                      "isOptional": true,
                      "description": "Sender address for Latitude email."
                    },
                    "LAT_SMTP_HOST": {
                      "isOptional": true,
                      "description": "SMTP server hostname required for production magic-link email."
                    },
                    "LAT_SMTP_PASS": {
                      "isOptional": true,
                      "description": "SMTP password required when using SMTP."
                    },
                    "LAT_SMTP_PORT": {
                      "isOptional": true,
                      "description": "SMTP server port, commonly 587."
                    },
                    "LAT_SMTP_USER": {
                      "isOptional": true,
                      "description": "SMTP username required when using SMTP."
                    },
                    "LAT_INGEST_URL": {
                      "isOptional": false,
                      "description": "Canonical public OTLP ingest URL.",
                      "defaultValue": "https://${{ingest.RAILWAY_PUBLIC_DOMAIN}}"
                    },
                    "LAT_REDIS_HOST": {
                      "isOptional": false,
                      "description": "Private Redis cache hostname.",
                      "defaultValue": "${{redis.RAILWAY_PRIVATE_DOMAIN}}"
                    },
                    "LAT_REDIS_PORT": {
                      "isOptional": false,
                      "description": "Private Redis cache port.",
                      "defaultValue": "6379"
                    },
                    "LAT_BULLMQ_HOST": {
                      "isOptional": false,
                      "description": "Private Redis BullMQ hostname.",
                      "defaultValue": "${{redis.RAILWAY_PRIVATE_DOMAIN}}"
                    },
                    "LAT_BULLMQ_PORT": {
                      "isOptional": false,
                      "description": "Private Redis BullMQ port.",
                      "defaultValue": "6379"
                    },
                    "LAT_PG_POOL_MAX": {
                      "isOptional": false,
                      "description": "Maximum PostgreSQL connections per Latitude process.",
                      "defaultValue": "5"
                    },
                    "LAT_DATABASE_URL": {
                      "isOptional": false,
                      "description": "RLS-bound PostgreSQL runtime connection.",
                      "defaultValue": "postgres://latitude_app:${{postgres.POSTGRES_RUNTIME_PASSWORD}}@${{postgres.RAILWAY_PRIVATE_DOMAIN}}:5432/latitude"
                    },
                    "LAT_MAILGUN_FROM": {
                      "isOptional": true,
                      "description": "Optional Mailgun sender address."
                    },
                    "LAT_CLICKHOUSE_DB": {
                      "isOptional": false,
                      "description": "ClickHouse database reference.",
                      "defaultValue": "${{clickhouse.CLICKHOUSE_DB}}"
                    },
                    "LAT_CLICKHOUSE_URL": {
                      "isOptional": false,
                      "description": "Private ClickHouse HTTP endpoint.",
                      "defaultValue": "http://${{clickhouse.RAILWAY_PRIVATE_DOMAIN}}:8123"
                    },
                    "LAT_GOOGLE_API_KEY": {
                      "isOptional": true,
                      "description": "Optional Google AI key for configured features."
                    },
                    "LAT_MAILGUN_DOMAIN": {
                      "isOptional": true,
                      "description": "Optional Mailgun sending domain."
                    },
                    "LAT_MAILGUN_REGION": {
                      "isOptional": true,
                      "description": "Optional Mailgun region such as us or eu."
                    },
                    "LAT_OPENAI_API_KEY": {
                      "isOptional": true,
                      "description": "Optional OpenAI key for configured AI features."
                    },
                    "LAT_STORAGE_DRIVER": {
                      "isOptional": false,
                      "description": "Use shared S3-compatible object storage.",
                      "defaultValue": "s3"
                    },
                    "LAT_VOYAGE_API_KEY": {
                      "isOptional": true,
                      "description": "Optional Voyage key for embeddings and reranking."
                    },
                    "LAT_CLICKHOUSE_USER": {
                      "isOptional": false,
                      "description": "ClickHouse user reference.",
                      "defaultValue": "${{clickhouse.CLICKHOUSE_USER}}"
                    },
                    "LAT_MAILGUN_API_KEY": {
                      "isOptional": true,
                      "description": "Optional Mailgun API key."
                    },
                    "LAT_TRUSTED_ORIGINS": {
                      "isOptional": false,
                      "description": "Trusted web origin for sign-in.",
                      "defaultValue": "https://${{web.RAILWAY_PUBLIC_DOMAIN}}"
                    },
                    "LAT_TEMPORAL_ADDRESS": {
                      "isOptional": false,
                      "description": "Private Temporal frontend address.",
                      "defaultValue": "${{temporal.RAILWAY_PRIVATE_DOMAIN}}:7233"
                    },
                    "LAT_ANTHROPIC_API_KEY": {
                      "isOptional": true,
                      "description": "Optional Anthropic key for configured generation features."
                    },
                    "LAT_STORAGE_S3_BUCKET": {
                      "isOptional": false,
                      "description": "Railway bucket name.",
                      "defaultValue": "${{latitude-storage.BUCKET}}"
                    },
                    "LAT_STORAGE_S3_REGION": {
                      "isOptional": false,
                      "description": "Railway bucket signing region.",
                      "defaultValue": "${{latitude-storage.REGION}}"
                    },
                    "LAT_ADMIN_DATABASE_URL": {
                      "isOptional": false,
                      "description": "PostgreSQL administrator connection used by migrations.",
                      "defaultValue": "postgres://latitude:${{postgres.POSTGRES_PASSWORD}}@${{postgres.RAILWAY_PRIVATE_DOMAIN}}:5432/latitude"
                    },
                    "LAT_BETTER_AUTH_SECRET": {
                      "isOptional": false,
                      "description": "Shared Better Auth signing secret.",
                      "defaultValue": "${{migrations.LAT_BETTER_AUTH_SECRET}}"
                    },
                    "LAT_PG_IDLE_TIMEOUT_MS": {
                      "isOptional": false,
                      "description": "Idle PostgreSQL connection timeout in milliseconds.",
                      "defaultValue": "30000"
                    },
                    "LAT_TEMPORAL_NAMESPACE": {
                      "isOptional": false,
                      "description": "Temporal namespace created by auto-setup.",
                      "defaultValue": "default"
                    },
                    "LAT_CLICKHOUSE_PASSWORD": {
                      "isOptional": false,
                      "description": "ClickHouse password reference.",
                      "defaultValue": "${{clickhouse.CLICKHOUSE_PASSWORD}}"
                    },
                    "LAT_STORAGE_S3_ENDPOINT": {
                      "isOptional": false,
                      "description": "Railway bucket S3 endpoint.",
                      "defaultValue": "${{latitude-storage.ENDPOINT}}"
                    },
                    "LAT_TEMPORAL_TASK_QUEUE": {
                      "isOptional": false,
                      "description": "Temporal task queue shared with workflow workers.",
                      "defaultValue": "latitude-workflows"
                    },
                    "LAT_CORS_ALLOWED_ORIGINS": {
                      "isOptional": false,
                      "description": "Browser origin allowed to call the API.",
                      "defaultValue": "https://${{web.RAILWAY_PUBLIC_DOMAIN}}"
                    },
                    "LAT_MASTER_ENCRYPTION_KEY": {
                      "isOptional": false,
                      "description": "Shared key for encrypted provider and integration credentials.",
                      "defaultValue": "${{migrations.LAT_MASTER_ENCRYPTION_KEY}}"
                    },
                    "LAT_OSS_TELEMETRY_ENABLED": {
                      "isOptional": false,
                      "description": "Disable optional anonymous deployment telemetry by default.",
                      "defaultValue": "false"
                    },
                    "LAT_PG_CONNECT_TIMEOUT_MS": {
                      "isOptional": false,
                      "description": "PostgreSQL connection timeout in milliseconds.",
                      "defaultValue": "10000"
                    },
                    "LAT_CLICKHOUSE_MIGRATION_URL": {
                      "isOptional": false,
                      "description": "Private ClickHouse native endpoint used by migrations.",
                      "defaultValue": "clickhouse://${{clickhouse.RAILWAY_PRIVATE_DOMAIN}}:9000"
                    },
                    "LAT_STORAGE_S3_ACCESS_KEY_ID": {
                      "isOptional": false,
                      "description": "Railway bucket access-key reference.",
                      "defaultValue": "${{latitude-storage.ACCESS_KEY_ID}}"
                    },
                    "LAT_CLICKHOUSE_CLUSTER_ENABLED": {
                      "isOptional": false,
                      "description": "Use the single-node ClickHouse migration set.",
                      "defaultValue": "false"
                    },
                    "LAT_REDACTION_PSEUDONYM_SECRET": {
                      "isOptional": false,
                      "description": "Stable HMAC secret for optional identity pseudonymization.",
                      "defaultValue": "${{migrations.LAT_REDACTION_PSEUDONYM_SECRET}}"
                    },
                    "LAT_STORAGE_S3_FORCE_PATH_STYLE": {
                      "isOptional": false,
                      "description": "Use path-style requests required by the Railway S3 endpoint.",
                      "defaultValue": "true"
                    },
                    "LAT_STORAGE_S3_SECRET_ACCESS_KEY": {
                      "isOptional": false,
                      "description": "Railway bucket secret-key reference.",
                      "defaultValue": "${{latitude-storage.SECRET_ACCESS_KEY}}"
                    },
                    "RAILWAY_TEMPLATE_MIGRATIONS_DEPENDENCY": {
                      "isOptional": false,
                      "description": "Deployment dependency on completed database migrations.",
                      "defaultValue": "${{migrations.RAILWAY_PRIVATE_DOMAIN}}"
                    },
                    "LAT_TEMPORAL_MAX_CONCURRENT_ACTIVITY_TASKS": {
                      "isOptional": false,
                      "description": "Bound workflow activity concurrency for Railway resources.",
                      "defaultValue": "2"
                    }
                  },
                  "networking": {
                    "serviceDomains": {
                      "<hasDomain>:3000": {
                        "port": 3000
                      }
                    }
                  }
                },
                "405b0245-e769-47c9-8eff-52f3798d23d3": {
                  "icon": "https://raw.githubusercontent.com/latitude-dev/latitude-llm/b7231ef72b91dba788bfd556d7ceedb6f77ff28e/apps/design-system/public/latitude-logo-mark-dark.svg",
                  "name": "ingest",
                  "deploy": {
                    "startCommand": null,
                    "healthcheckPath": "/health",
                    "restartPolicyType": "ON_FAILURE",
                    "healthcheckTimeout": 600,
                    "restartPolicyMaxRetries": 10
                  },
                  "source": {
                    "image": "latitudedata/ingest:0.3.92@sha256:4a4586345a11c869383714a0c6f30c6b2cee75950f34a9ef39752d2ab9597b67"
                  },
                  "variables": {
                    "PORT": {
                      "isOptional": false,
                      "description": "Internal ingest listener used by Railway health checks.",
                      "defaultValue": "3002"
                    },
                    "NODE_ENV": {
                      "isOptional": false,
                      "description": "Run Latitude in production mode.",
                      "defaultValue": "production"
                    },
                    "LAT_API_URL": {
                      "isOptional": false,
                      "description": "Canonical public API and MCP URL.",
                      "defaultValue": "https://${{api.RAILWAY_PUBLIC_DOMAIN}}"
                    },
                    "LAT_WEB_URL": {
                      "isOptional": false,
                      "description": "Canonical Latitude web URL.",
                      "defaultValue": "https://${{web.RAILWAY_PUBLIC_DOMAIN}}"
                    },
                    "LAT_SMTP_FROM": {
                      "isOptional": true,
                      "description": "Shared from the web service: Sender address for Latitude email.",
                      "defaultValue": "${{web.LAT_SMTP_FROM}}"
                    },
                    "LAT_SMTP_HOST": {
                      "isOptional": true,
                      "description": "Shared from the web service: SMTP server hostname required for production magic-link email.",
                      "defaultValue": "${{web.LAT_SMTP_HOST}}"
                    },
                    "LAT_SMTP_PASS": {
                      "isOptional": true,
                      "description": "Shared from the web service: SMTP password required when using SMTP.",
                      "defaultValue": "${{web.LAT_SMTP_PASS}}"
                    },
                    "LAT_SMTP_PORT": {
                      "isOptional": true,
                      "description": "Shared from the web service: SMTP server port, commonly 587.",
                      "defaultValue": "${{web.LAT_SMTP_PORT}}"
                    },
                    "LAT_SMTP_USER": {
                      "isOptional": true,
                      "description": "Shared from the web service: SMTP username required when using SMTP.",
                      "defaultValue": "${{web.LAT_SMTP_USER}}"
                    },
                    "LAT_INGEST_URL": {
                      "isOptional": false,
                      "description": "Canonical public OTLP ingest URL.",
                      "defaultValue": "https://${{ingest.RAILWAY_PUBLIC_DOMAIN}}"
                    },
                    "LAT_REDIS_HOST": {
                      "isOptional": false,
                      "description": "Private Redis cache hostname.",
                      "defaultValue": "${{redis.RAILWAY_PRIVATE_DOMAIN}}"
                    },
                    "LAT_REDIS_PORT": {
                      "isOptional": false,
                      "description": "Private Redis cache port.",
                      "defaultValue": "6379"
                    },
                    "LAT_BULLMQ_HOST": {
                      "isOptional": false,
                      "description": "Private Redis BullMQ hostname.",
                      "defaultValue": "${{redis.RAILWAY_PRIVATE_DOMAIN}}"
                    },
                    "LAT_BULLMQ_PORT": {
                      "isOptional": false,
                      "description": "Private Redis BullMQ port.",
                      "defaultValue": "6379"
                    },
                    "LAT_INGEST_PORT": {
                      "isOptional": false,
                      "description": "Latitude ingest listener port.",
                      "defaultValue": "3002"
                    },
                    "LAT_PG_POOL_MAX": {
                      "isOptional": false,
                      "description": "Maximum PostgreSQL connections per Latitude process.",
                      "defaultValue": "5"
                    },
                    "LAT_DATABASE_URL": {
                      "isOptional": false,
                      "description": "RLS-bound PostgreSQL runtime connection.",
                      "defaultValue": "postgres://latitude_app:${{postgres.POSTGRES_RUNTIME_PASSWORD}}@${{postgres.RAILWAY_PRIVATE_DOMAIN}}:5432/latitude"
                    },
                    "LAT_MAILGUN_FROM": {
                      "isOptional": true,
                      "description": "Shared from the web service: Optional Mailgun sender address.",
                      "defaultValue": "${{web.LAT_MAILGUN_FROM}}"
                    },
                    "LAT_CLICKHOUSE_DB": {
                      "isOptional": false,
                      "description": "ClickHouse database reference.",
                      "defaultValue": "${{clickhouse.CLICKHOUSE_DB}}"
                    },
                    "LAT_CLICKHOUSE_URL": {
                      "isOptional": false,
                      "description": "Private ClickHouse HTTP endpoint.",
                      "defaultValue": "http://${{clickhouse.RAILWAY_PRIVATE_DOMAIN}}:8123"
                    },
                    "LAT_GOOGLE_API_KEY": {
                      "isOptional": true,
                      "description": "Shared from the web service: Optional Google AI key for configured features.",
                      "defaultValue": "${{web.LAT_GOOGLE_API_KEY}}"
                    },
                    "LAT_MAILGUN_DOMAIN": {
                      "isOptional": true,
                      "description": "Shared from the web service: Optional Mailgun sending domain.",
                      "defaultValue": "${{web.LAT_MAILGUN_DOMAIN}}"
                    },
                    "LAT_MAILGUN_REGION": {
                      "isOptional": true,
                      "description": "Shared from the web service: Optional Mailgun region such as us or eu.",
                      "defaultValue": "${{web.LAT_MAILGUN_REGION}}"
                    },
                    "LAT_OPENAI_API_KEY": {
                      "isOptional": true,
                      "description": "Shared from the web service: Optional OpenAI key for configured AI features.",
                      "defaultValue": "${{web.LAT_OPENAI_API_KEY}}"
                    },
                    "LAT_STORAGE_DRIVER": {
                      "isOptional": false,
                      "description": "Use shared S3-compatible object storage.",
                      "defaultValue": "s3"
                    },
                    "LAT_VOYAGE_API_KEY": {
                      "isOptional": true,
                      "description": "Shared from the web service: Optional Voyage key for embeddings and reranking.",
                      "defaultValue": "${{web.LAT_VOYAGE_API_KEY}}"
                    },
                    "LAT_CLICKHOUSE_USER": {
                      "isOptional": false,
                      "description": "ClickHouse user reference.",
                      "defaultValue": "${{clickhouse.CLICKHOUSE_USER}}"
                    },
                    "LAT_MAILGUN_API_KEY": {
                      "isOptional": true,
                      "description": "Shared from the web service: Optional Mailgun API key.",
                      "defaultValue": "${{web.LAT_MAILGUN_API_KEY}}"
                    },
                    "LAT_TRUSTED_ORIGINS": {
                      "isOptional": false,
                      "description": "Trusted web origin for sign-in.",
                      "defaultValue": "https://${{web.RAILWAY_PUBLIC_DOMAIN}}"
                    },
                    "LAT_TEMPORAL_ADDRESS": {
                      "isOptional": false,
                      "description": "Private Temporal frontend address.",
                      "defaultValue": "${{temporal.RAILWAY_PRIVATE_DOMAIN}}:7233"
                    },
                    "LAT_ANTHROPIC_API_KEY": {
                      "isOptional": true,
                      "description": "Shared from the web service: Optional Anthropic key for configured generation features.",
                      "defaultValue": "${{web.LAT_ANTHROPIC_API_KEY}}"
                    },
                    "LAT_STORAGE_S3_BUCKET": {
                      "isOptional": false,
                      "description": "Railway bucket name.",
                      "defaultValue": "${{latitude-storage.BUCKET}}"
                    },
                    "LAT_STORAGE_S3_REGION": {
                      "isOptional": false,
                      "description": "Railway bucket signing region.",
                      "defaultValue": "${{latitude-storage.REGION}}"
                    },
                    "LAT_ADMIN_DATABASE_URL": {
                      "isOptional": false,
                      "description": "PostgreSQL administrator connection used by migrations.",
                      "defaultValue": "postgres://latitude:${{postgres.POSTGRES_PASSWORD}}@${{postgres.RAILWAY_PRIVATE_DOMAIN}}:5432/latitude"
                    },
                    "LAT_BETTER_AUTH_SECRET": {
                      "isOptional": false,
                      "description": "Shared Better Auth signing secret.",
                      "defaultValue": "${{migrations.LAT_BETTER_AUTH_SECRET}}"
                    },
                    "LAT_PG_IDLE_TIMEOUT_MS": {
                      "isOptional": false,
                      "description": "Idle PostgreSQL connection timeout in milliseconds.",
                      "defaultValue": "30000"
                    },
                    "LAT_TEMPORAL_NAMESPACE": {
                      "isOptional": false,
                      "description": "Temporal namespace created by auto-setup.",
                      "defaultValue": "default"
                    },
                    "LAT_CLICKHOUSE_PASSWORD": {
                      "isOptional": false,
                      "description": "ClickHouse password reference.",
                      "defaultValue": "${{clickhouse.CLICKHOUSE_PASSWORD}}"
                    },
                    "LAT_STORAGE_S3_ENDPOINT": {
                      "isOptional": false,
                      "description": "Railway bucket S3 endpoint.",
                      "defaultValue": "${{latitude-storage.ENDPOINT}}"
                    },
                    "LAT_TEMPORAL_TASK_QUEUE": {
                      "isOptional": false,
                      "description": "Temporal task queue shared with workflow workers.",
                      "defaultValue": "latitude-workflows"
                    },
                    "LAT_CORS_ALLOWED_ORIGINS": {
                      "isOptional": false,
                      "description": "Browser origin allowed to call the API.",
                      "defaultValue": "https://${{web.RAILWAY_PUBLIC_DOMAIN}}"
                    },
                    "LAT_MASTER_ENCRYPTION_KEY": {
                      "isOptional": false,
                      "description": "Shared key for encrypted provider and integration credentials.",
                      "defaultValue": "${{migrations.LAT_MASTER_ENCRYPTION_KEY}}"
                    },
                    "LAT_OSS_TELEMETRY_ENABLED": {
                      "isOptional": false,
                      "description": "Disable optional anonymous deployment telemetry by default.",
                      "defaultValue": "false"
                    },
                    "LAT_PG_CONNECT_TIMEOUT_MS": {
                      "isOptional": false,
                      "description": "PostgreSQL connection timeout in milliseconds.",
                      "defaultValue": "10000"
                    },
                    "LAT_CLICKHOUSE_MIGRATION_URL": {
                      "isOptional": false,
                      "description": "Private ClickHouse native endpoint used by migrations.",
                      "defaultValue": "clickhouse://${{clickhouse.RAILWAY_PRIVATE_DOMAIN}}:9000"
                    },
                    "LAT_STORAGE_S3_ACCESS_KEY_ID": {
                      "isOptional": false,
                      "description": "Railway bucket access-key reference.",
                      "defaultValue": "${{latitude-storage.ACCESS_KEY_ID}}"
                    },
                    "LAT_CLICKHOUSE_CLUSTER_ENABLED": {
                      "isOptional": false,
                      "description": "Use the single-node ClickHouse migration set.",
                      "defaultValue": "false"
                    },
                    "LAT_REDACTION_PSEUDONYM_SECRET": {
                      "isOptional": false,
                      "description": "Stable HMAC secret for optional identity pseudonymization.",
                      "defaultValue": "${{migrations.LAT_REDACTION_PSEUDONYM_SECRET}}"
                    },
                    "LAT_STORAGE_S3_FORCE_PATH_STYLE": {
                      "isOptional": false,
                      "description": "Use path-style requests required by the Railway S3 endpoint.",
                      "defaultValue": "true"
                    },
                    "LAT_STORAGE_S3_SECRET_ACCESS_KEY": {
                      "isOptional": false,
                      "description": "Railway bucket secret-key reference.",
                      "defaultValue": "${{latitude-storage.SECRET_ACCESS_KEY}}"
                    },
                    "RAILWAY_TEMPLATE_MIGRATIONS_DEPENDENCY": {
                      "isOptional": false,
                      "description": "Deployment dependency on completed database migrations.",
                      "defaultValue": "${{migrations.RAILWAY_PRIVATE_DOMAIN}}"
                    },
                    "LAT_TEMPORAL_MAX_CONCURRENT_ACTIVITY_TASKS": {
                      "isOptional": false,
                      "description": "Bound workflow activity concurrency for Railway resources.",
                      "defaultValue": "2"
                    }
                  },
                  "networking": {
                    "serviceDomains": {
                      "<hasDomain>:3002": {
                        "port": 3002
                      }
                    }
                  }
                },
                "8a87971d-78a6-4e3b-ac9d-73b2f7834baf": {
                  "icon": "https://raw.githubusercontent.com/latitude-dev/latitude-llm/b7231ef72b91dba788bfd556d7ceedb6f77ff28e/apps/design-system/public/latitude-logo-mark-dark.svg",
                  "name": "workflows",
                  "deploy": {
                    "startCommand": null,
                    "healthcheckPath": "/health",
                    "restartPolicyType": "ON_FAILURE",
                    "healthcheckTimeout": 600,
                    "restartPolicyMaxRetries": 10
                  },
                  "source": {
                    "image": "latitudedata/workflows:0.3.92@sha256:cf0170ffa29b498d74a790ce0c0bea34a99ef78eca20894598b76d5080dbdbf4"
                  },
                  "variables": {
                    "PORT": {
                      "isOptional": false,
                      "description": "Internal workflows listener used by Railway health checks.",
                      "defaultValue": "9091"
                    },
                    "NODE_ENV": {
                      "isOptional": false,
                      "description": "Run Latitude in production mode.",
                      "defaultValue": "production"
                    },
                    "LAT_API_URL": {
                      "isOptional": false,
                      "description": "Canonical public API and MCP URL.",
                      "defaultValue": "https://${{api.RAILWAY_PUBLIC_DOMAIN}}"
                    },
                    "LAT_WEB_URL": {
                      "isOptional": false,
                      "description": "Canonical Latitude web URL.",
                      "defaultValue": "https://${{web.RAILWAY_PUBLIC_DOMAIN}}"
                    },
                    "LAT_SMTP_FROM": {
                      "isOptional": true,
                      "description": "Shared from the web service: Sender address for Latitude email.",
                      "defaultValue": "${{web.LAT_SMTP_FROM}}"
                    },
                    "LAT_SMTP_HOST": {
                      "isOptional": true,
                      "description": "Shared from the web service: SMTP server hostname required for production magic-link email.",
                      "defaultValue": "${{web.LAT_SMTP_HOST}}"
                    },
                    "LAT_SMTP_PASS": {
                      "isOptional": true,
                      "description": "Shared from the web service: SMTP password required when using SMTP.",
                      "defaultValue": "${{web.LAT_SMTP_PASS}}"
                    },
                    "LAT_SMTP_PORT": {
                      "isOptional": true,
                      "description": "Shared from the web service: SMTP server port, commonly 587.",
                      "defaultValue": "${{web.LAT_SMTP_PORT}}"
                    },
                    "LAT_SMTP_USER": {
                      "isOptional": true,
                      "description": "Shared from the web service: SMTP username required when using SMTP.",
                      "defaultValue": "${{web.LAT_SMTP_USER}}"
                    },
                    "LAT_INGEST_URL": {
                      "isOptional": false,
                      "description": "Canonical public OTLP ingest URL.",
                      "defaultValue": "https://${{ingest.RAILWAY_PUBLIC_DOMAIN}}"
                    },
                    "LAT_REDIS_HOST": {
                      "isOptional": false,
                      "description": "Private Redis cache hostname.",
                      "defaultValue": "${{redis.RAILWAY_PRIVATE_DOMAIN}}"
                    },
                    "LAT_REDIS_PORT": {
                      "isOptional": false,
                      "description": "Private Redis cache port.",
                      "defaultValue": "6379"
                    },
                    "LAT_BULLMQ_HOST": {
                      "isOptional": false,
                      "description": "Private Redis BullMQ hostname.",
                      "defaultValue": "${{redis.RAILWAY_PRIVATE_DOMAIN}}"
                    },
                    "LAT_BULLMQ_PORT": {
                      "isOptional": false,
                      "description": "Private Redis BullMQ port.",
                      "defaultValue": "6379"
                    },
                    "LAT_PG_POOL_MAX": {
                      "isOptional": false,
                      "description": "Maximum PostgreSQL connections per Latitude process.",
                      "defaultValue": "5"
                    },
                    "LAT_DATABASE_URL": {
                      "isOptional": false,
                      "description": "RLS-bound PostgreSQL runtime connection.",
                      "defaultValue": "postgres://latitude_app:${{postgres.POSTGRES_RUNTIME_PASSWORD}}@${{postgres.RAILWAY_PRIVATE_DOMAIN}}:5432/latitude"
                    },
                    "LAT_MAILGUN_FROM": {
                      "isOptional": true,
                      "description": "Shared from the web service: Optional Mailgun sender address.",
                      "defaultValue": "${{web.LAT_MAILGUN_FROM}}"
                    },
                    "LAT_CLICKHOUSE_DB": {
                      "isOptional": false,
                      "description": "ClickHouse database reference.",
                      "defaultValue": "${{clickhouse.CLICKHOUSE_DB}}"
                    },
                    "LAT_CLICKHOUSE_URL": {
                      "isOptional": false,
                      "description": "Private ClickHouse HTTP endpoint.",
                      "defaultValue": "http://${{clickhouse.RAILWAY_PRIVATE_DOMAIN}}:8123"
                    },
                    "LAT_GOOGLE_API_KEY": {
                      "isOptional": true,
                      "description": "Shared from the web service: Optional Google AI key for configured features.",
                      "defaultValue": "${{web.LAT_GOOGLE_API_KEY}}"
                    },
                    "LAT_MAILGUN_DOMAIN": {
                      "isOptional": true,
                      "description": "Shared from the web service: Optional Mailgun sending domain.",
                      "defaultValue": "${{web.LAT_MAILGUN_DOMAIN}}"
                    },
                    "LAT_MAILGUN_REGION": {
                      "isOptional": true,
                      "description": "Shared from the web service: Optional Mailgun region such as us or eu.",
                      "defaultValue": "${{web.LAT_MAILGUN_REGION}}"
                    },
                    "LAT_OPENAI_API_KEY": {
                      "isOptional": true,
                      "description": "Shared from the web service: Optional OpenAI key for configured AI features.",
                      "defaultValue": "${{web.LAT_OPENAI_API_KEY}}"
                    },
                    "LAT_STORAGE_DRIVER": {
                      "isOptional": false,
                      "description": "Use shared S3-compatible object storage.",
                      "defaultValue": "s3"
                    },
                    "LAT_VOYAGE_API_KEY": {
                      "isOptional": true,
                      "description": "Shared from the web service: Optional Voyage key for embeddings and reranking.",
                      "defaultValue": "${{web.LAT_VOYAGE_API_KEY}}"
                    },
                    "LAT_CLICKHOUSE_USER": {
                      "isOptional": false,
                      "description": "ClickHouse user reference.",
                      "defaultValue": "${{clickhouse.CLICKHOUSE_USER}}"
                    },
                    "LAT_MAILGUN_API_KEY": {
                      "isOptional": true,
                      "description": "Shared from the web service: Optional Mailgun API key.",
                      "defaultValue": "${{web.LAT_MAILGUN_API_KEY}}"
                    },
                    "LAT_TRUSTED_ORIGINS": {
                      "isOptional": false,
                      "description": "Trusted web origin for sign-in.",
                      "defaultValue": "https://${{web.RAILWAY_PUBLIC_DOMAIN}}"
                    },
                    "LAT_TEMPORAL_ADDRESS": {
                      "isOptional": false,
                      "description": "Private Temporal frontend address.",
                      "defaultValue": "${{temporal.RAILWAY_PRIVATE_DOMAIN}}:7233"
                    },
                    "LAT_ANTHROPIC_API_KEY": {
                      "isOptional": true,
                      "description": "Shared from the web service: Optional Anthropic key for configured generation features.",
                      "defaultValue": "${{web.LAT_ANTHROPIC_API_KEY}}"
                    },
                    "LAT_STORAGE_S3_BUCKET": {
                      "isOptional": false,
                      "description": "Railway bucket name.",
                      "defaultValue": "${{latitude-storage.BUCKET}}"
                    },
                    "LAT_STORAGE_S3_REGION": {
                      "isOptional": false,
                      "description": "Railway bucket signing region.",
                      "defaultValue": "${{latitude-storage.REGION}}"
                    },
                    "LAT_ADMIN_DATABASE_URL": {
                      "isOptional": false,
                      "description": "PostgreSQL administrator connection used by migrations.",
                      "defaultValue": "postgres://latitude:${{postgres.POSTGRES_PASSWORD}}@${{postgres.RAILWAY_PRIVATE_DOMAIN}}:5432/latitude"
                    },
                    "LAT_BETTER_AUTH_SECRET": {
                      "isOptional": false,
                      "description": "Shared Better Auth signing secret.",
                      "defaultValue": "${{migrations.LAT_BETTER_AUTH_SECRET}}"
                    },
                    "LAT_PG_IDLE_TIMEOUT_MS": {
                      "isOptional": false,
                      "description": "Idle PostgreSQL connection timeout in milliseconds.",
                      "defaultValue": "30000"
                    },
                    "LAT_TEMPORAL_NAMESPACE": {
                      "isOptional": false,
                      "description": "Temporal namespace created by auto-setup.",
                      "defaultValue": "default"
                    },
                    "LAT_CLICKHOUSE_PASSWORD": {
                      "isOptional": false,
                      "description": "ClickHouse password reference.",
                      "defaultValue": "${{clickhouse.CLICKHOUSE_PASSWORD}}"
                    },
                    "LAT_STORAGE_S3_ENDPOINT": {
                      "isOptional": false,
                      "description": "Railway bucket S3 endpoint.",
                      "defaultValue": "${{latitude-storage.ENDPOINT}}"
                    },
                    "LAT_TEMPORAL_TASK_QUEUE": {
                      "isOptional": false,
                      "description": "Temporal task queue shared with workflow workers.",
                      "defaultValue": "latitude-workflows"
                    },
                    "LAT_CORS_ALLOWED_ORIGINS": {
                      "isOptional": false,
                      "description": "Browser origin allowed to call the API.",
                      "defaultValue": "https://${{web.RAILWAY_PUBLIC_DOMAIN}}"
                    },
                    "LAT_MASTER_ENCRYPTION_KEY": {
                      "isOptional": false,
                      "description": "Shared key for encrypted provider and integration credentials.",
                      "defaultValue": "${{migrations.LAT_MASTER_ENCRYPTION_KEY}}"
                    },
                    "LAT_OSS_TELEMETRY_ENABLED": {
                      "isOptional": false,
                      "description": "Disable optional anonymous deployment telemetry by default.",
                      "defaultValue": "false"
                    },
                    "LAT_PG_CONNECT_TIMEOUT_MS": {
                      "isOptional": false,
                      "description": "PostgreSQL connection timeout in milliseconds.",
                      "defaultValue": "10000"
                    },
                    "LAT_WORKFLOWS_HEALTH_PORT": {
                      "isOptional": false,
                      "description": "Workflows health listener port.",
                      "defaultValue": "9091"
                    },
                    "LAT_CLICKHOUSE_MIGRATION_URL": {
                      "isOptional": false,
                      "description": "Private ClickHouse native endpoint used by migrations.",
                      "defaultValue": "clickhouse://${{clickhouse.RAILWAY_PRIVATE_DOMAIN}}:9000"
                    },
                    "LAT_STORAGE_S3_ACCESS_KEY_ID": {
                      "isOptional": false,
                      "description": "Railway bucket access-key reference.",
                      "defaultValue": "${{latitude-storage.ACCESS_KEY_ID}}"
                    },
                    "LAT_CLICKHOUSE_CLUSTER_ENABLED": {
                      "isOptional": false,
                      "description": "Use the single-node ClickHouse migration set.",
                      "defaultValue": "false"
                    },
                    "LAT_REDACTION_PSEUDONYM_SECRET": {
                      "isOptional": false,
                      "description": "Stable HMAC secret for optional identity pseudonymization.",
                      "defaultValue": "${{migrations.LAT_REDACTION_PSEUDONYM_SECRET}}"
                    },
                    "LAT_STORAGE_S3_FORCE_PATH_STYLE": {
                      "isOptional": false,
                      "description": "Use path-style requests required by the Railway S3 endpoint.",
                      "defaultValue": "true"
                    },
                    "LAT_STORAGE_S3_SECRET_ACCESS_KEY": {
                      "isOptional": false,
                      "description": "Railway bucket secret-key reference.",
                      "defaultValue": "${{latitude-storage.SECRET_ACCESS_KEY}}"
                    },
                    "RAILWAY_TEMPLATE_MIGRATIONS_DEPENDENCY": {
                      "isOptional": false,
                      "description": "Deployment dependency on completed database migrations.",
                      "defaultValue": "${{migrations.RAILWAY_PRIVATE_DOMAIN}}"
                    },
                    "LAT_TEMPORAL_MAX_CONCURRENT_ACTIVITY_TASKS": {
                      "isOptional": false,
                      "description": "Bound workflow activity concurrency for Railway resources.",
                      "defaultValue": "2"
                    }
                  }
                },
                "b1050892-cf6a-458f-9bea-3b374ae08fdc": {
                  "icon": "https://devicons.railway.app/i/redis.svg",
                  "name": "redis",
                  "deploy": {
                    "startCommand": "/bin/sh -c 'exec redis-server --maxmemory-policy noeviction --appendonly yes --save 3600 1 --save 300 100'",
                    "healthcheckPath": null,
                    "restartPolicyType": "ON_FAILURE",
                    "healthcheckTimeout": null,
                    "restartPolicyMaxRetries": 10
                  },
                  "source": {
                    "image": "redis:7.4.7-alpine@sha256:02f2cc4882f8bf87c79a220ac958f58c700bdec0dfb9b9ea61b62fb0e8f1bfcf"
                  },
                  "variables": {
                    "REDIS_PORT": {
                      "isOptional": false,
                      "description": "Private Redis listener port.",
                      "defaultValue": "6379"
                    }
                  },
                  "volumeMounts": {
                    "b1050892-cf6a-458f-9bea-3b374ae08fdc": {
                      "mountPath": "/data",
                      "backupSchedules": [
                        "DAILY"
                      ]
                    }
                  },
                  "haTemplateCode": "redis-ha",
                  "haConversionConfig": {
                    "edge": {
                      "label": "Reverse Proxies",
                      "options": [
                        1,
                        2
                      ],
                      "nodeLabel": "HAProxy",
                      "description": "HAProxy instances routing writes to the primary",
                      "defaultValue": 2
                    },
                    "replica": {
                      "label": "Redis Replicas",
                      "options": [
                        2,
                        3,
                        4,
                        5
                      ],
                      "nodeLabel": "Redis",
                      "description": "Nodes running Redis + colocated Sentinel",
                      "defaultValue": 2
                    },
                    "internal": null,
                    "description": "This will convert your Redis instance to an HA cluster with Sentinel failover and HAProxy routing to the primary."
                  }
                },
                "bed63969-24b3-49a4-8325-e62e4adcaa32": {
                  "icon": "https://devicons.railway.app/i/postgresql.svg",
                  "name": "postgres",
                  "deploy": {
                    "startCommand": null,
                    "healthcheckPath": null,
                    "restartPolicyType": "ON_FAILURE",
                    "healthcheckTimeout": null,
                    "restartPolicyMaxRetries": 10
                  },
                  "source": {
                    "repo": "monotykamary/railway-template-latitude",
                    "branch": "main",
                    "commitSha": "0f3e5ad5964d12d1c00f086dbe640b9532a05110",
                    "upstreamUrl": "https://github.com/monotykamary/railway-template-latitude",
                    "rootDirectory": "/postgres"
                  },
                  "variables": {
                    "PGDATA": {
                      "isOptional": false,
                      "description": "Initialize PostgreSQL below the Railway mount root.",
                      "defaultValue": "/var/lib/postgresql/data/pgdata"
                    },
                    "POSTGRES_DB": {
                      "isOptional": false,
                      "description": "Latitude PostgreSQL database.",
                      "defaultValue": "latitude"
                    },
                    "POSTGRES_USER": {
                      "isOptional": false,
                      "description": "Latitude PostgreSQL administrator user.",
                      "defaultValue": "latitude"
                    },
                    "POSTGRES_PASSWORD": {
                      "isOptional": false,
                      "description": "Generated PostgreSQL administrator password.",
                      "defaultValue": "{{POSTGRES_PASSWORD}}"
                    },
                    "POSTGRES_RUNTIME_USER": {
                      "isOptional": false,
                      "description": "RLS-bound application database user.",
                      "defaultValue": "latitude_app"
                    },
                    "POSTGRES_RUNTIME_PASSWORD": {
                      "isOptional": false,
                      "description": "Generated runtime database password.",
                      "defaultValue": "{{POSTGRES_RUNTIME_PASSWORD}}"
                    }
                  },
                  "volumeMounts": {
                    "bed63969-24b3-49a4-8325-e62e4adcaa32": {
                      "mountPath": "/var/lib/postgresql/data",
                      "backupSchedules": [
                        "DAILY"
                      ]
                    }
                  }
                },
                "c71dc5df-d68f-4dfb-b849-118f23a3dcb2": {
                  "icon": "https://raw.githubusercontent.com/latitude-dev/latitude-llm/b7231ef72b91dba788bfd556d7ceedb6f77ff28e/apps/design-system/public/latitude-logo-mark-dark.svg",
                  "name": "workers",
                  "deploy": {
                    "startCommand": null,
                    "healthcheckPath": "/health",
                    "restartPolicyType": "ON_FAILURE",
                    "healthcheckTimeout": 600,
                    "restartPolicyMaxRetries": 10
                  },
                  "source": {
                    "image": "latitudedata/workers:0.3.92@sha256:6d51e06cfb8d9ee5ad54e2f6dae53ab8eeccfa6f12de0a51a3187e315144e784"
                  },
                  "variables": {
                    "PORT": {
                      "isOptional": false,
                      "description": "Internal workers listener used by Railway health checks.",
                      "defaultValue": "9090"
                    },
                    "NODE_ENV": {
                      "isOptional": false,
                      "description": "Run Latitude in production mode.",
                      "defaultValue": "production"
                    },
                    "LAT_API_URL": {
                      "isOptional": false,
                      "description": "Canonical public API and MCP URL.",
                      "defaultValue": "https://${{api.RAILWAY_PUBLIC_DOMAIN}}"
                    },
                    "LAT_WEB_URL": {
                      "isOptional": false,
                      "description": "Canonical Latitude web URL.",
                      "defaultValue": "https://${{web.RAILWAY_PUBLIC_DOMAIN}}"
                    },
                    "LAT_SMTP_FROM": {
                      "isOptional": true,
                      "description": "Shared from the web service: Sender address for Latitude email.",
                      "defaultValue": "${{web.LAT_SMTP_FROM}}"
                    },
                    "LAT_SMTP_HOST": {
                      "isOptional": true,
                      "description": "Shared from the web service: SMTP server hostname required for production magic-link email.",
                      "defaultValue": "${{web.LAT_SMTP_HOST}}"
                    },
                    "LAT_SMTP_PASS": {
                      "isOptional": true,
                      "description": "Shared from the web service: SMTP password required when using SMTP.",
                      "defaultValue": "${{web.LAT_SMTP_PASS}}"
                    },
                    "LAT_SMTP_PORT": {
                      "isOptional": true,
                      "description": "Shared from the web service: SMTP server port, commonly 587.",
                      "defaultValue": "${{web.LAT_SMTP_PORT}}"
                    },
                    "LAT_SMTP_USER": {
                      "isOptional": true,
                      "description": "Shared from the web service: SMTP username required when using SMTP.",
                      "defaultValue": "${{web.LAT_SMTP_USER}}"
                    },
                    "LAT_INGEST_URL": {
                      "isOptional": false,
                      "description": "Canonical public OTLP ingest URL.",
                      "defaultValue": "https://${{ingest.RAILWAY_PUBLIC_DOMAIN}}"
                    },
                    "LAT_REDIS_HOST": {
                      "isOptional": false,
                      "description": "Private Redis cache hostname.",
                      "defaultValue": "${{redis.RAILWAY_PRIVATE_DOMAIN}}"
                    },
                    "LAT_REDIS_PORT": {
                      "isOptional": false,
                      "description": "Private Redis cache port.",
                      "defaultValue": "6379"
                    },
                    "LAT_BULLMQ_HOST": {
                      "isOptional": false,
                      "description": "Private Redis BullMQ hostname.",
                      "defaultValue": "${{redis.RAILWAY_PRIVATE_DOMAIN}}"
                    },
                    "LAT_BULLMQ_PORT": {
                      "isOptional": false,
                      "description": "Private Redis BullMQ port.",
                      "defaultValue": "6379"
                    },
                    "LAT_PG_POOL_MAX": {
                      "isOptional": false,
                      "description": "Maximum PostgreSQL connections per Latitude process.",
                      "defaultValue": "5"
                    },
                    "LAT_DATABASE_URL": {
                      "isOptional": false,
                      "description": "RLS-bound PostgreSQL runtime connection.",
                      "defaultValue": "postgres://latitude_app:${{postgres.POSTGRES_RUNTIME_PASSWORD}}@${{postgres.RAILWAY_PRIVATE_DOMAIN}}:5432/latitude"
                    },
                    "LAT_MAILGUN_FROM": {
                      "isOptional": true,
                      "description": "Shared from the web service: Optional Mailgun sender address.",
                      "defaultValue": "${{web.LAT_MAILGUN_FROM}}"
                    },
                    "LAT_CLICKHOUSE_DB": {
                      "isOptional": false,
                      "description": "ClickHouse database reference.",
                      "defaultValue": "${{clickhouse.CLICKHOUSE_DB}}"
                    },
                    "LAT_CLICKHOUSE_URL": {
                      "isOptional": false,
                      "description": "Private ClickHouse HTTP endpoint.",
                      "defaultValue": "http://${{clickhouse.RAILWAY_PRIVATE_DOMAIN}}:8123"
                    },
                    "LAT_GOOGLE_API_KEY": {
                      "isOptional": true,
                      "description": "Shared from the web service: Optional Google AI key for configured features.",
                      "defaultValue": "${{web.LAT_GOOGLE_API_KEY}}"
                    },
                    "LAT_MAILGUN_DOMAIN": {
                      "isOptional": true,
                      "description": "Shared from the web service: Optional Mailgun sending domain.",
                      "defaultValue": "${{web.LAT_MAILGUN_DOMAIN}}"
                    },
                    "LAT_MAILGUN_REGION": {
                      "isOptional": true,
                      "description": "Shared from the web service: Optional Mailgun region such as us or eu.",
                      "defaultValue": "${{web.LAT_MAILGUN_REGION}}"
                    },
                    "LAT_OPENAI_API_KEY": {
                      "isOptional": true,
                      "description": "Shared from the web service: Optional OpenAI key for configured AI features.",
                      "defaultValue": "${{web.LAT_OPENAI_API_KEY}}"
                    },
                    "LAT_STORAGE_DRIVER": {
                      "isOptional": false,
                      "description": "Use shared S3-compatible object storage.",
                      "defaultValue": "s3"
                    },
                    "LAT_VOYAGE_API_KEY": {
                      "isOptional": true,
                      "description": "Shared from the web service: Optional Voyage key for embeddings and reranking.",
                      "defaultValue": "${{web.LAT_VOYAGE_API_KEY}}"
                    },
                    "LAT_CLICKHOUSE_USER": {
                      "isOptional": false,
                      "description": "ClickHouse user reference.",
                      "defaultValue": "${{clickhouse.CLICKHOUSE_USER}}"
                    },
                    "LAT_MAILGUN_API_KEY": {
                      "isOptional": true,
                      "description": "Shared from the web service: Optional Mailgun API key.",
                      "defaultValue": "${{web.LAT_MAILGUN_API_KEY}}"
                    },
                    "LAT_TRUSTED_ORIGINS": {
                      "isOptional": false,
                      "description": "Trusted web origin for sign-in.",
                      "defaultValue": "https://${{web.RAILWAY_PUBLIC_DOMAIN}}"
                    },
                    "LAT_TEMPORAL_ADDRESS": {
                      "isOptional": false,
                      "description": "Private Temporal frontend address.",
                      "defaultValue": "${{temporal.RAILWAY_PRIVATE_DOMAIN}}:7233"
                    },
                    "LAT_ANTHROPIC_API_KEY": {
                      "isOptional": true,
                      "description": "Shared from the web service: Optional Anthropic key for configured generation features.",
                      "defaultValue": "${{web.LAT_ANTHROPIC_API_KEY}}"
                    },
                    "LAT_STORAGE_S3_BUCKET": {
                      "isOptional": false,
                      "description": "Railway bucket name.",
                      "defaultValue": "${{latitude-storage.BUCKET}}"
                    },
                    "LAT_STORAGE_S3_REGION": {
                      "isOptional": false,
                      "description": "Railway bucket signing region.",
                      "defaultValue": "${{latitude-storage.REGION}}"
                    },
                    "LAT_ADMIN_DATABASE_URL": {
                      "isOptional": false,
                      "description": "PostgreSQL administrator connection used by migrations.",
                      "defaultValue": "postgres://latitude:${{postgres.POSTGRES_PASSWORD}}@${{postgres.RAILWAY_PRIVATE_DOMAIN}}:5432/latitude"
                    },
                    "LAT_BETTER_AUTH_SECRET": {
                      "isOptional": false,
                      "description": "Shared Better Auth signing secret.",
                      "defaultValue": "${{migrations.LAT_BETTER_AUTH_SECRET}}"
                    },
                    "LAT_PG_IDLE_TIMEOUT_MS": {
                      "isOptional": false,
                      "description": "Idle PostgreSQL connection timeout in milliseconds.",
                      "defaultValue": "30000"
                    },
                    "LAT_TEMPORAL_NAMESPACE": {
                      "isOptional": false,
                      "description": "Temporal namespace created by auto-setup.",
                      "defaultValue": "default"
                    },
                    "LAT_CLICKHOUSE_PASSWORD": {
                      "isOptional": false,
                      "description": "ClickHouse password reference.",
                      "defaultValue": "${{clickhouse.CLICKHOUSE_PASSWORD}}"
                    },
                    "LAT_STORAGE_S3_ENDPOINT": {
                      "isOptional": false,
                      "description": "Railway bucket S3 endpoint.",
                      "defaultValue": "${{latitude-storage.ENDPOINT}}"
                    },
                    "LAT_TEMPORAL_TASK_QUEUE": {
                      "isOptional": false,
                      "description": "Temporal task queue shared with workflow workers.",
                      "defaultValue": "latitude-workflows"
                    },
                    "LAT_WORKERS_HEALTH_PORT": {
                      "isOptional": false,
                      "description": "Workers health listener port.",
                      "defaultValue": "9090"
                    },
                    "LAT_CORS_ALLOWED_ORIGINS": {
                      "isOptional": false,
                      "description": "Browser origin allowed to call the API.",
                      "defaultValue": "https://${{web.RAILWAY_PUBLIC_DOMAIN}}"
                    },
                    "LAT_MASTER_ENCRYPTION_KEY": {
                      "isOptional": false,
                      "description": "Shared key for encrypted provider and integration credentials.",
                      "defaultValue": "${{migrations.LAT_MASTER_ENCRYPTION_KEY}}"
                    },
                    "LAT_OSS_TELEMETRY_ENABLED": {
                      "isOptional": false,
                      "description": "Disable optional anonymous deployment telemetry by default.",
                      "defaultValue": "false"
                    },
                    "LAT_PG_CONNECT_TIMEOUT_MS": {
                      "isOptional": false,
                      "description": "PostgreSQL connection timeout in milliseconds.",
                      "defaultValue": "10000"
                    },
                    "LAT_CLICKHOUSE_MIGRATION_URL": {
                      "isOptional": false,
                      "description": "Private ClickHouse native endpoint used by migrations.",
                      "defaultValue": "clickhouse://${{clickhouse.RAILWAY_PRIVATE_DOMAIN}}:9000"
                    },
                    "LAT_STORAGE_S3_ACCESS_KEY_ID": {
                      "isOptional": false,
                      "description": "Railway bucket access-key reference.",
                      "defaultValue": "${{latitude-storage.ACCESS_KEY_ID}}"
                    },
                    "LAT_CLICKHOUSE_CLUSTER_ENABLED": {
                      "isOptional": false,
                      "description": "Use the single-node ClickHouse migration set.",
                      "defaultValue": "false"
                    },
                    "LAT_REDACTION_PSEUDONYM_SECRET": {
                      "isOptional": false,
                      "description": "Stable HMAC secret for optional identity pseudonymization.",
                      "defaultValue": "${{migrations.LAT_REDACTION_PSEUDONYM_SECRET}}"
                    },
                    "LAT_STORAGE_S3_FORCE_PATH_STYLE": {
                      "isOptional": false,
                      "description": "Use path-style requests required by the Railway S3 endpoint.",
                      "defaultValue": "true"
                    },
                    "LAT_STORAGE_S3_SECRET_ACCESS_KEY": {
                      "isOptional": false,
                      "description": "Railway bucket secret-key reference.",
                      "defaultValue": "${{latitude-storage.SECRET_ACCESS_KEY}}"
                    },
                    "RAILWAY_TEMPLATE_MIGRATIONS_DEPENDENCY": {
                      "isOptional": false,
                      "description": "Deployment dependency on completed database migrations.",
                      "defaultValue": "${{migrations.RAILWAY_PRIVATE_DOMAIN}}"
                    },
                    "LAT_TEMPORAL_MAX_CONCURRENT_ACTIVITY_TASKS": {
                      "isOptional": false,
                      "description": "Bound workflow activity concurrency for Railway resources.",
                      "defaultValue": "2"
                    }
                  }
                },
                "d9f42653-5a34-4ccf-9c52-69a57c33ec48": {
                  "icon": "https://raw.githubusercontent.com/temporalio/ui/f30ce6f0211bd3985d0b37b7d1c3fdf27f5c9e92/src/lib/vendor/logo.svg",
                  "name": "temporal",
                  "deploy": {
                    "startCommand": null,
                    "healthcheckPath": null,
                    "restartPolicyType": "ON_FAILURE",
                    "healthcheckTimeout": null,
                    "restartPolicyMaxRetries": 10
                  },
                  "source": {
                    "image": "temporalio/auto-setup:1.27.2@sha256:b44cbfeb43dbeae42db113b44fb8414c3452f05643b3d6b1592f955277d73526"
                  },
                  "variables": {
                    "DB": {
                      "isOptional": false,
                      "description": "Use PostgreSQL persistence.",
                      "defaultValue": "postgres12"
                    },
                    "DBNAME": {
                      "isOptional": false,
                      "description": "Temporal primary database.",
                      "defaultValue": "temporal"
                    },
                    "DB_PORT": {
                      "isOptional": false,
                      "description": "Private PostgreSQL port.",
                      "defaultValue": "5432"
                    },
                    "POSTGRES_PWD": {
                      "isOptional": false,
                      "description": "PostgreSQL password reference.",
                      "defaultValue": "${{postgres.POSTGRES_PASSWORD}}"
                    },
                    "POSTGRES_USER": {
                      "isOptional": false,
                      "description": "PostgreSQL administrator user reference.",
                      "defaultValue": "${{postgres.POSTGRES_USER}}"
                    },
                    "POSTGRES_SEEDS": {
                      "isOptional": false,
                      "description": "Private PostgreSQL hostname.",
                      "defaultValue": "${{postgres.RAILWAY_PRIVATE_DOMAIN}}"
                    },
                    "VISIBILITY_DBNAME": {
                      "isOptional": false,
                      "description": "Temporal visibility database.",
                      "defaultValue": "temporal_visibility"
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  },
  "post_deploy": {
    "healthcheck": {
      "service": "api",
      "method": "GET",
      "path": "/health",
      "expect_status": 200
    }
  },
  "resources": {
    "expected_services": 10,
    "needs_volume": true
  },
  "generated_at": "2026-09-10T16:14:52.212Z",
  "generator_version": "0.1.0",
  "status": "degraded",
  "validated_at": "2026-09-10T01:26:03.988Z",
  "success_rate_30d": 0,
  "validation": {
    "last_run_id": "run_458f3de9391c4a56a9d6",
    "checks": [
      {
        "name": "workflow_completed",
        "passed": false,
        "detail": "Your workspace has been restricted. Please contact support to resolve this."
      }
    ]
  }
}
