Freedom251 › Kubernetes Ingress Controllers
HAProxy Ingress

What HAProxy Ingress is
HAProxy Ingress is a free, self-hosted controller that configures HAProxy to send external requests to applications in a Kubernetes cluster. Changes in the cluster are reflected in HAProxy on the fly. The project describes more than 200 configuration options and support for both Ingress and Gateway API resources. Gateway API support is partial: the documented implementation covers GatewayClass, Gateway, TCPRoute and HTTPRoute, but not HTTPRoute filters or resource status updates. Installation uses a Helm chart and requires Helm 3, a running cluster and administrative cluster privileges. Version 0.16 requires Kubernetes 1.21 or later; local cluster options listed by the project include minikube, kind, k3s, k3d and colima. HAProxy Ingress associates requests with ingress hosts using TLS SNI and the Host header. Metrics can be collected with Prometheus and Grafana using Prometheus Operator. The project uses the Apache-2.0 license and lists a Kubernetes Slack channel, users mailing list and Stack Overflow for community questions.
Who it suits
It suits teams running Kubernetes that need to route external traffic to cluster applications and configure HAProxy through Ingress or Gateway API resources. It is self-hosted and requires cluster administration privileges.
What it does well
- Applies Kubernetes changes to HAProxy on the fly
- More than 200 configuration options
- Supports Ingress and Gateway API resources
- Metrics can be collected with Prometheus and Grafana
What to know first
- Requires a running Kubernetes cluster and Helm 3
- Version 0.16 requires Kubernetes 1.21 or newer
- Gateway API support is partial
Limits
The free plan requires a Kubernetes cluster, and controller v0.16 requires Kubernetes 1.21 or newer. The documented Gateway API implementation is partial and does not implement HTTPRoute filters or resource status updates.
Plans
| Plan | Billed and limits | Price |
|---|---|---|
| HAProxy Ingress | Kubernetes cluster required · v0.16 requires Kubernetes 1.21 or newer | Free |
As haproxy-ingress.github.io lists them, read 29 Sept 2026. The maker's own page has the final word.
Getting started
- Open the HAProxy Ingress website and review the getting-started guide.
- Prepare a running Kubernetes cluster; the guide names minikube, kind, k3s, k3d, and colima as local options.
- Ensure the cluster meets the version requirement: v0.16 requires Kubernetes 1.21 or newer.
- Install Helm 3 and obtain administrative privileges in the Kubernetes cluster.
- Install and configure the controller with its Helm chart.
HAProxy Ingress is a self-hosted Kubernetes controller that configures HAProxy to send external traffic to cluster applications. It suits platform teams that want extensive routing controls and HAProxy performance without a license fee. The trade-off is operational: you need cluster administration access, Helm 3, and a compatible Kubernetes version.
Overview
HAProxy Ingress watches Kubernetes and applies routing changes to HAProxy on the fly, so service changes do not require a separate manual reconfiguration cycle. The controller uses TLS SNI and the HTTP Host header to associate requests with ingress hosts, providing a clear basis for multi-host HTTPS routing.
Installation is delivered through a Helm chart and requires Helm version 3 plus administrative privileges in the Kubernetes cluster. HAProxy Ingress v0.16 requires Kubernetes 1.21 or newer, making the cluster baseline an important compatibility check before adoption. The project is Apache-2.0 licensed, with community discussion through a Kubernetes Slack channel, a users mailing list, and Stack Overflow.
Key features
Routing and policy controls
The project describes more than 200 configuration options, which is a strong fit for operators who need to tune HAProxy behavior rather than accept a narrow set of defaults. Both the Ingress and Gateway API models are supported. The feature set includes TLS automation, canary routing, rate limiting, web application firewall capability, and authentication policies, giving teams room to consolidate common edge controls in the ingress layer.
Gateway API coverage
HAProxy Ingress can manage Ingress and Gateway API resources in the same cluster, but its Gateway API support is partial. The documented implementation covers GatewayClass, Gateway, TCPRoute, and HTTPRoute. HTTPRoute filters and resource status updates are not implemented in the described version, so teams depending on those capabilities should choose a controller with broader Gateway API coverage.
Operations and observability
A Prometheus Operator-based example collects both HAProxy and controller metrics and visualizes them with Grafana. That integration is useful for organizations already standardizing on Prometheus and Grafana; it is less compelling if your monitoring stack is built around other tooling and you want a ready-made integration for it.
Pricing
| Plan | Price | Terms |
|---|---|---|
| HAProxy Ingress | 0.00 USD | Free; Kubernetes cluster required; v0.16 requires Kubernetes 1.21 or newer |
There is one free plan and no free trial because the software itself is free. The price removes licensing cost, but it does not remove infrastructure or administration work: you provide the Kubernetes cluster, install the Helm chart, and maintain the self-hosted deployment. This model best fits teams that already operate Kubernetes and want to avoid a per-seat or usage-based gateway bill.
Platforms
HAProxy Ingress runs on Linux in a self-hosted deployment. The getting-started guide names minikube, kind, k3s, k3d, and colima as local Kubernetes options, which makes it practical for development and evaluation as well as shared clusters. Production use still depends on a running Kubernetes cluster and the required installation privileges.
Who it's for
Choose HAProxy Ingress when your organization has Kubernetes expertise, wants HAProxy-based routing, and values a large configuration surface with built-in edge policies such as canary routing and rate limiting. It is also a sensible option for teams already using Prometheus and Grafana for cluster observability.
Look elsewhere if you need a managed endpoint rather than a controller you install and operate, or if your workloads depend on Gateway API features beyond the documented partial implementation. The Kubernetes version requirement and administrative installation requirement also make it unsuitable for environments where you cannot control cluster prerequisites.
Pros and cons
Pros
- Free Apache-2.0 software avoids license fees while retaining self-hosted control.
- More than 200 configuration options support detailed HAProxy tuning.
- Dynamic application of cluster changes keeps routing aligned with Kubernetes state.
- TLS automation, canary routing, rate limiting, WAF, and auth policies cover substantial ingress needs.
- Prometheus and Grafana integration supports established Kubernetes monitoring practices.
Cons
- Running Kubernetes, Helm 3, and administrative installation access are mandatory, adding operational responsibility.
- Gateway API support is partial, with HTTPRoute filters and status updates absent in the described version.
- v0.16 requires Kubernetes 1.21 or newer, excluding older clusters.
Alternatives
See the Kubernetes Ingress Controllers directory to compare controllers. Pick ngrok instead when you want a freemium service spanning API, desktop, web, and self-hosted platforms, with a free tier offering up to three online endpoints and 1GB of transfer. Kusk Gateway is a free, MIT-licensed open-source option across API, desktop, web, and self-hosted environments.
BFE Ingress Controller is another free Apache 2.0 project with no stated plan limits. Choose Traefik Proxy for an open-source ingress controller, reverse proxy, and load balancer with service auto-discovery. agentgateway offers an open-source gateway distributed as a binary, Docker image, or Kubernetes deployment.
Higress provides a self-hosted Community Edition with community support and documentation, while users handle stability and performance. NGINX Gateway Fabric is an open-source Kubernetes deployment whose Gateway API support varies by resource. Airlock Microgateway suits small environments or local development with a free Community Edition, enforced throughput, and six-month license validity.
Verdict
HAProxy Ingress is a strong choice for Kubernetes operators who want free, self-hosted HAProxy routing with unusually broad configuration and practical edge policies. Its main reason to choose it is control without licensing cost; its main reason to look elsewhere is the operational overhead and partial Gateway API coverage.
Verdict
HAProxy Ingress offers flexible, free HAProxy routing for Kubernetes clusters. Check the Kubernetes version requirement and partial Gateway API support before relying on those capabilities.
Questions
How much does HAProxy Ingress cost?
The listed free plan costs nothing.
Is HAProxy Ingress self-hosted?
Yes. Its deployment model is self-hosted, and it runs in a Kubernetes cluster.
What platforms does it support?
The listed platforms are Linux and self-hosted. A running Kubernetes cluster is required.
Does it support the Gateway API?
Yes, with partial support. The documented implementation covers GatewayClass, Gateway, TCPRoute, and HTTPRoute, but not HTTPRoute filters or resource status updates.
What license does it use?
The project is listed under the Apache-2.0 license.
Where can users get community support?
The project lists a Kubernetes Slack channel, a users mailing list, and Stack Overflow.
Facts from HAProxy Ingress's own pages
- Cluster requirement
- HAProxy Ingress requires a running Kubernetes cluster, and its v0.16 controller requires Kubernetes 1.21 or newer. · haproxy-ingress.github.io, 29 Sept 2026
- Customization
- The project homepage describes more than 200 configuration options and support for Ingress and Gateway API resources. · haproxy-ingress.github.io, 29 Sept 2026
- Deployment
- The controller is installed and configured with a Helm chart, and the instructions require Helm version 3. · haproxy-ingress.github.io, 29 Sept 2026
- Dynamic updates
- Changes made to the Kubernetes cluster are applied to the HAProxy instance on the fly. · github.com, 29 Sept 2026
- Gateway API
- The Gateway API documentation says HAProxy Ingress can manage Ingress and Gateway API resources in the same cluster, with support described as partial. · haproxy-ingress.github.io, 29 Sept 2026
- Gateway API limits
- The documented Gateway API implementation supports GatewayClass, Gateway, TCPRoute, and HTTPRoute, while HTTPRoute filters and resource status updates are not implemented on that page’s described version. · haproxy-ingress.github.io, 29 Sept 2026
- Installation privilege
- The installation guide says administrative privileges in the Kubernetes cluster are required to install the controller properly. · haproxy-ingress.github.io, 29 Sept 2026
- License
- The GitHub repository lists the project under the Apache-2.0 license. · github.com, 29 Sept 2026
- Monitoring integrations
- The metrics example describes collecting HAProxy and controller metrics with Prometheus and Grafana using Prometheus Operator. · haproxy-ingress.github.io, 29 Sept 2026
- Purpose
- HAProxy Ingress configures HAProxy to route incoming requests from an external network to applications in a Kubernetes cluster. · github.com, 29 Sept 2026
- Security
- The getting-started guide says HAProxy Ingress uses TLS SNI and the Host header to associate requests with ingress hosts. · haproxy-ingress.github.io, 29 Sept 2026
- Support
- The project lists a Kubernetes Slack channel, a users mailing list, and Stack Overflow for community discussion and questions. · github.com, 29 Sept 2026
- Supported local clusters
- The getting-started guide names minikube, kind, k3s, k3d, and colima as local Kubernetes deployment options. · haproxy-ingress.github.io, 29 Sept 2026
Where HAProxy Ingress stands on Freedom251
- Kubernetes Ingress Controllers#12 of 28
