fabiolb/fabio

Consul Load-Balancing made simple

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 8 minutes ago
Added to GitGenius on September 9th, 2026
Created on October 16th, 2015
Open Issues & Pull Requests: 238 (+0)
GitHub issues: Enabled
Number of forks: 623
Total Stargazers: 7,341 (+0)
Total Subscribers: 198 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 24.9 hours
Mean response time: 187.7 days
90th percentile: 579.7 days
Tracked items: 54

How this project is maintained

Around half of the issues opened in the past year never receive a reply. 95% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. Only 2% of issues opened in the past year have been closed. Three people close 77% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 20
New in 7 days: 0
Closed in 7 days: 1
Avg open age: 1,423 days
Stale 30+ days: 19
Stale 90+ days: 17

Recent activity

Opened in 7 days: 0
Closed in 7 days: 1
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • need response (12)
  • stale (11)
  • enhancement (7)
  • help wanted (7)
  • question (6)
  • bug (4)
  • wontfix (2)
  • docs (1)

Most active issues this week

Detailed Description

Fabio is a load balancer that automatically routes HTTP(S) and TCP traffic based on service registrations in Consul.

The tool solves the problem of managing load balancing in dynamic service environments by eliminating manual configuration. It watches Consul for service registrations and health checks, then automatically routes incoming traffic to healthy service instances. Services simply register themselves in Consul with a health check, and fabio discovers and routes to them without requiring explicit load balancer configuration changes.

Fabio suits teams already using Consul for service discovery who want zero-configuration load balancing. It works well in containerized and microservices architectures where services are frequently deployed, upgraded, or refactored. The tool is particularly valuable when you need to avoid the operational overhead of updating load balancer rules each time services change. It supports both HTTP(S) and TCP routing, integrates with Vault for certificate management, and provides metrics export to Prometheus, Graphite, and Datadog's dogstatsd backend.

The project maintains active build automation with continuous integration checks. The tool has been updated to support modern Go versions and has evolved its metrics infrastructure, dropping legacy statsd support in favor of more capable backends. Certificate validation behavior was tightened to require proper SAN extensions in upstream HTTPS backends, reflecting security best practices. Garbage collection defaults were adjusted to align with contemporary Go runtime behavior rather than legacy tuning from earlier language versions.