A swiss army knife CLI tool for interacting with Kafka, RabbitMQ and other messaging systems.
MIT License
Bot releases are hidden (Show)
Published by blinktag over 3 years ago
Now you can manage common Batch.sh account tasks directly from Plumber!
Command | Description |
---|---|
plumber batch login |
Login and save credentials to ~/.batchsh/config.json |
plumber batch logout |
Logout and clear saved credentials |
plumber batch list collection |
List collections |
plumber batch create collection --name "My events" --schema-id "0e31f330-aca0-468c-a186-a26e889a19e9" |
Create collection |
plumber batch search --collection-id="..." --query="*" |
Search a collection |
plumber batch list schema |
List schemas |
plumber batch list replay |
List replays |
plumber batch list destination |
List destinations |
plumber batch create destination kafka |
Create kafka destination |
plumber batch create destination aws-sqs |
Create SQS destination |
plumber batch create destination rabbit |
Create RabbitMQ destination |
plumber batch create destination http |
Create HTTP destination |
plumber batch create replay |
Create and start a new replay |
Published by dselans over 3 years ago
This release adds support for relaying Redis pubsub channels to Batch.
To run plumber relay with redis in Docker:
docker run -d --name plumber-redis -p 8080:8080 \
-e PLUMBER_RELAY_REDIS_ADDRESS=localhost:6379 \
-e PLUMBER_RELAY_REDIS_CHANNELS=channel1,channel2 \
-e PLUMBER_RELAY_TYPE=redis \
-e PLUMBER_RELAY_TOKEN=$YOUR-BATCHSH-TOKEN-HERE \
batchcorp/plumber
Dockerhub: docker pull batchcorp/plumber:a934947
Published by blinktag over 3 years ago
Breaking changes:
--output-type
for reading; remove --input-type
for writing. Both are unnecessary and the intent can be gathered from other flags.Features:
PUBSUB_EMULATOR_HOST
can now be specified to connect to a pubsub emulator instead of GCPBug fixes:
--queue-declare
now actually declares the queue for rabbitPublished by dselans over 3 years ago
This is a fairly large (and awesome) release.
In this release:
--stats
flag (and PLUMBER_STATS
env var) which will cause plumber to periodically dump consume/produce speed stats.plumber
now has a lot of options - some messaging platforms (such as kafka) have 20+ flags/options - it is nice to be able to see what options are actually being used at runtime.Enjoy!
Published by blinktag over 3 years ago
Published by blinktag over 3 years ago
Published by dselans over 3 years ago
Published by blinktag over 3 years ago
Published by blinktag over 3 years ago
Published by blinktag almost 4 years ago
Published by blinktag almost 4 years ago
Published by blinktag almost 4 years ago
Published by blinktag almost 4 years ago
Published by blinktag almost 4 years ago
Published by blinktag almost 4 years ago
--app-id
flag for RabbitMQ write mode--consumer-tag
flag for RabbitMQ read modePublished by blinktag about 4 years ago
--avro-schema ./yourschema.avsc
Published by blinktag about 4 years ago
Published by blinktag about 4 years ago
batchcorp/rabbit
to plumber--remote-account-id
flag for SQSPublished by dselans about 4 years ago
Big release - relay support in plumber!
It is now possible to run plumber
in "relay" mode. In this mode, plumber
will attach to a target messaging system and relay all of the messages/events it sees to Batch via gRPC.
You can run plumber
in either foreground mode:
$ plumber relay aws-sqs --queue-name PlumberTestQueue --token 48b30466-e3cb-4a58-9905-123456781234 --auto-delete
Or you can run it via Docker:
docker run --name plumber -p 8080:8080 \
-e PLUMBER_RELAY_TYPE=aws-sqs \
-e PLUMBER_RELAY_TOKEN=48b30466-e3cb-4a58-9905-123456781234 \
-e PLUMBER_RELAY_SQS_QUEUE_NAME=PlumberTestQueue \
-e PLUMBER_RELAY_SQS_AUTO_DELETE=true \
-d batchcorp/plumber:latest
Published by dselans about 4 years ago
Support for both reading and writing to/from AWS SQS:
# Writing plaintext
$ plumber write message aws-sqs --queue-name PlumberTestQueue --input-data "hello world"
# Writing protobuf
$ plumber write message aws-sqs --queue-name PlumberTestQueue --input-file ./test-assets/messages/sample-outbound.json --input-type jsonpb --output-type protobuf --protobuf-dir ./test-assets/protos/ --protobuf-root-message Outbound
# Reading plaintext
$ plumber read message aws-sqs --queue-name PlumberTestQueue --auto-delete
INFO[0000] Listening for message(s) ... pkg=awssqs/read.go
hello world
# Reading protobuf
$ plumber read message aws-sqs --queue-name PlumberTestQueue --protobuf-dir ./test-assets/protos --protobuf-root-message Outbound --output-type protobuf
INFO[0000] Listening for message(s) ... pkg=awssqs/read.go
{
"replayId": "30ddb850-1aca-4ee5-870c-1bb7b339ee5d",
"blob": "eyJoZWxsbyI6ImRhbiJ9Cg=="
}
For full info: plumber read message aws-sqs --help
and plumber write message aws-sqs --help