Repository: josegonzalez/awesome-consul
Branch: master
Commit: de55aa678d66
Files: 4
Total size: 10.0 KB
Directory structure:
gitextract_a15giroa/
├── .travis.yml
├── README.md
└── consul.d/
├── basic_config.json
└── time.json
================================================
FILE CONTENTS
================================================
================================================
FILE: .travis.yml
================================================
language: ruby
rvm:
- 2.2
before_script:
- gem install awesome_bot
script:
- awesome_bot -f README.md -w consul.io
notifications:
email: false
================================================
FILE: README.md
================================================
# Awesome Consul [](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)
- [UI](#ui)
- [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)
### UI
+ [consul-power-ui](https://github.com/shweshi/consul-power-ui)
+ [Hashi-UI](https://github.com/jippi/hashi-ui)
### 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
```
================================================
FILE: consul.d/basic_config.json
================================================
{
"datacenter": "dc1",
"data_dir": "/tmp/consul/",
"log_level": "INFO",
"node_name": "localhost",
"server": true,
"bootstrap_expect": 1,
"advertise_addr": "127.0.0.1",
"bind_addr": "127.0.0.1",
"client_addr": "0.0.0.0",
"ui_dir": "./web/dist"
}
================================================
FILE: consul.d/time.json
================================================
{
"service": {
"name": "time",
"tags": ["rpc"],
"port": 8081,
"check": {
"script": "zerorpc --connect tcp://127.0.0.1:8081 --timeout 1 _zerorpc_ping",
"interval": "60s"
}
}
}
gitextract_a15giroa/
├── .travis.yml
├── README.md
└── consul.d/
├── basic_config.json
└── time.json
Condensed preview — 4 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (11K chars).
[
{
"path": ".travis.yml",
"chars": 151,
"preview": "language: ruby\nrvm:\n - 2.2\nbefore_script:\n - gem install awesome_bot\nscript:\n - awesome_bot -f README.md -w consul.io"
},
{
"path": "README.md",
"chars": 9530,
"preview": "# Awesome Consul [](https://tra"
},
{
"path": "consul.d/basic_config.json",
"chars": 265,
"preview": "{\n \"datacenter\": \"dc1\",\n \"data_dir\": \"/tmp/consul/\",\n \"log_level\": \"INFO\",\n \"node_name\": \"localhost\",\n \"server\": tr"
},
{
"path": "consul.d/time.json",
"chars": 249,
"preview": "{\n \"service\": {\n \"name\": \"time\", \n \"tags\": [\"rpc\"], \n \"port\": 8081,\n \"check\": {\n "
}
]
About this extraction
This page contains the full source code of the josegonzalez/awesome-consul GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 4 files (10.0 KB), approximately 3.0k tokens. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.