Backend service for Vortex, exposing a GraphQL schema (PostGraphile + Grafast) for workflow CRUD and a REST API for triggers, runs, and authorization. Built with Elysia and Drizzle on PostgreSQL.
cp .env.local.template .env.local # fill in values
bun src/scripts/generateTlsCert.ts # generate TLS certificates
bun install
bun db:setup # first-time only, creates the database
bun db:migrate # apply migrations
bun dev # start the dev serverOr run tilt up from the metarepo.
The server listens on PORT (default 4000). GraphiQL is served at /graphql in development.
| Command | Description |
|---|---|
bun dev |
Start the dev server with hot reload |
bun build |
Bundle the server for production |
bun start |
Run migrations then start the production build |
| Endpoint | Purpose |
|---|---|
GET /health |
Liveness. Returns status, service name, and build commit |
GET /ready |
Readiness. Reports database and cache connectivity |
curl -k https://localhost:4000/health
curl -k https://localhost:4000/ready| Command | Description |
|---|---|
bun check |
Lint and format check with Biome |
bun lint |
Lint with Biome |
bun format |
Format with Biome |
bun knip |
Detect unused files and dependencies |
bun test |
Run tests |
bun test:watch |
Run tests in watch mode |
bun test:coverage |
Run tests with coverage |
bun graphql:generate |
Regenerate schema.graphql from the database |
| Command | Description |
|---|---|
bun db:setup |
Create the database (first-time setup) |
bun db:generate |
Generate migration files from schema changes |
bun db:migrate |
Run pending migrations |
bun db:migrate:drop |
Drop a migration |
bun db:seed |
Seed the database |
bun db:studio |
Open Drizzle Studio |
For detailed documentation, visit omni.dev/products/vortex.
The code in this repository is licensed under Apache 2.0, © Omni LLC. See LICENSE.md for more information.