Go to file
Paul Banks 10af44006a Proxy Config Manager (#4729)
* Proxy Config Manager

This component watches for local state changes on the agent and ensures that each service registered locally with Kind == connect-proxy has it's state being actively populated in the cache.

This serves two purposes:
 1. For the built-in proxy, it ensures that the state needed to accept connections is available in RAM shortly after registration and likely before the proxy actually starts accepting traffic.
 2. For (future - next PR) xDS server and other possible future proxies that require _push_ based config discovery, this provides a mechanism to subscribe and be notified about updates to a proxy instance's config including upstream service discovery results.

* Address review comments

* Better comments; Better delivery of latest snapshot for slow watchers; Embed Config

* Comment typos

* Add upstream Stringer for funsies
2018-10-10 16:55:34 +01:00
.github Contribution guide (#4704) 2018-10-05 09:06:40 -07:00
acl Rewrite all of acl_test.go 2018-07-24 20:29:34 -04:00
agent Proxy Config Manager (#4729) 2018-10-10 16:55:34 +01:00
api Add -sidecar-for and new /agent/service/:service_id endpoint (#4691) 2018-10-10 16:55:34 +01:00
bench
build-support Detect correct GOOS/ARCH for copying binary with build_consul_local 2018-09-10 10:25:15 -07:00
command Add -sidecar-for and new /agent/service/:service_id endpoint (#4691) 2018-10-10 16:55:34 +01:00
connect Add -sidecar-for and new /agent/service/:service_id endpoint (#4691) 2018-10-10 16:55:34 +01:00
demo
ipaddr
lib Refactor to use embedded struct. 2018-06-25 12:25:39 -07:00
logger Adds a new command line flag -log-file for file based logging. (#4581) 2018-08-29 16:56:58 -04:00
sentinel
service_os Changes made : 2018-06-28 21:18:14 -04:00
snapshot
terraform
test
testrpc Bugfix: Use "%#v" when formatting structs (#4600) 2018-08-28 12:37:34 -04:00
testutil Improve resilience of api pkg tests (#4676) 2018-09-18 17:47:01 +01:00
tlsutil
types
ui update ffi to dodge CVE-2018-1000201 (#4670) 2018-09-14 11:22:48 +02:00
ui-v2 ui: Move the text encoding polyfill to a a proper detecting polyfill (#4767) 2018-10-08 17:47:44 +01:00
vendor vendor: update mapstructure to v1.1.0 2018-09-30 19:15:40 -07:00
version Putting source back into Dev Mode 2018-09-13 16:35:46 +00:00
watch Add -sidecar-for and new /agent/service/:service_id endpoint (#4691) 2018-10-10 16:55:34 +01:00
website Add Proxy Upstreams to Service Definition (#4639) 2018-10-10 16:55:34 +01:00
.dockerignore
.gitattributes
.gitignore
.travis.yml Enable compilation with Go 1.11 on Travis to avoid unstable tests (#4496) 2018-10-03 14:49:48 -07:00
CHANGELOG.md Update CHANGELOG.md 2018-10-09 10:42:56 +02:00
GNUmakefile Improve resilience of api pkg tests (#4676) 2018-09-18 17:47:01 +01:00
INTERNALS.md docs: correct link to top level agent package (#4750) 2018-10-04 09:15:55 -05:00
LICENSE
NOTICE.md add copyright notice file 2018-07-09 10:58:26 -07:00
README.md Contribution guide (#4704) 2018-10-05 09:06:40 -07:00
Vagrantfile
main.go
main_test.go

README.md

Consul Build Status Join the chat at https://gitter.im/hashicorp-consul/Lobby

Consul is a tool for service discovery and configuration. Consul is distributed, highly available, and extremely scalable.

Consul provides several key features:

  • 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 operators about any issues in a cluster. The integration with service discovery prevents routing traffic to unhealthy hosts and enables service level circuit breakers.

  • 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.

  • Multi-Datacenter - Consul is built to be datacenter aware, and can support any number of regions without complex configuration.

  • Service Segmentation - Consul Connect enables secure service-to-service communication with automatic TLS encryption and identity-based authorization.

Consul runs on Linux, Mac OS X, FreeBSD, Solaris, and Windows. A commercial version called Consul Enterprise is also available.

Please note: We take Consul's security and our users' trust very seriously. If you believe you have found a security issue in Consul, please responsibly disclose by contacting us at security@hashicorp.com.

Quick Start

An extensive quick start is viewable on the Consul website:

https://www.consul.io/intro/getting-started/install.html

Documentation

Full, comprehensive documentation is viewable on the Consul website:

https://www.consul.io/docs

Contributing

Thank you for your interest in contributing! Please refer to CONTRIBUTING.md for guidance.