Skip to content
This repository has been archived by the owner on Nov 26, 2020. It is now read-only.

philips-labs/crovel

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Crovel

Crovel is not Shovel but does almost the same, namely to forward messages from one RabbitMQ exchange to another. Only, it does this with a crovel instead of a shovel.

Usage

Set the following environment variables to wire things up

Environment Description Required Default
CROVEL_SRC_EXCHANGE Name of source exchange yes
CROVEL_SRC_ROUTING_KEY Source routing key no #
CROVEL_SRC_EXCHANGE_TYPE Source exchange type no topic
CROVEL_DEST_EXCHANGE Destination exchange yes
CROVEL_DEST_EXCHANGE_TYPE Destination exchange type no topic

Deploy

Deploy to Cloud Foundry and bind the RabbitMQ service to the app

Example manifest

---
applications:
- name: crovel
  docker:
    image: loafoe/crovel:latest
  instances: 1
  memory: 32M
  disk_quota: 128M
  health-check-type: process
  env:
    CROVEL_SRC_EXCHANGE: foo
    CROVEL_DEST_EXCHANGE: bar
  services:
  - rabbitmq

Example Terraform

resource "cloudfoundry_app" "crovel" {
  name         = "crovel"
  space        = data.cloudfoundry_space.space.id
  memory       = 32
  disk_quota   = 128
  docker_image = "loafoe/crovel:latest"
  health_check_type = "process"
  environment = {
    CROVEL_SRC_EXCHANGE  = "foo"
    CROVEL_DEST_EXCHANGE = "bar"
  }
  service_binding {
    service_instance = cloudfoundry_service_instance.rabbitmq.id
  }
}

Ideas

  • Support forwarding to different RabbitMQ cluster
  • Support mulitple exchange forwards per instance
  • Configurable durability

Contact / Getting help

andy.lo-a-foe@philips.com

License

License is MIT

About

Crovel forwards messages from one RabbitMQ exchange to another.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published