-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Labels
good first issueGood for newcomersGood for newcomers
Description
Priority: High
Dependencies: None
Description:
Implement the MessageBusRepository trait using RabbitMQ via AMQP protocol to publish action events.
Acceptance Criteria:
- Create
RabbitMqMessageBusininfrastructure/messagebus/module - Implement
publish()to sendActionEventto RabbitMQ - Use routing key from
ActionEvent(format:{resource}.{kind}) - Handle connection failures and implement retry logic
- Map AMQP errors to
HeraldError::MessageBus - Add configuration for RabbitMQ connection (host, port, credentials, exchange)
- Integration tests with testcontainers
Technical Notes:
- Use
lapinoramqprscrate for RabbitMQ - Serialize
ActionEventto JSON for message body - Use topic exchange for routing flexibility
- Ensure idempotent publications (include
action_idin message)
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
good first issueGood for newcomersGood for newcomers