Consul is a distributed, highly available, and data center aware solution to connect and configure applications across dynamic, distributed infrastructure.
 
 
 
 
 
 
Go to file
hc-github-team-consul-core ca148fc0c0
backport of commit a362862cf6 (#16832)
Co-authored-by: John Murret <john.murret@hashicorp.com>
2023-03-31 03:59:21 +00:00
.changelog Revert "cache: refactor agent cache fetching to prevent unnecessary f… (#16818) 2023-03-30 11:16:33 -05:00
.circleci Backport of RELENG-471: Remove obsolete load-test workflow into release/1.15.x (#16765) 2023-03-24 12:23:05 -06:00
.github backport of commit a362862cf6 (#16832) 2023-03-31 03:59:21 +00:00
.release backport of commit ec864cb31a (#16414) 2023-02-24 01:53:52 +00:00
acl Synthesize anonymous token pre-bootstrap when needed (#16200) 2023-02-09 20:34:02 +00:00
agent Revert "cache: refactor agent cache fetching to prevent unnecessary f… (#16818) 2023-03-30 11:16:33 -05:00
api Backport of Allow HCP metrics collection for Envoy proxies into release/1.15.x (#16611) 2023-03-10 21:50:30 +00:00
bench
build-support Backport of [OSS] security: update go to 1.20.1 into release/1.15.x (#16314) 2023-02-17 21:00:25 +00:00
command Backport of Refactor xDS tests into release/1.15.x (#16741) 2023-03-22 20:51:58 +00:00
connect emit metrics for global rate limiting (#15891) 2023-01-06 17:49:33 -06:00
contributing
docs NET-2397: Add readme.md to upgrade test subdirectory (#16610) (#16696) 2023-03-21 08:50:23 -05:00
envoyextensions bump consul/api to v1.20.0 and consul/sdk to v0.13.1 2023-03-07 11:56:13 -06:00
grafana
internal Protobuf Modernization (#15949) 2023-01-11 09:39:10 -05:00
ipaddr
lib Backport of Suppress AlreadyRegisteredError to fix test retries into release/1.15.x (#16504) 2023-03-02 18:11:39 +00:00
logging Run config entry controller routines on leader (#16054) 2023-01-25 12:21:46 -06:00
proto Backport of Add ServiceResolver RequestTimeout for route timeouts to make TerminatingGateway upstream timeouts configurable into release/1.15.x (#16520) 2023-03-03 11:13:25 -05:00
proto-public Backport of [OSS] security: update go to 1.20.1 into release/1.15.x (#16314) 2023-02-17 21:00:25 +00:00
sdk backport of commit 748e2a76cb (#16328) 2023-02-18 20:17:58 +00:00
sentinel
service_os
snapshot removes ioutil usage everywhere which was deprecated in go1.16 (#15297) 2022-11-10 10:26:01 -06:00
test NET-2397: Add readme.md to upgrade test subdirectory (#16610) (#16696) 2023-03-21 08:50:23 -05:00
testrpc Pass remote addr of incoming HTTP requests through to RPC(..) calls (#15700) 2022-12-14 09:24:22 -06:00
tlsutil Backport of [OSS] security: update go to 1.20.1 into release/1.15.x (#16314) 2023-02-17 21:00:25 +00:00
tools/internal-grpc-proxy
troubleshoot bump consul/api and consul/envoyextensions 2023-03-07 13:31:19 -06:00
types
ui Backport of fix: add AccessorID property to PUT token request into release/1.15.x (#16662) 2023-03-17 02:12:58 +00:00
version Bump version for next release 2023-03-08 13:27:22 -06:00
website Backport of docs: raise awareness of GH-16779 into release/1.15.x (#16828) 2023-03-30 17:23:56 -04:00
.dockerignore
.gitignore grpc: `protoc` plugin for generating gRPC rate limit specifications (#15564) 2023-01-04 16:07:02 +00:00
.golangci.yml removes ioutil usage everywhere which was deprecated in go1.16 (#15297) 2022-11-10 10:26:01 -06:00
CHANGELOG.md Backport of docs: raise awareness of GH-16779 into release/1.15.x (#16828) 2023-03-30 17:23:56 -04:00
Dockerfile backport of commit a0598b81a3 (#16363) 2023-02-22 16:51:54 +00:00
GNUmakefile Backport of [OSS] security: update go to 1.20.1 into release/1.15.x (#16314) 2023-02-17 21:00:25 +00:00
LICENSE [COMPLIANCE] Update MPL-2.0 LICENSE (#14964) 2022-11-09 12:24:14 -06:00
NOTICE.md
README.md
Vagrantfile
fixup_acl_move.sh
go.mod Backport of Snapshot restore tests into release/1.15.x (#16672) 2023-03-19 23:33:52 +00:00
go.sum Backport of Snapshot restore tests into release/1.15.x (#16672) 2023-03-19 23:33:52 +00:00
main.go Backport of [OSS] security: update go to 1.20.1 into release/1.15.x (#16314) 2023-02-17 21:00:25 +00:00

README.md

Consul logo Consul

Docker Pulls Go Report Card

Consul is a distributed, highly available, and data center aware solution to connect and configure applications across dynamic, distributed infrastructure.

Consul provides several key features:

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

  • Service Mesh - Consul Service Mesh enables secure service-to-service communication with automatic TLS encryption and identity-based authorization. Applications can use sidecar proxies in a service mesh configuration to establish TLS connections for inbound and outbound connections with Transparent Proxy.

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

Consul runs on Linux, macOS, FreeBSD, Solaris, and Windows and includes an optional browser based UI. 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

A few quick start guides are available on the Consul website:

Documentation

Full, comprehensive documentation is available on the Consul website: https://consul.io/docs

Contributing

Thank you for your interest in contributing! Please refer to CONTRIBUTING.md for guidance. For contributions specifically to the browser based UI, please refer to the UI's README.md for guidance.