• Stars
    star
    3
  • Rank 3,852,476 (Top 78 %)
  • Language
    Crystal
  • License
    MIT License
  • Created over 7 years ago
  • Updated over 1 year 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

forge

Convention-Driven Instance Autonomy for EC2
Python
4
star
7

ezmq

Effortless ZeroMQ
Ruby
4
star
8

docker-alpine

4
star
9

dns-reactor

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

ansible-upstart

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

unpkg

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

git-notary

git-notary generates canonical version tags from versioning notes.
Shell
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

cloudstrap

Strapping Boots to Clouds
Ruby
3
star
18

dbviz

A tool for visualizing database relations
Ruby
3
star
19

redislike

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

deputy53

Delegating control of partial zones with Route53
Ruby
3
star
21

docker-syslog

Shell
3
star
22

piranha

fish functions for Amazon workflows
Shell
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

docker-go

Build Pipeline for go on Docker
Shell
1
star
41

triton-ops

A Ruby Interface for Triton Operators
Ruby
1
star
42

docker-chicken

1
star
43

ansible-nodejs

Ansible Role for node.js
Ruby
1
star
44

ansible-monit

Ansible Role for monit
1
star
45

ansible_galaxy

Ruby Wrapper for Ansible Galaxy HTTP API
Ruby
1
star
46

ansible-redis

Ansible Role for Redis
1
star
47

btrfs.rb

Wraps btrfs volumes in Ruby Objects.
Ruby
1
star
48

ansible-newrelic

Ansible Role for NewRelic
1
star
49

docker-consul

1
star
50

minecraft-pi

Control Minecraft Pi Edition from Ruby
Ruby
1
star
51

ansible-zeromq

Ansible Role for ZeroMQ
1
star
52

ansible-galaxy-sync

Commandline Tool to Sync Ansible Galaxy Roles
Ruby
1
star
53

ansible-tmate

Ansible Role for tmate
1
star
54

package.sh

Simpler Package Management
Shell
1
star
55

invocations

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

gpm

Ghetto Package Management
Ruby
1
star
57

android-butler

Automation scripts for new devices.
Shell
1
star
58

ansible-ruby

Ansible Role for Ruby
1
star
59

laag-nasm

Library as a Gem - nasm
1
star
60

systemized

Exposes systemd components as Ruby Objects.
Ruby
1
star
61

shoutcast-quota

Perl
1
star
62

ansible-nginx

Ansible Role for nginx
Nginx
1
star
63

ops-consul

Operations Repository for Consul
Shell
1
star
64

ansible-varnish

Ansible Role for Varnish
Perl
1
star
65

instacli

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

docker-node

Evented I/O for V8 javascript
1
star
67

cloud-surveyor

Unstable Work In Progress
Ruby
1
star
68

tinypy

A very small Python
C
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