84588bd236
## What The **dedicated run-ops database** foundation for the split: a standalone Prisma package plus the infra to run and migrate it. - **`internal-packages/run-ops-database`** — a new Prisma package (`@internal/run-ops-database`) whose schema mirrors the run-execution tables that will live on the dedicated DB, with its own generated client, migrations, and migration runner. - **`prisma/schema.parity.test.ts`** — a parity test that guards the run-ops schema against drift from the control-plane schema for the mirrored tables. - **Docker** — a Postgres 17 service (`docker/Dockerfile.postgres17`, `docker/docker-compose.yml`) so the dedicated DB is available locally under the run-ops compose profile. - **Testcontainers** — hetero fixtures (PG14 legacy + PG17 dedicated) so later PRs can exercise cross-database behaviour with real containers rather than mocks. ## Why This is the **second PR in the run-ops split stack**, stacked on the core primitives. It stands up the dedicated database and its tooling. There is **no runtime wiring** into the webapp here — the app does not read or write this DB yet; that arrives in later PRs. On its own this PR only adds a package, a docker service, and test fixtures. ## Tests Schema-parity test for the run-ops schema; hetero testcontainer fixture smoke test. ## Notes - Draft, **stacked on #4112** (`runops/pr01-core-residency`). Review that one first; this diff is against it. - Server-change / changeset note to be added at stack-assembly time. 🤖 Generated with [Claude Code](https://claude.com/claude-code) --------- Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
34 lines
833 B
JSON
34 lines
833 B
JSON
{
|
|
"name": "@internal/testcontainers",
|
|
"private": true,
|
|
"version": "0.0.1",
|
|
"main": "./src/index.ts",
|
|
"types": "./src/index.ts",
|
|
"exports": {
|
|
".": "./src/index.ts",
|
|
"./webapp": "./src/webapp.ts",
|
|
"./sequencer": {
|
|
"types": "./src/sequencer.d.cts",
|
|
"default": "./src/sequencer.cjs"
|
|
}
|
|
},
|
|
"dependencies": {
|
|
"@clickhouse/client": "^1.11.1",
|
|
"@opentelemetry/api": "^1.9.1",
|
|
"@trigger.dev/database": "workspace:*",
|
|
"ioredis": "~5.6.0"
|
|
},
|
|
"devDependencies": {
|
|
"@internal/run-ops-database": "workspace:*",
|
|
"@testcontainers/postgresql": "^11.14.0",
|
|
"@testcontainers/redis": "^11.14.0",
|
|
"@trigger.dev/core": "workspace:*",
|
|
"std-env": "^3.9.0",
|
|
"testcontainers": "^11.14.0",
|
|
"tinyexec": "^0.3.0"
|
|
},
|
|
"scripts": {
|
|
"typecheck": "tsc --noEmit"
|
|
}
|
|
}
|