Skip to main content

Set up your rabbit instance using a declarative yaml file.

Project description

RoboRabbit

Set up your rabbit instance using a declarative yaml file.

Command

roborabbit --config path/to/roborabbit.yaml

Example yaml files

Simple declare queue, exchange, and bind

# Connection info
host: localhost
username: guest
password: guest
virtualhost: /
port: 5672
exchanges:
  - name: exchange_1
    type: topic
queues:
  - name: queue_1
bindings:
  - from:
      type: exchange
      name: exchange_1
    to:
      type: queue
      name: queue_1
    routing_key: records.created

Header exchange declaration and binding

# Connection info
host: localhost
username: guest
password: guest
virtualhost: /
port: 5672
exchanges:
  - name: exchange_2
    type: headers
queues:
  - name: queue_2
bindings:
  - from:
      type: exchange
      name: exchange_2
    to:
      type: queue
      name: queue_1
    bind_options:
      x-match: all
      hw-action: header-value

All Values Available

# Connection info
host: localhost
username: guest
password: guest
virtualhost: /
port: 5672

# Exchange declarations
exchanges:
  - name: string
    type: topic|headers|direct|fanout # topic is default
    durable: false # default
    auto_delete: true # default

# queue declarations
queues:
  - name: string
    type: quorum # Not required. This is the default and currently only option available (For us, all our queues are quorum. We manually create the queue that needs other requirements). MR welcome
    # create_dlq: true # TODO: This will be the default. Set to false if you do not want a dead letter queue/exchange for this queue
    durable: true # default
    robust: true # default
    auto_delete: false # default
    exclusive: false # default
    auto_delete_delay: 0 # default
    arguments: # rabbit specific key/value pairs
      key_1: value_1
      key_2: value_2

# bindings
bindings:
  - from:
      type: exchange
      name: string
    to:
      type: exchange|queue
      name: string
    routing_key: string # required, unless bind_options is defined
    bind_options: # required if binding to a header exchange
      x-match: all|any # header type of matcher
      header-key: string # header topic to be matched

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

roborabbit-0.1.6.tar.gz (7.7 kB view details)

Uploaded Source

Built Distribution

roborabbit-0.1.6-py3-none-any.whl (7.9 kB view details)

Uploaded Python 3

File details

Details for the file roborabbit-0.1.6.tar.gz.

File metadata

  • Download URL: roborabbit-0.1.6.tar.gz
  • Upload date:
  • Size: 7.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.7 CPython/3.9.6 Darwin/20.5.0

File hashes

Hashes for roborabbit-0.1.6.tar.gz
Algorithm Hash digest
SHA256 e11fc7a6abd647882e57ea4004d857f58a39e704f0e1aaaf7f1b13cf401b4c2f
MD5 9ec251f883bac94c7aa3c9315fe00cab
BLAKE2b-256 20ccd8658d475b4742e3d08804ef3856557d04b48a2f9a0d905640f18f5096bb

See more details on using hashes here.

File details

Details for the file roborabbit-0.1.6-py3-none-any.whl.

File metadata

  • Download URL: roborabbit-0.1.6-py3-none-any.whl
  • Upload date:
  • Size: 7.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.7 CPython/3.9.6 Darwin/20.5.0

File hashes

Hashes for roborabbit-0.1.6-py3-none-any.whl
Algorithm Hash digest
SHA256 902ea2adbec3ef5ffc2f4cb4ea1ce18c20c5334951a64d2f4c6b55eb6c648fd5
MD5 40a9a0d7a03e0d67d4f906c1b3745880
BLAKE2b-256 be151b5614f58e7eb160e2b735bf51c591de220085f070f4ca045a64bf0f0bb5

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page