https://github.com/ixmatus/pub
A CLI tool for piping from stdin to a redis pub/sub channel.
https://github.com/ixmatus/pub
command-line haskell piping pub redis redis-channel
Last synced: 3 months ago
JSON representation
A CLI tool for piping from stdin to a redis pub/sub channel.
- Host: GitHub
- URL: https://github.com/ixmatus/pub
- Owner: ixmatus
- License: bsd-3-clause
- Created: 2014-08-05T17:38:20.000Z (over 11 years ago)
- Default Branch: master
- Last Pushed: 2017-05-29T03:32:41.000Z (over 8 years ago)
- Last Synced: 2025-01-31T13:05:53.728Z (12 months ago)
- Topics: command-line, haskell, piping, pub, redis, redis-channel
- Language: Haskell
- Size: 22.5 KB
- Stars: 13
- Watchers: 5
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Welcome!


The `pub` utility publishes input from stdin to a redis channel and the `sub`
utility consumes from a redis channel, writing to stdout.
## Quickstart
Publishing to Redis from `stdin` is easy with the `pub` utility:
```shell
$ pub --help
Pipe stdin to a redis pub/sub channel
Usage: pub --channel TEXT [--host STRING] [--port INTEGER] [--db INTEGER]
[--version]
Available options:
-h,--help Show this help text
--channel TEXT Redis channel to publish to
--host STRING Redis host (default: localhost)
--port INTEGER Redis post (default: 6379)
--db INTEGER Redis db (default: 0)
$ journalctl -f nginx.service | pub --channel "nginx-loglines"
```
and subscribing to Redis channels and piping to `stdout` is also easy with the
`sub` utility:
```shell
$ sub --help
Subscribe to redis channels and pipe to stdout
Usage: sub [--channel TEXT]... [--host STRING] [--port INTEGER] [--db INTEGER]
[--version]
Available options:
-h,--help Show this help text
--channel TEXT... Redis channel(s) to subscribe to
--host STRING Redis host (default: localhost)
--port INTEGER Redis post (default: 6379)
--db INTEGER Redis db (default: 0)
$ sub --channel "nginx-loglines" --channel "haproxy-loglines" # This subscribes to both redis channels
```
## Building
You can build multiple ways:
- `stack build`
- `cabal build`
- `nix-build --not-out-link -A pub release.nix`
- `nix-shell -A pub.env release.nix`