Runtime Topology
Runtime Topology
Local Development
Local development is compose-based. The base compose file defines the application services and the development override adds the local Postgres service named rump, local database URLs, grpcui helpers, and development-stage environment overrides.
Sirloin listens on its gRPC port and calls brain, round, and flank by compose service name. Brain uses the fennec schema in the shared local Postgres instance and talks to round over gRPC. Redis backs Brain queue work.
Railway Preview And Main Environments
Railway services mirror checked-in apps/*/railway.json files. Each service keeps its Railway root directory and custom config path aligned with the monorepo app directory. Main and preview environments use the same service names with environment-specific variables.
Healthchecks are configured per service in the Railway manifests:
| Service | Healthcheck |
|---|---|
| brain | /health |
| brisket | /api/health |
| fennec | / |
| flank | /sign-in |
| round | /health |
| sirloin | /health |
| strip | /health |
Database Mapping
Local development uses the compose rump Postgres service. Sirloin uses SIRLOIN_DATABASE_URL for the rump database. Brain uses DATABASE_URL and DIRECT_DATABASE_URL for the fennec database with schema=fennec.
Preview environments are named beef-pr-<PR_NUMBER>. The Neon branching workflow creates a Neon branch per PR and rewires beef-sirloin SIRLOIN_DATABASE_URL and beef-brain DATABASE_URL / DIRECT_DATABASE_URL away from cloned Railway internal Postgres values.
Health Checks
Round and sirloin expose /health on the same socket as their gRPC listeners so Railway’s required PORT aligns with the primary service port. Brain, strip, brisket, fennec, and flank use HTTP routes declared in their service manifests.
Generated Service Config
Railway config is source-controlled in apps/*/railway.json. Treat those files as mirrors of the live main-environment manifest. If live build or deploy settings change, update the checked-in files before cloning service setup to another environment.