# Welcome! ![Hackage: Pub](https://img.shields.io/hackage/v/pub.svg?style=flat) ![Build Status: Pub](https://travis-ci.org/ixmatus/pub.svg?branch=master) 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`