Replace the ad-hoc tables/procedures install layout with versioned, ordered SQL migrations tracked in broker_schema_migrations. Add optional least-privilege role provisioning (--with-roles), multi-tenant row-level security, lease-based job claiming with stale-lease recovery, and job dependencies -- both by job id and by fan-in job group. Add Docker/Compose support for running the broker and its test suite.
27 lines
719 B
YAML
27 lines
719 B
YAML
services:
|
|
postgres:
|
|
image: docker.io/library/postgres:16-alpine
|
|
# Tests hardcode host=localhost port=5433, so postgres listens on 5433
|
|
# internally and the tests container joins its network namespace below.
|
|
command: ["postgres", "-p", "5433"]
|
|
environment:
|
|
POSTGRES_DB: broker_test
|
|
POSTGRES_USER: user
|
|
POSTGRES_PASSWORD: password
|
|
ports:
|
|
- "5434:5433"
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "pg_isready -U user -d broker_test -p 5433"]
|
|
interval: 2s
|
|
timeout: 3s
|
|
retries: 30
|
|
|
|
tests:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile.test
|
|
network_mode: "service:postgres"
|
|
depends_on:
|
|
postgres:
|
|
condition: service_healthy
|