Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/josegonzalez/awesome-consul
A list of awesome consul projects, libraries
https://github.com/josegonzalez/awesome-consul
List: awesome-consul
awesome consul monitoring
Last synced: about 23 hours ago
JSON representation
A list of awesome consul projects, libraries
- Host: GitHub
- URL: https://github.com/josegonzalez/awesome-consul
- Owner: josegonzalez
- Created: 2015-02-26T02:15:01.000Z (almost 10 years ago)
- Default Branch: master
- Last Pushed: 2023-01-03T11:05:41.000Z (about 2 years ago)
- Last Synced: 2024-05-23T07:25:35.362Z (8 months ago)
- Topics: awesome, consul, monitoring
- Homepage:
- Size: 294 KB
- Stars: 274
- Watchers: 22
- Forks: 25
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-repositories - josegonzalez/awesome-consul - A list of awesome consul projects, libraries (Others)
- ultimate-awesome - awesome-consul - A list of awesome consul projects, libraries. (Other Lists / Monkey C Lists)
README
# Awesome Consul [![Build Status](https://api.travis-ci.org/josegonzalez/awesome-consul.svg?branch=master )](https://travis-ci.org/josegonzalez/awesome-consul)
This is a list of awesome third-party consul projects, libraries.
## Why consul
+ Easy to install
+ HTTP APIs
+ Design for distributed system
+ Flexible health check
+ Excellent documentation## Table Of Contents
- Projects
- [Alerting](#alerting)
- [Authentication and Authorization](#authentication-and-authorization)
- [Backup and Restore](#backup-and-restore)
- [CLI Tools](#cli-tools)
- [Command Execution](#command-execution)
- [Configuration Management](#configuration-management)
- [Monitoring](#monitoring)
- [Other](#other)
- [Packaging](#packaging)
- [Provisioning](#provisioning)
- [Programming Language Clients](#programming-language-clients)
- [Service Discovery](#service-discovery)
- [Errata](#errata)
- Links
- [Articles](#articles)
- [Presentations](#presentations)## Projects
### Alerting
+ [consulalerting: Alert groups, teams, individuals by tags and plugins](https://github.com/jrxFive/consulalerting)
+ [consul-alerts: Simple daemon to send notifications based on Consul health checks](https://github.com/AcalephStorage/consul-alerts)### Authentication And Authorization
+ [consult: Consul helper tool for quick query based SSH and more](https://github.com/outbrain/consult)
+ [ssh-hecate: SSH authorized_keys management via Consul](https://github.com/ncfritz/ssh-hecate)### Backup and Restore
> *As of Consul 0.7.1, you can use [consul snapshot](https://www.consul.io/docs/commands/snapshot) for some use-cases.*
+ [Consul KV backup](https://github.com/kailunshi/consul-backup)
+ [consul-backinator](https://github.com/myENA/consul-backinator)
+ [consul-snapshot: A consul backup daemon to S3](https://github.com/pshima/consul-snapshot)### CLI Tools
+ [consul-cli: Command line interface](https://github.com/mantl/consul-cli)
+ [consul-bash-completion: Consul Bash Completion library](https://github.com/nzroller/consul-bash-completion)
+ [fileconsul: Share files stored in a consul cluster](https://github.com/foostan/fileconsul)### Command Execution
> *As of Consul 0.5, you can use [consul lock](https://www.consul.io/docs/commands/lock) for many of these tasks.*
+ [cdsh: Distributed SSH](https://github.com/grubernaut/cdsh)
+ [consul-do: Do something based on leadership status](https://github.com/zeroXten/consul-do)
+ [consul-lock: Runs another program with a Consul session/kv locked.](https://github.com/fujiwara/consul-lock)
+ [consul-locker: Enforce that a program runs only on one machine at a time in a datacenter.](https://github.com/fidian/consul-locker)
+ [cronsul: Very simple distributed periodic job scheduler](https://github.com/EvanKrall/cronsul)
+ [dkron: Distributed, fault tolerant job scheduling system](http://dkron.io/)
+ [metronome: Scheduling tool on Consul](https://github.com/cloudconductor/metronome)
+ [sifter: Helps to prevent Consul from firing prematurely](https://github.com/darron/sifter)### Configuration Management
+ [confd: Manage local application configuration files using templates and data from etcd or consul](https://github.com/kelseyhightower/confd)
+ [consul-template: Generic template rendering and notifications with Consul](https://github.com/hashicorp/consul-template)
+ [crypt: Store and retrieve encrypted configs](https://github.com/xordataexchange/crypt)
+ [envconsul: Read and set environmental variables for processes from Consul](https://github.com/hashicorp/envconsul)
+ [hashi-helper: Disaster Recovery and Configuration Management for Consul and Vault](https://github.com/seatgeek/hashi-helper)
+ [hiera-consul: Hiera backend plugin for Consul](https://github.com/lynxman/hiera-consul)
+ [kvexpress: Go program to move data in and out of Consul's KV store](https://github.com/DataDog/kvexpress)
+ [Consul.conf: responsive web interface for managing configuration of your services in Consul KV store](https://github.com/lukaszlach/consul-conf)### Load Balancing
+ [consul-envoy: Consul to Envoy Bridge](https://github.com/jippi/consul-envoy)
+ [fabio: A fast, modern, zero-conf load balancing HTTP(S) router for deploying microservices managed by consul](https://github.com/fabiolb/fabio)
+ [Træfɪk: a modern reverse proxy](https://traefik.io/)
+ [nginx-upsync-module - Nginx C module, sync upstreams from consul or others](https://github.com/weibocom/nginx-upsync-module)### Monitoring
+ [liaison: A daemon that collects service health information from Consul and converts it to time series data](https://github.com/cruatta/liaison)
### Other
+ [consul-topology-visualizer: Visualize latency between your Consul nodes](https://github.com/vmarchaud/consul-topology-visualizer)
+ [consulfs: ConsulFS is a FUSE distributed filesystem backed by a Consul Key-Value store](https://github.com/bwester/consulfs)
+ [consulmq: Golang library for using consul as a message queue](https://github.com/peterfraedrich/consulmq)
+ [git2consul: Mirrors for multiple git repos](https://github.com/breser/git2consul)
+ [uwsgi-consul: uWSGI plugin for consul integration](https://github.com/unbit/uwsgi-consul)### Packaging
+ Debian
+ [bcandrea/consul-deb](https://github.com/bcandrea/consul-deb)
+ RPM
+ [tomhillable/consul-rpm](https://github.com/tomhillable/consul-rpm)### Provisioning
+ Ansible
+ [griggheo/ansible-consul-template](https://github.com/griggheo/ansible-consul-template)
+ [mattupstate/vpc-consul](https://github.com/mattupstate/vpc-consul)
+ [mattfinlayson/ansible-consul](https://github.com/mattfinlayson/ansible-consul)
+ [sgargan/consul](https://github.com/sgargan/consul)
+ Chef
+ [adamkrone/chef-consul-template](https://github.com/adamkrone/chef-consul-template)
+ [darron/consul-cookbook](https://github.com/darron/consul-cookbook)
+ [sous-chefs/consul](https://github.com/sous-chefs/consul)
+ Docker
+ [hashicorp/docker-consul](https://github.com/hashicorp/docker-consul)
+ [foostan/consul-with-docker](https://github.com/foostan/consul-with-docker)
+ [gliderlabs/docker-consul](https://github.com/gliderlabs/docker-consul)
+ Puppet
+ [solarkennedy/puppet-consul](https://github.com/solarkennedy/puppet-consul)
+ Salt
+ [systembell/salt-consul](https://github.com/systembell/salt-consul)### Programming Language Clients
+ Go
+ [armon/consul-api](https://github.com/armon/consul-api)
+ [consulstructure: Decode Consul data into Go (Golang) structures and watch for updates](https://github.com/mitchellh/consulstructure)
+ Java
+ [Ecwid/consul-api](https://github.com/Ecwid/consul-api)
+ [rickfast/consul-client]( https://github.com/rickfast/consul-client)
+ Node.js
+ [gjohnson/consul-node](https://github.com/gjohnson/consul-node)
+ [silas/node-consul](https://github.com/silas/node-consul)
+ PHP
+ [baldurrensch/consul-php](https://github.com/baldurrensch/consul-php)
+ [FriendsOfPHP/consul-php-sdk](https://github.com/FriendsOfPHP/consul-php-sdk)
+ Python
+ [cablehead/python-consul](https://github.com/cablehead/python-consul)
+ [gmr/consulate](https://github.com/gmr/consulate)
+ [xav-b/pyconsul](https://github.com/xav-b/pyconsul)
+ Ruby
+ [WeAreFarmGeek/diplomat](https://github.com/WeAreFarmGeek/diplomat)
+ [xaviershay/consul-client](https://github.com/xaviershay/consul-client)
+ Scala
+ [codacy/scala-consul](https://github.com/codacy/scala-consul)
+ [getnelson/helm](https://github.com/getnelson/helm)### Service Discovery
+ [connectable: Magic proxy for internal services](https://github.com/gliderlabs/connectable)
+ [registrator: Service registry bridge for Docker with pluggable adapters](https://github.com/gliderlabs/registrator)
+ [resolvable: Host-level DNS gateway for Docker](https://github.com/gliderlabs/resolvable)## Links
### Articles
+ [Consul at Datadog](https://www.datadoghq.com/blog/engineering/consul-at-datadog/ ) - Article by Darron Froese on how Datadog deploys consul in production.
+ [Monitoring Consul Health and Performance](https://www.datadoghq.com/blog/monitor-consul-health-and-performance-with-datadog/) - Article by @vagelim on how to monitor consul.
+ [Securing Consul](https://www.mauras.ch/securing-consul.html) - Article on making your consul setup more secure than the defaults give you.
+ [Managing Secrets with Vault and Consul](https://testdriven.io/blog/managing-secrets-with-vault-and-consul/) - This post looks at how to set up and use Hashicorp's Vault and Consul to securely store and manage secrets.
+ [Configuration management with Consul](https://medium.com/magnet-me-engineering/configuration-management-with-consul-a36cfa1252ea) - Article by Michael de Jongon on how to manage the configuration of many different services located in a cluster where services are running in different datacenters
### Presentations+ [Running Consul at Scale—Journey from RFC to Production](https://www.usenix.org/conference/srecon16/program/presentation/froese) (SRECON 2016)
### Errata
#### ZeroRPC
[consul.d](consul.d) is an example configure file that consul working with ZeroRPC.
First, start a zerorpc server:
```
$ zerorpc --server --bind tcp://*:8081 time
```Then, start the consul agent and the web UI:
```
$ bin/consul agent -config-dir ./consul.d
```