hashicorp/consul
Glossary
Project-specific terms used throughout the codebase. When a term has a definitive implementation, the file path is given.
| Term | Meaning |
|---|---|
| Agent | The consul process running on every node. Hosts the HTTP, DNS, and gRPC servers and maintains local state. Can run as client or server. Lives in agent/agent.go. |
| Anti-entropy (AE) | Background reconciliation that pushes the local agent's services and checks to the servers. Implementation in agent/ae/. |
| API gateway | Mesh ingress proxy with HTTP/TCP route rules, authored as a api-gateway config entry. Code in agent/consul/gateways/, agent/xds/listeners_apigateway.go, agent/structs/config_entry_gateways.go. |
| Autopilot | Operator-friendly Raft cluster management (dead-server cleanup, redundancy zones, upgrade-aware promotion). agent/consul/autopilot.go, agent/consul/operator_autopilot_endpoint.go. |
| Auto-config | Bootstrap protocol that distributes initial config + TLS to client agents. agent/auto-config/, agent/consul/auto_config_endpoint.go. |
| Auto-encrypt | Older bootstrap mechanism that issues TLS certs to client agents. agent/consul/auto_encrypt_endpoint.go. |
| Blocking query | Long-polling read that returns when the requested data has changed past a watcher index. Built on top of go-memdb watch channels (agent/blockingquery/). |
| Catalog | The set of registered services, nodes, and health checks. Stored in agent/consul/state/catalog.go. |
| CE suffix | Stands for "Community Edition." Files like *_ce.go contain the OSS-specific implementation; counterpart _ent.go files (not in this repo) are Enterprise. |
| Config entry | Cluster-wide piece of configuration written through Raft (e.g., service-defaults, proxy-defaults, service-router, service-resolver, mesh, api-gateway, service-intentions). Defined in agent/structs/config_entry*.go. |
| Connect | Consul's service mesh feature set. Internal package: agent/connect/, public client lib: connect/. |
| Connect CA | The certificate authority that issues SPIFFE identities for mesh-enabled services. Roots in state, leaves issued by leaders or via cross-signed providers (Vault, AWS PCA). agent/consul/leader_connect_ca.go, agent/connect/ca/. |
| Coordinate | The Vivaldi network coordinate used to estimate round-trip time between nodes. agent/consul/coordinate_endpoint.go. |
| DC | Datacenter. A Consul cluster is single-DC; multiple DCs are joined via WAN federation or peering. |
| Discovery chain | Compiled view of service-resolver + service-router + service-splitter config entries that drives mesh routing. agent/structs/config_entry_discoverychain.go, agent/consul/discoverychain/. |
| FSM | The Raft finite state machine. Applies log entries to MemDB. agent/consul/fsm/. |
| Gossip | Serf-based membership and failure detection over UDP/TCP. LAN gossip per DC, WAN gossip across DCs. agent/consul/server_serf.go. |
| HTTP API | REST surface served by the agent on port 8500 (default). Versions: /v1/... (legacy) and /api/.../v2/... (v2 resource API). agent/http.go. |
| Intention | Mesh access policy controlling whether service A can talk to service B. Stored as service-intentions config entries in current Consul; legacy intentions live in agent/consul/state/intention.go. |
| KV | Hierarchical key/value store. agent/kvs_endpoint.go, agent/consul/state/kvs.go. |
| Leaf cert | Short-lived SPIFFE certificate issued by the Connect CA to a specific service identity. Cached in agent/leafcert/. |
| Leader loops | Per-leader background goroutines (CA rotation, federation state AE, intention migration, peering, ACL replication). All in files matching agent/consul/leader_*.go. |
| Mesh gateway | Proxy that bridges mesh traffic across federated DCs or partitions. agent/proxycfg/mesh_gateway.go. |
| Partition | Enterprise-only multi-tenancy boundary. CE code stubs use the default partition (agent/consul/acl_endpoint_ce.go etc.). |
| Peering | Newer cross-cluster connectivity model that doesn't require a shared gossip pool. agent/consul/peering_backend.go, agent/consul/leader_peering.go. |
| Prepared query | Saved, parameterized service query with failover semantics. agent/consul/prepared_query_endpoint.go. |
| Proxy snapshot | The proxycfg.ConfigSnapshot that the proxy config manager builds for one Connect proxy. agent/proxycfg/snapshot.go. |
| Raft | The consensus library (hashicorp/raft) that replicates the FSM across servers. |
| Resource (v2) | Generic protobuf-typed object stored in the v2 resource service. internal/resource/, proto-public/pbresource/. |
| RTT | Round-trip time. Computed from coordinates. agent/consul/rtt.go. |
| Serf | HashiCorp's gossip library; how Consul nodes find each other. github.com/hashicorp/serf. |
| Service mesh | See Connect. |
| Sidecar | A Connect proxy registered alongside an application service to terminate mTLS. agent/sidecar_service.go. |
| SPIFFE | The identity standard Consul uses for mesh certs. connect/uri.go-style helpers in agent/connect/. |
| Stream | Consul's gRPC streaming infrastructure for catalog/config-entry events. agent/consul/stream/, agent/submatview/. |
| Terminating gateway | Egress proxy that connects mesh services to non-mesh destinations. agent/proxycfg/terminating_gateway.go. |
| Token | An ACL credential. Created/managed via agent/consul/acl_endpoint.go; persisted in agent/token/ for the local agent. |
| xDS | Envoy's discovery API. Consul implements the delta-xDS server in agent/xds/. |
Built by Factory AutoWiki from public repository content. It is a generated preview for codebase exploration, not source-maintained documentation.