1.7 KiB
1.7 KiB
Runbook - Event Bus (Track 8, Local)
Goal
Run the first RabbitMQ-backed event bus flow locally and verify:
- outbox writes happen in business services
event-bus-servicepublishes eventsaudit-serviceconsumes themreporting-serviceconsumes them
Local compose path
Use Docker Compose because it includes RabbitMQ:
cd deployment
docker compose up -d
cd ..
python scripts\migrate_core_db.py
RabbitMQ management UI:
http://localhost:15672- default local credentials:
guest / guest
Required env
The compose profile already sets:
EVENT_BUS_ENABLED=1EVENT_BUS_URL=amqp://guest:guest@rabbitmq:5672/EVENT_BUS_CONSUMER_ENABLED=1
For non-compose local runs, export them manually before starting services.
Smoke check
python scripts\event_bus_smoke.py --base-url http://localhost:8080
Expected:
- gateway and
event-bus-serviceare healthy - an interaction is created
- its outbox event becomes
published audit-serviceprocesses the eventreporting-serviceprocesses the event
Inspect outbox
curl http://localhost:8080/proxy/event-bus/bus/outbox -H "X-User: admin" -H "X-Role: admin"
Useful statuses:
pendingpublishedfailed
Retry a failed event
curl -X POST http://localhost:8080/proxy/event-bus/bus/outbox/<event_id>/retry -H "X-User: admin" -H "X-Role: admin"
Acceptance check
python scripts\track8_check.py --base-url http://localhost:8080
Compatibility mode
If you want to disable the bus and keep the platform on pure HTTP-only behavior:
- set
EVENT_BUS_ENABLED=0 - restart services
The business REST APIs keep working in that mode.