# fabiolb/fabio

Consul Load-Balancing made simple

Repository: https://github.com/fabiolb/fabio
Canonical: https://ross.abutalabs.com/products/fabio
Homepage: https://fabiolb.net
Language: Go
License: MIT
License Family: permissive
Topics: go, golang, load-balancer, consul, vault, docker
Last push: 2026-08-25T23:51:06+00:00

## Health v2 (maintenance only)
Score: 94/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 99, release rhythm 84, longevity 100
- inputs: {"age_days": 3974, "days_push": 8, "days_rel": 27, "gap_med": 39, "n_releases_24m": 12}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 7338, forks 622 (observed 2026-08-28T04:09:58.319363+00:00)

## What it is
Fabio is an HTTP, HTTPS, TCP, and gRPC reverse proxy and load balancer that configures itself dynamically from service data stored in Consul. Services announce their routes via Consul tags (e.g. urlprefix-/user), and fabio updates its routing table instantly without restarts or config reloads.

## Use cases
- load balance microservices with consul service discovery
- reverse proxy that updates routes without reload
- route http traffic by path prefix from consul tags
- tcp proxy for database ports behind consul
- grpc proxy with tls termination
- zero-downtime routing table updates for services

## When to choose
- you already use Consul for service discovery and want automatic routing
- you need hot-reloading routes without downtime or config file templating
- you need a mix of HTTP, TCP, and gRPC proxying in one tool
- you want built-in metrics backends like Prometheus, DataDog, or Graphite

## When to avoid
- you don't use Consul and have no service registry
- you need a general-purpose edge proxy with rich plugin ecosystems like Envoy or NGINX
- you need layer 7 features beyond path/host routing such as complex traffic policies
- you want a Kubernetes-native ingress controller

## Facets
- artifact type: service
- maturity: active
- function: proxy, load-testing, routing, api-gateway, http-server, monitoring
- domain: networking, microservices, infrastructure-as-code, self-hosted, backend
- platform: windows, go, self-hosted, cloud
- tags: reverse-proxy, consul, load-balancer, service-discovery, tcp-proxy, grpc-proxy, vault, zero-config, devops, linux, macos, docker

## Member repositories
- fabiolb/fabio (main) score 94

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:09:58.319363+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-29T17:38:28.440703+00:00, confidence not recorded.
  - readme: https://github.com/fabiolb/fabio (fetched 2026-08-28T04:09:58.319363+00:00, sha fe8e2f0bf86f)
  - homepage: https://fabiolb.net (fetched 2026-08-29T08:33:54.295063+00:00, sha 3839e01cbf85)
  - site_page: https://fabiolb.net/quickstart (fetched 2026-08-29T08:33:54.304204+00:00, sha b8a8a1d8f288)
  - site_page: https://fabiolb.net/faq (fetched 2026-08-29T08:33:54.307635+00:00, sha ca5b9ad98bbb)
  - site_page: https://fabiolb.net/feature (fetched 2026-08-29T08:33:54.306047+00:00, sha a2f6491a171b)
- Data as of 2026-08-30T08:39:29.467469+00:00.
