1
0
Fork 0
No description
Find a file
Joao Gilberto Magalhaes 7e3134155a Introduce embedded HTTP server for HAProxy monitoring dashboard
- Added a Python-based HTTP server to serve `dashboard.html` at `/` or `/dashboard.html` paths.
- Updated HAProxy configuration to integrate backend for the dashboard.
- Enhanced handling of index paths with conditional redirects to the dashboard page.
- Modified tests and updated expected outputs to reflect these changes.
2026-02-22 19:42:51 -05:00
.github Add Docker build and cache cleanup steps in CI, prevent redundant builds in Swarm E2E tests 2026-02-18 16:42:44 -05:00
.run Migrate configuration paths to /etc/easyhaproxy and improve health check support in E2E tests 2026-02-15 14:32:16 -05:00
.vscode Fix errors in the test 2023-02-08 19:27:50 -06:00
deploy Introduce embedded HTTP server for HAProxy monitoring dashboard 2026-02-22 19:42:51 -05:00
docs Introduce embedded HTTP server for HAProxy monitoring dashboard 2026-02-22 19:42:51 -05:00
helm/easyhaproxy Prepare version 6.0.0 2026-02-18 17:38:46 -05:00
scripts Prepare version 6.0.0 2026-02-18 17:38:46 -05:00
src Introduce embedded HTTP server for HAProxy monitoring dashboard 2026-02-22 19:42:51 -05:00
tests Introduce embedded HTTP server for HAProxy monitoring dashboard 2026-02-22 19:42:51 -05:00
tests_e2e Fix build error 2026-02-20 14:46:39 -05:00
.dockerignore Minor changes in github actions 2022-08-26 16:05:18 -05:00
.gitignore Refactor Dockerfile for multi-stage build and runtime optimization 2026-02-18 01:53:27 -05:00
.python-version Modernizing PyThon Projec 2026-01-22 20:14:22 -05:00
build-multiarch.sh Migrate build assets and scripts to deploy/docker structure 2026-02-18 02:58:32 -05:00
CONTRIBUTING.md Update CONTRIBUTING.md 2024-06-04 21:31:19 -05:00
LICENSE Initial Commit 2018-09-16 21:03:17 -05:00
Makefile Migrate build assets and scripts to deploy/docker structure 2026-02-18 02:58:32 -05:00
pyproject.toml Prepare version 6.0.0 2026-02-18 17:38:46 -05:00
README.md Fix build error 2026-02-20 14:34:38 -05:00
RELEASE.md Bump version to 6.0.0 and update release notes for major changes 2026-02-18 14:14:51 -05:00
uv.lock Bump cryptography from 46.0.4 to 46.0.5 2026-02-18 22:52:00 +00:00

EasyHAProxy

Sponsor Opensource ByJG Build Status GitHub source GitHub license GitHub release Helm Version Artifact Hub

EasyHAProxy

Service discovery for HAProxy

EasyHAProxy dynamically creates haproxy.cfg based on metadata from your workloads — Docker labels, Swarm service labels, or Kubernetes Ingress annotations. No HAProxy knowledge required.

Features

  • Automatic service discovery — Docker, Docker Swarm, Kubernetes, or static YAML
  • Zero-downtime HAProxy reload — configuration updates happen without dropping connections
  • Automatic TLS with ACME — Let's Encrypt, ZeroSSL, BuyPass, and more
  • Custom SSL certificates — volume-mount or label-embed your own PEM files
  • TCP mode — proxy any TCP service, not just HTTP
  • Plugin system — JWT validation, IP whitelisting, Cloudflare IP restoration, FastCGI, path blocking, and custom plugins
  • HAProxy stats dashboard — optional, password-protected
  • Balance algorithms — roundrobin, leastconn, source, uri, and more

Supported platforms

Kubernetes Docker Swarm Docker Static

Install using tools:

Helm MicroK8s Dokku DigitalOcean

Documentation

Section Description
Getting Started Choose your runtime and discovery mode, minimal working setup
Guides SSL, ACME, plugins, Helm, MicroK8s, Dokku, DigitalOcean
Concepts Service discovery, config pipeline, plugin model, TLS termination
Reference Environment variables, container labels, CLI flags, volumes

Who is using?

EasyHAProxy is part of some projects:

See EasyHAProxy in action

Click on the image to see the videos (use HD for better visualization)

Docker In Action Docker and Letsencrypt K8s In Action K8s and Letsencrypt Static Configuration TCP Mode

Here is the code applied in the test examples above.


Open source ByJG