• Stars
    star
    3
  • Rank 3,963,521 (Top 79 %)
  • Language
    Crystal
  • License
    MIT License
  • Created almost 8 years ago
  • Updated almost 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Command-line ZPL processor

zq is a lightweight processor for the ZeroMQ Property Language (4/ZPL)

Overview

ZPL is a simple configuration language. zq is a simple tool for processing streams of ZPL data.

Why does this exist?

Because we need simple configuration formats, and tools to work with them. ZPL is an excellent format, but lacks the convenience of a standalone tool for processing on the commandline.

Installation

Grab the latest version for your platform from the releases page and put it somewhere in your $PATH.

Usage

Given a ZPL file like this one (taken from the 4/ZPL RFC):

#
context
    iothreads = 1
    verbose = 1      #   Ask for a trace

main
    type = zmq_queue
    frontend
        option
            hwm = 1000
            swap = 25000000
            subscribe = "#2"
        bind = tcp://eth0:5555
    backend
        bind = tcp://eth0:5556
  

Using zq like this:

cat example.zpl | zq main frontend

Will output this:

option
  	  hwm = 1000
  	  swap = 25000000
  	  subscribe = #2
bind = tcp://eth0:5555

Using zq like this:

cat example.zpl | zq main backend bind

Will output this:

tcp://eth0:5556

Building from Source

zq is written in Crystal, with no external dependencies. Building it should be as simple as:

git clone https://github.com/colstrom/zq
cd zq
crystal build zq.cr

License

zq is available under the MIT License. See LICENSE.txt for the full text.

Contributors

More Repositories

1

niftygate

Drop-in Access Control via NFT Ownership
Rust
71
star
2

ketoplanner

Planning Utility for Ketogenic Diets
JavaScript
13
star
3

concourse-github-status

Create and update GitHub statuses from Concourse.
Ruby
12
star
4

concourse-fuselage

Concourse Resource Framework
Ruby
6
star
5

kanban

Agile Workflow for Ruby Programs
Ruby
6
star
6

ezmq

Effortless ZeroMQ
Ruby
4
star
7

docker-alpine

4
star
8

ansible-upstart

Ansible (meta-) Role for generating upstart scripts
4
star
9

unpkg

Disregarding existing standards, one package at a time
Shell
4
star
10

dns-reactor

Monitors hostname(s) for IP changes and optionally execute a command when it happens.
Go
4
star
11

git-notary

git-notary generates canonical version tags from versioning notes.
Shell
4
star
12

forge

Convention-Driven Instance Autonomy for EC2
Python
4
star
13

concourse-technician

A tool to diangose and repair issues with Concourse.
Ruby
4
star
14

concourse-resource-rubygems

RubyGems Integration for Concourse Pipelines
Ruby
4
star
15

docker-mruby

Build Pipeline for mruby on Docker
Shell
3
star
16

path53

Uncomplicated Changes for Route53
Ruby
3
star
17

dbviz

A tool for visualizing database relations
Ruby
3
star
18

deputy53

Delegating control of partial zones with Route53
Ruby
3
star
19

cloudstrap

Strapping Boots to Clouds
Ruby
3
star
20

docker-syslog

Shell
3
star
21

piranha

fish functions for Amazon workflows
Shell
3
star
22

redislike

For when we want Redis, but can't have nice things.
Ruby
3
star
23

ansible-riofs

Ansible Role for RioFS
3
star
24

dotfiles-fish

Shell
3
star
25

wildcard-dnsd

Wildcard DNS Daemon
Ruby
3
star
26

ansible-aws-infrastructure

Ansible Role for convention-driven AWS Infrastructure
3
star
27

docker-ubuntu

Only the most boring Dockerfile ever.
2
star
28

octokitty

OctoKiTTY - Like busybox for the GitHub API
Ruby
2
star
29

rakuna

Compose Interesting Systems from Simple Concepts
Ruby
2
star
30

sdc

Shell
2
star
31

cloudstrap-azure

Cloudstrap for Azure
Ruby
2
star
32

ansible-consul

Ansible Role for Consul
2
star
33

docker-fish

2
star
34

osx-init

Brewing OSX back to normal.
Shell
2
star
35

docker-jq

2
star
36

bumper

bumper is a tool for enforcing Semantic Versioning.
Shell
2
star
37

ansible-ansible

Ansible Role for Ansible
1
star
38

ansible-ssl-certificate

1
star
39

ansible-s3ql

Ansible Role for S3QL
1
star
40

triton-ops

A Ruby Interface for Triton Operators
Ruby
1
star
41

ansible-nodejs

Ansible Role for node.js
Ruby
1
star
42

ansible-monit

Ansible Role for monit
1
star
43

docker-chicken

1
star
44

ansible_galaxy

Ruby Wrapper for Ansible Galaxy HTTP API
Ruby
1
star
45

ansible-redis

Ansible Role for Redis
1
star
46

btrfs.rb

Wraps btrfs volumes in Ruby Objects.
Ruby
1
star
47

docker-consul

1
star
48

ansible-newrelic

Ansible Role for NewRelic
1
star
49

minecraft-pi

Control Minecraft Pi Edition from Ruby
Ruby
1
star
50

ansible-galaxy-sync

Commandline Tool to Sync Ansible Galaxy Roles
Ruby
1
star
51

package.sh

Simpler Package Management
Shell
1
star
52

ansible-tmate

Ansible Role for tmate
1
star
53

ansible-zeromq

Ansible Role for ZeroMQ
1
star
54

invocations

Because sometimes Proc#curry just isn't enough...
Ruby
1
star
55

gpm

Ghetto Package Management
Ruby
1
star
56

android-butler

Automation scripts for new devices.
Shell
1
star
57

ansible-ruby

Ansible Role for Ruby
1
star
58

laag-nasm

Library as a Gem - nasm
1
star
59

shoutcast-quota

Perl
1
star
60

ansible-nginx

Ansible Role for nginx
Nginx
1
star
61

ops-consul

Operations Repository for Consul
Shell
1
star
62

ansible-varnish

Ansible Role for Varnish
Perl
1
star
63

systemized

Exposes systemd components as Ruby Objects.
Ruby
1
star
64

instacli

Instant CommandLine Interfaces - just add Objects!
Ruby
1
star
65

docker-node

Evented I/O for V8 javascript
1
star
66

cloud-surveyor

Unstable Work In Progress
Ruby
1
star
67

tinypy

A very small Python
C
1
star
68

docker-go

Build Pipeline for go on Docker
Shell
1
star
69

docker-squid

A full-featured Web proxy cache server.
Shell
1
star
70

docker-nginx-naxsi

nginx webserver with naxsi web application firewall and TLS SNI support enabled.
1
star