feat(broker): migrations-based install, roles, RLS, and job dependency groups

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.
This commit is contained in:
2026-09-17 22:09:41 +02:00
parent 602997bcdb
commit 4c8e1066d4
53 changed files with 2911 additions and 1016 deletions
+11
View File
@@ -0,0 +1,11 @@
# Copy to .env (gitignored) and fill in real values.
# POSTGRES_PASSWORD is the postgres superuser password (used only by the
# one-shot `migrate` service to run `install --with-roles`).
# The three BROKER_*_PASSWORD values must match the passwords you put in
# broker.docker.yaml (copied from broker.docker.example.yaml) for the
# corresponding role -- BROKER_RUNTIME_PASSWORD in particular must match
# the `password:` field the broker service itself connects with.
POSTGRES_PASSWORD=change_me
BROKER_ADMIN_PASSWORD=change_me
BROKER_RUNTIME_PASSWORD=change_me
BROKER_ENQUEUE_PASSWORD=change_me