Consul
A service discovery and configuration tool for distributed systems.
Consul provides a distributed key-value store, service discovery via DNS or HTTP, application-level health checks, and a service mesh (Consul Connect) for secure mTLS-based service-to-service communication. Each Consul agent on a participating node publishes the services running there and subscribes to updates about other services in the cluster, gossiping membership over the Serf protocol and storing critical state in a Raft-replicated datastore.
HashiCorp released Consul in 2014 as part of their "tools that solve a single piece of infrastructure" line-up alongside Vagrant, Packer, and Terraform. Consul's licence shifted from MPL-2.0 to BSL-1.1 in 2023 along with the rest of HashiCorp's tools, prompting an OpenBao-style fork (OpenZeitelfe is one example, though no clear single successor has emerged).
Consul is widely used as the service registry for non- Kubernetes workloads — Nomad clusters, classic VM fleets, and heterogeneous environments — and as a feature-store-style key- value lookup for application configuration. The Connect mesh sees less use than Istio or Linkerd in pure Kubernetes environments but is a sensible mesh choice for hybrid deployments.
Install
Debian/Ubuntu: sudo apt install consul Fedora/RHEL: sudo dnf install consul Arch: sudo pacman -S consul macOS: brew install consul
Authors
- HashiCorp
- Consul contributors