An open source service mesh that adds traffic management, security and observability to microservices with few or no code changes.
hashicorp/consul
Distributed service networking tool for service discovery, health checking, configuration, and service mesh across dynamic infrastructure.
- Stars
- 30,087
- Forks
- 4,631
- Open issues
- 1,421
- Last commit
- 23 hours ago
What is it?
Consul is a distributed system for connecting and configuring applications across dynamic infrastructure. Services register themselves and find each other through a DNS or HTTP interface, and external services such as SaaS providers can be registered alongside internal ones. Health checks let operators spot problems across a cluster, and the integration with service discovery keeps traffic away from unhealthy hosts.
Consul is built to be aware of multiple data centers and can span any number of regions. Its Service Mesh feature provides service-to-service communication with automatic TLS encryption, identity-based authorization, and sidecar proxies that can use transparent proxying. A separate API Gateway component controls access to services inside the mesh through traffic and authorization policies.
The project also includes an HTTP API for storing indexed key-value configuration and application metadata. It runs on Linux, macOS, FreeBSD, Solaris, and Windows, and includes an optional browser-based UI. A commercial edition, Consul Enterprise, is also offered.
Key features
- 01Service discovery through DNS or HTTP interfaces, including external services.
- 02Health checking that keeps traffic away from unhealthy hosts.
- 03Service mesh with automatic TLS and identity-based authorization.
- 04API Gateway for policy-based access to services inside the mesh.
- 05Multi-datacenter support across any number of regions.
- 06HTTP API for storing indexed configuration and application metadata.
Use cases
- Letting microservices find each other across changing hosts without hardcoded addresses.
- Encrypting and authorizing service-to-service traffic in a Kubernetes or VM-based environment.
- Coordinating service configuration across multiple data centers or regions.
- Routing traffic away from failing instances using health checks.
Quick start
- 1
Install the standalone binary from the Consul get-started guide
- 2
Or deploy on Kubernetes or Minikube using the linked tutorials
Things to know
- License is BUSL-1.1, which restricts some commercial use.
- Some features such as the full enterprise capabilities require Consul Enterprise, a paid version.
In collections
Topics
FAQ
- What is consul?
- Distributed service networking tool for service discovery, health checking, configuration, and service mesh across dynamic infrastructure. Consul is a distributed system for connecting and configuring applications across dynamic infrastructure. Services register themselves and find each other through a DNS or HTTP interface, and external services such as SaaS providers can be registered alongside internal ones. Health checks let operators spot problems across a cluster, and the integration with service discovery keeps traffic away from unhealthy hosts.
- Is consul free to use? What license does it have?
- consul is open source under the Other license. Check the license terms before using it in commercial products.
- Is consul still maintained?
- Actively maintained. The last commit to consul was on Oct 22, 2026.
- What can I use consul for?
- Letting microservices find each other across changing hosts without hardcoded addresses. Encrypting and authorizing service-to-service traffic in a Kubernetes or VM-based environment. Coordinating service configuration across multiple data centers or regions. Routing traffic away from failing instances using health checks.
- How do I install consul?
- Install the standalone binary from the Consul get-started guide Or deploy on Kubernetes or Minikube using the linked tutorials
- Where can I get consul?
- The source code and installation instructions are on GitHub: https://github.com/hashicorp/consul
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
A cloud native HTTP reverse proxy and load balancer that auto-configures routes from Docker, Kubernetes, Consul and other orchestrators.
Java implementation of Apache Dubbo, an RPC and microservice framework for building service communication, discovery and traffic management.
Open-source platform for dynamic service discovery, dynamic configuration management, and service metadata management in cloud native and microservice systems.
A Kubernetes-native API gateway implementing the Gateway API on top of Envoy, with support for AI gateway use cases.
Kong is a cloud-native, platform-agnostic API, LLM and MCP gateway, extensible through plugins, for routing and securing service traffic.