open-consul/README.md

66 lines
2.3 KiB
Markdown
Raw Normal View History

2014-04-19 20:49:20 +00:00
# Consul [![Build Status](https://travis-ci.org/hashicorp/consul.png)](https://travis-ci.org/hashicorp/consul)
2013-11-04 22:15:27 +00:00
2014-04-14 18:45:31 +00:00
* Website: http://www.consul.io
* IRC: `#consul` on Freenode
2014-04-14 19:19:28 +00:00
* Mailing list: [Google Groups](https://groups.google.com/group/consul-tool/)
2014-04-14 18:45:31 +00:00
2014-04-17 05:04:28 +00:00
Consul is a tool for service discovery and configuration. Consul is
distributed, highly available, and extremely scalable.
2014-04-14 18:45:31 +00:00
2014-04-17 05:04:28 +00:00
Consul provides several key features:
2014-04-14 18:45:31 +00:00
2014-04-17 05:04:28 +00:00
* **Service Discovery** - Consul makes it simple for services to register
themselves and to discover other services via a DNS or HTTP interface.
External services such as SaaS providers can be registered as well.
* **Health Checking** - Health Checking enables Consul to quickly alert
2014-04-14 18:45:31 +00:00
operators about any issues in a cluster. The integration with service
discovery prevents routing traffic to unhealthy hosts and enables service
level circuit breakers.
2014-04-17 05:04:28 +00:00
* **Key/Value Storage** - A flexible key/value store enables storing
dynamic configuration, feature flagging, coordination, leader election and
more. The simple HTTP API makes it easy to use anywhere.
2014-04-14 18:45:31 +00:00
2014-04-17 05:04:28 +00:00
* **Multi-Datacenter** - Consul is built to be datacenter aware, and can
support any number of regions without complex configuration.
2014-04-14 18:45:31 +00:00
Consul runs on Linux, Mac OS X, and Windows. It is recommended to run the
2014-04-17 05:04:28 +00:00
Consul servers only on Linux, however.
2014-04-14 18:45:31 +00:00
## Quick Start
An extensive quick quick start is viewable on the Consul website:
2014-04-14 19:20:48 +00:00
http://www.consul.io/intro/getting-started/install.html
2014-04-14 18:45:31 +00:00
## Documentation
Full, comprehensive documentation is viewable on the Consul website:
http://www.consul.io/docs
## Developing Consul
If you wish to work on Consul itself, you'll first need [Go](http://golang.org)
installed (version 1.2+ is _required_). Make sure you have Go properly installed,
including setting up your [GOPATH](http://golang.org/doc/code.html#GOPATH).
Next, clone this repository into `$GOPATH/src/github.com/hashicorp/consul` and
then just type `make`. In a few moments, you'll have a working `consul` executable:
```
$ go get -u ./...
2014-04-14 18:45:31 +00:00
$ make
...
$ bin/consul
...
```
*note: `make` will also place a copy of the binary in the first part of your $GOPATH*
You can run tests by typing `make test`.
If you make any changes to the code, run `make format` in order to automatically
format the code according to Go standards.