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 43b5ed1283
Backport of DNS v2 - split up router into multiple responsibilities & break up router tests into multiple files. into release/1.18.x (#20780)
* backport of commit 008451aa1e

* backport of commit abdf8c8205

* backport of commit a0176356f7

* DNS v2 - split up router into multiple responsibilities & break up router tests into multiple files. (#20688)

* Update agent/dns.go

Co-authored-by: Michael Zalimeni <michael.zalimeni@hashicorp.com>

* PR feedback

* split tests out into multiple files.

* Extract responsibilities from router into discoveryResultsFetcher, messageSerializer, responseGenerator.

* adding recordmaker tests

* add response generator test coverage.

* changing tests case name based on PR feedback

---------

Co-authored-by: Michael Zalimeni <michael.zalimeni@hashicorp.com>

---------

Co-authored-by: John Murret <john.murret@hashicorp.com>
Co-authored-by: Michael Zalimeni <michael.zalimeni@hashicorp.com>
2024-03-01 17:09:38 +00:00
.changelog Backport of Fix audit-log encoding issue (CC-7337) into release/1.18.x (#20749) 2024-02-28 14:25:09 +05:30
.github Backport of [NET-7948] Bump Envoy version to address multiple CVEs into release/1.18.x (#20599) 2024-02-12 18:13:16 -05:00
.release security: fix syntax for release scan config (#20279) 2024-01-19 17:08:54 +00:00
acl Backport of Add default intention policy into release/1.18.x (#20546) 2024-02-08 21:12:02 +00:00
agent Backport of DNS v2 - split up router into multiple responsibilities & break up router tests into multiple files. into release/1.18.x (#20780) 2024-03-01 17:09:38 +00:00
api Backport of Retract api@v1.28.0 into release/1.18.x (#20763) 2024-02-29 12:26:20 -05:00
bench
build-support In-Memory gRPC (#19942) 2024-01-12 11:54:07 -05:00
command Backport of revert grpc to http into release/1.18.x (#20718) 2024-02-23 13:00:20 -08:00
connect Retry lint fixes (#19151) 2023-12-06 12:11:32 -05:00
contributing
docs Backport of mesh: add ComputedImplicitDestinations resource for future use into release/1.18.x (#20572) 2024-02-09 21:54:25 +00:00
envoyextensions Backport of [NET-7948] Bump Envoy version to address multiple CVEs into release/1.18.x (#20599) 2024-02-12 18:13:16 -05:00
grafana NET-6862: adding disk-io and disk usage metrics to k8s grafana dashboard (#20169) 2024-01-16 22:14:17 +05:30
grpcmocks/proto-public Backport of v2: ensure the controller caches are fully populated before first use into release/1.18.x (#20462) 2024-02-02 22:08:47 +00:00
internal Backport of Update ComputedTrafficPermissions ACL hooks into release/1.18.x (#20627) 2024-02-13 20:35:32 +00:00
ipaddr
lib Backport of [CC-7434] Skip collecting data directory metrics in dev mode into release/1.18.x (#20529) 2024-02-07 17:25:37 -06:00
logging Backport of V1 Compat Exported Services Controller Optimizations into release/1.18.x (#20518) 2024-02-07 16:03:36 -05:00
proto Backport of V1 Compat Exported Services Controller Optimizations into release/1.18.x (#20518) 2024-02-07 16:03:36 -05:00
proto-public Backport of Update API and API Docs regarding disabling gossip for a partition. into release/1.18.x (#20724) 2024-02-26 12:43:16 -05:00
sdk Backport of Fix SDK iptables.Config marshalling into release/1.18.x (#20454) 2024-02-02 19:08:28 +00:00
sentinel
service_os
snapshot
test Backport of revert grpc to http into release/1.18.x (#20718) 2024-02-23 13:00:20 -08:00
test-integ Backport of [NET-7657] Remove proto definitions for GatewayClass + GatewayClassConfig into release/1.18.x (#20524) 2024-02-07 22:18:12 +00:00
testing/deployer Backport of Move sameness groups to v2beta1 version into release/1.18.x (#20534) 2024-02-08 11:40:26 -05:00
testrpc feat(v2): add consul service and workloads to catalog (#20077) 2024-01-03 15:14:42 -05:00
tlsutil
tools/internal-grpc-proxy
troubleshoot NET-6943 - Replace usage of deprecated Envoy field envoy.config.router.v3.WeightedCluster.total_weight. (#20011) 2023-12-22 19:49:44 +00:00
types
ui Backport of feat: add alert to link to hcp modal to ask a user refresh a page; up… into release/1.18.x (#20690) 2024-02-21 18:03:23 +00:00
version Update VERSION for release/1.18.x (#20745) 2024-02-28 00:56:06 +00:00
website Backport of Johnlanda/fault injection docs into release/1.18.x (#20776) 2024-02-29 18:02:37 -08:00
.copywrite.hcl [DO NOT MERGE UNTIL EOY] update year in LICENSE and copywrite files (#19780) 2024-01-02 08:41:12 -08:00
.dockerignore
.gitignore Backport of [CE] Misc cleanup for V2 DNS into release/1.18.x (#20641) 2024-02-14 13:40:47 -05:00
.go-version Backport of use go 1.21.7 into release/1.18.x (#20560) 2024-02-11 18:02:00 -06:00
.golangci.yml [NET-4968] Upgrade Go to 1.21 (#20062) 2024-01-12 09:57:38 -05:00
.grpcmocks.yaml In-Memory gRPC (#19942) 2024-01-12 11:54:07 -05:00
.pre-commit-config.yaml
CHANGELOG.md Add new changelog entries for 1.15.9, 1.16.5, 1.17.2 (#20337) 2024-01-24 14:21:23 -05:00
Dockerfile Xw/net 5724 grpc client delete (#20309) 2024-01-24 15:17:54 -08:00
Dockerfile-windows
LICENSE [DO NOT MERGE UNTIL EOY] update year in LICENSE and copywrite files (#19780) 2024-01-02 08:41:12 -08:00
Makefile Backport of [NET-6741] make: Add target for updating dependencies across all modules into release/1.18.x (#20686) 2024-02-21 11:49:13 -05:00
README.md
buf.work.yaml
go.mod only forwarding the resource service traffic in client agent to server agent (#20347) 2024-01-31 12:05:47 -08:00
go.sum only forwarding the resource service traffic in client agent to server agent (#20347) 2024-01-31 12:05:47 -08:00
main.go
scan.hcl [NET-6969] security: Re-enable Go Module + secrets security scans for release branches (#19978) 2023-12-21 15:11:05 +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.

  • API Gateway - Consul API Gateway manages access to services within Consul Service Mesh, allow users to define traffic and authorization policies to services deployed within the mesh.

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