Skip to content

Conversation

@psteinroe
Copy link
Owner

@psteinroe psteinroe commented Jan 7, 2026

Summary

  • Add RabbitmqSink that publishes events to RabbitMQ exchanges
  • Sends event.payload as JSON message body
  • Supports dynamic exchange and routing key via event metadata

Configuration

sink:
  type: rabbitmq
  url: amqp://guest:guest@localhost:5672
  exchange: events       # optional default exchange
  routing_key: events    # optional default routing key

Routing

Exchange and routing key are resolved from:

  1. exchange and routing_key fields in event metadata
  2. Fallback to config values
-- Dynamic routing key from table name
metadata_extensions = '[{"json_path": "routing_key", "expression": "tg_table_name"}]'

@psteinroe psteinroe force-pushed the feat/sink-rabbitmq branch 2 times, most recently from 48aee50 to 6a3b307 Compare January 8, 2026 11:57
Add a RabbitMQ sink that publishes events to AMQP exchanges.

Features:
- Configurable exchange and routing key
- Dynamic routing via metadata
- Publisher confirms for delivery guarantees
- Single-pass processing with borrowing for efficiency
@psteinroe psteinroe merged commit dbabfc7 into main Jan 13, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants