Destinations
RabbitMQ
Send events to a RabbitMQ exchange via AMQP.
Configuration
Config
| Field | Type | Required | Description |
|---|---|---|---|
config.server_url | string | Yes | RabbitMQ server URL (host |
config.exchange | string | Yes | Exchange name |
config.tls | string | No | Enable TLS (true or false, default: false) |
Credentials
| Field | Type | Required | Description |
|---|---|---|---|
credentials.username | string | Yes | RabbitMQ username |
credentials.password | string | Yes | RabbitMQ password |
Example
sh
Message Format
Events are published as AMQP messages with:
- Body: The event's
datafield (JSON) - Headers: Event metadata
- Routing Key: The event topic
Example Message
If you publish an event:
json
Body:
json
Headers:
Headers include system metadata and any event metadata from the published event:
| Header | Source | Description |
|---|---|---|
event-id | System | The unique event ID |
topic | System | The event topic |
timestamp | System | Event timestamp (Unix) |
* | Event | Any additional metadata from the published event's metadata field |
TLS Configuration
To enable TLS, set config.tls to true:
json
Exchange Setup
Before sending events, ensure the exchange exists in RabbitMQ. Outpost publishes messages with the event topic as the routing key, allowing you to bind queues based on topic patterns.
Example RabbitMQ setup:
bash