@hackage pub3.0.0

Pipe stdin to a redis pub/sub channel

Welcome!

Hackage: Pub Build Status: Pub

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:

$ 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:

$ 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