Rijn is a cli tool that allows you to move a message from one message broker's subscription to another message broker's topic.
Currently its only support pubsub. It could be quite handy when you want to move from especially from dead letter subscription into actual topic.
Rijn comes from the name of the Rhine. The purpose of this tool to move a message from one place to another, like the actually Rhine that carries water from The Nederlands to Switzerland.
- Install go (golang 1.17 or later)
go get github.com/olimpias/rijn
- you can now run rijn (from your gopath bin/ directory)
Allows you to auth login into gcd. It will pop up web browser and once you log in, it will save your credentials into application default path
Use the following command to run it.
rijn login-gcd
Allows you to moves a pubsub message from one subscription to another subscription in the same projectID. Before using this command, its mandatory to log in either using rijn login-gcd
or default terminal gcloud
command. The credential must be in application default path
Flag | Description, example |
---|---|
-c subscriptionProjectId |
Project ID value for your subscription |
-p topicProjectId |
Project ID value for your topic |
-s subscription |
Source of the messages that you want to move from |
-t topic |
Destination of the messages that you want to move to |
Below examples consume messages from projects/testing1/subscriptions/source-subscription
and pushes them to projects/testing2/topics/destination-topic
rijn pubsub --subscriptionProjectId testing1 --topicProjectId testing2 -s source-subscription -t destination-topic
- Support different projectIds for subscription and topic
- Add more configuration option for pubsub
- Add
brew
support - Add support for AWS SQS
- Support moving from one specific cloud broker into another cloud broker