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 993f2d21c0
Backport of Fix to not create a watch to `Internal.ServiceDump` when mesh gateway is not used into release/1.17.x (#20268)
This add a fix to properly verify the gateway mode before creating a watch specific to mesh gateways. This watch have a high performance cost and when mesh gateways are not used is not used.

This also adds an optimization to only return the nodes when watching the Internal.ServiceDump RPC to avoid unnecessary disco chain compilation. As watches in proxy config only need the nodes.

* backport of commit b0ce20b5e2
* backport of commit 3d4bde00cf
* backport of commit b2c77246b9
* backport of commit e7ab4d418d
* backport of commit d00d9c5da4
* backport of commit b2db3d5eb4
* backport of commit 50fb45ac74
* backport of commit 7b41a61c17
* backport of commit 2fa0e0a629
* backport of commit 88849c9030
* backport of commit 4ac54f10bc
* backport of commit 2a9dfc37f2

---------

Co-authored-by: Dhia Ayachi <dhia@hashicorp.com>
2024-01-19 08:17:22 -06:00
.changelog Backport of Fix to not create a watch to `Internal.ServiceDump` when mesh gateway is not used into release/1.17.x (#20268) 2024-01-19 08:17:22 -06:00
.github Backport of ci: Use Consul Go version for Vault int tests into release/1.17.x (#20223) 2024-01-17 09:17:41 -05:00
.release Backport of [NET-6969] security: Re-enable Go Module + secrets security scans for release branches into release/1.17.x (#20021) 2023-12-21 15:29:46 +00:00
acl Backport of acls,catalog,mesh: properly authorize workload selectors on writes into release/1.17.x (#19296) 2023-10-19 17:28:03 +00:00
agent Backport of Fix to not create a watch to `Internal.ServiceDump` when mesh gateway is not used into release/1.17.x (#20268) 2024-01-19 08:17:22 -06:00
api Backport of [NET-4968] Upgrade Go to 1.21 into release/1.17.x (#20182) 2024-01-12 15:21:25 +00:00
bench Gets benchmarks running again and does a rough pass for 0.7.1. 2016-11-29 13:02:26 -08:00
build-support Backport of ci: Single source of truth for Go version in CI and Dockerfile into release/1.17.x (#20160) 2024-01-11 15:48:37 -05:00
command NET-3860 - [Supportability] consul troubleshoot CLI for verifying por… (#20261) 2024-01-18 15:44:44 -06:00
connect [COMPLIANCE] License changes (#18443) 2023-08-11 09:12:13 -04:00
contributing Move contributing to docs 2021-08-30 16:17:09 -04:00
docs resource: allow for the ACLs.Read hook to request the entire data payload to perform the authz check (#18925) 2023-09-22 09:53:55 -05:00
envoyextensions Backport of [NET-7009] security: update x/crypto to 0.17.0 into release/1.17.x (#20029) 2023-12-21 20:35:44 +00:00
grafana grafana: fix a query metrics from ent and add consul version (#18998) 2023-09-25 12:41:13 -04:00
internal Backport of NET-7025 - ci: test-integrations failures in compatibility tests. panics occuring in selectionTracker.TrackIDForSelection into release/1.17.x (#20230) 2024-01-16 22:55:51 +00:00
ipaddr [COMPLIANCE] License changes (#18443) 2023-08-11 09:12:13 -04:00
lib OSS -> CE (community edition) changes (#18517) 2023-08-22 09:46:03 -05:00
logging Remove old build tags (#19128) 2023-10-10 10:58:06 -04:00
proto Backport of Hash based config entry replication into release/1.17.x (#19916) 2023-12-12 13:36:07 -05:00
proto-public license: MPL'ify proto-public (manual backport for 1.17.x) (#20148) 2024-01-10 13:13:39 -06:00
sdk Backport of [DO NOT MERGE UNTIL EOY] update year in LICENSE and copywrite files into release/1.17.x (#20067) 2024-01-02 09:00:24 -08:00
sentinel Remove old build tags (#19128) 2023-10-10 10:58:06 -04:00
service_os Remove old build tags (#19128) 2023-10-10 10:58:06 -04:00
snapshot [COMPLIANCE] License changes (#18443) 2023-08-11 09:12:13 -04:00
test Backport of fix formatting issue in envoy bootstrapping. into release/1.17.x (#20043) 2023-12-21 16:20:45 -07:00
test-integ Backport of [NET-7009] security: update x/crypto to 0.17.0 into release/1.17.x (#20029) 2023-12-21 20:35:44 +00:00
testing/deployer Backport of [NET-7009] security: update x/crypto to 0.17.0 into release/1.17.x (#20029) 2023-12-21 20:35:44 +00:00
testrpc [COMPLIANCE] License changes (#18443) 2023-08-11 09:12:13 -04:00
tlsutil Manual Backport of [Cloud][CC-6925] Updates to pushing server state into release/1.17.x (#19810) 2023-12-04 15:34:24 -05:00
tools/internal-grpc-proxy [COMPLIANCE] License changes (#18443) 2023-08-11 09:12:13 -04:00
troubleshoot NET-3860 - [Supportability] consul troubleshoot CLI for verifying por… (#20261) 2024-01-18 15:44:44 -06:00
types [COMPLIANCE] License changes (#18443) 2023-08-11 09:12:13 -04:00
ui Backport of Fixes issue - 20109 into release/1.17.x (#20125) 2024-01-09 19:01:36 +00:00
version update changelog and version (#19967) 2023-12-15 10:03:12 -08:00
website NET-3860 - [Supportability] consul troubleshoot CLI for verifying por… (#20261) 2024-01-18 15:44:44 -06:00
.copywrite.hcl Backport of [DO NOT MERGE UNTIL EOY] update year in LICENSE and copywrite files into release/1.17.x (#20067) 2024-01-02 09:00:24 -08:00
.dockerignore Update the scripting 2018-06-14 21:42:47 -04:00
.gitignore add peering_commontopo tests [NET-3700] (#17951) 2023-07-18 16:41:30 -07:00
.go-version Backport of [NET-4968] Upgrade Go to 1.21 into release/1.17.x (#20182) 2024-01-12 15:21:25 +00:00
.golangci.yml Backport of [NET-4968] Upgrade Go to 1.21 into release/1.17.x (#20182) 2024-01-12 15:21:25 +00:00
CHANGELOG.md update changelog and version (#19967) 2023-12-15 10:03:12 -08:00
Dockerfile Dockerfile: backport of #20014 for 1.17.x (#20035) 2023-12-21 13:22:46 -08:00
Dockerfile-windows Envoy Integration Test Windows (#18007) 2023-07-21 20:26:00 +05:30
LICENSE Backport of [DO NOT MERGE UNTIL EOY] update year in LICENSE and copywrite files into release/1.17.x (#20067) 2024-01-02 09:00:24 -08:00
Makefile Backport of [NET-4968] Upgrade Go to 1.21 into release/1.17.x (#20182) 2024-01-12 15:21:25 +00:00
README.md README - re-order badges and update hub link (#18498) 2023-08-16 18:41:43 -07:00
buf.work.yaml [COMPLIANCE] License changes (#18443) 2023-08-11 09:12:13 -04:00
go.mod Backport of [NET-7009] security: update x/crypto to 0.17.0 into release/1.17.x (#20029) 2023-12-21 20:35:44 +00:00
go.sum Backport of [NET-7009] security: update x/crypto to 0.17.0 into release/1.17.x (#20029) 2023-12-21 20:35:44 +00:00
main.go [COMPLIANCE] License changes (#18443) 2023-08-11 09:12:13 -04:00
scan.hcl Backport of [NET-6969] security: Re-enable Go Module + secrets security scans for release branches into release/1.17.x (#20021) 2023-12-21 15:29:46 +00:00

README.md

Consul logo Consul

License: BUSL-1.1 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.

  • Dynamic App Configuration - An HTTP API that allows users to store indexed objects within Consul, for storing configuration parameters and application metadata.

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.