/haproxy-ingress

HAProxy Ingress

Primary LanguageGoApache License 2.0Apache-2.0

HAProxy Ingress controller

Ingress controller implementation for HAProxy loadbalancer.

build helm

HAProxy Ingress is a Kubernetes ingress controller: it configures a HAProxy instance to route incoming requests from an external network to the in-cluster applications. The routing configurations are built reading specs from the Kubernetes cluster. Updates made to the cluster are applied on the fly to the HAProxy instance.

Use HAProxy Ingress

Documentation:

Supported versions:

HAProxy Ingress Embedded
HAProxy
Supported
Kubernetes
External
HAProxy (*)
v0.13 (latest) 2.3 1.19+ 2.2+
v0.12 2.2 1.18 - 1.21 2.0+
v0.10 2.0 1.8 - 1.21 -
  • Beta quality versions (beta / canary tags) has some new, but battle tested features, usually running on some of our production clusters
  • Development versions (alpha / snapshot tags) has major changes with few tests, usually not recommended for production
  • (*) Minimum supported HAProxy version if using an external HAProxy instance

Community:

Develop HAProxy Ingress

Building:

mkdir -p $GOPATH/src/github.com/jcmoraisjr
cd $GOPATH/src/github.com/jcmoraisjr
git clone https://github.com/jcmoraisjr/haproxy-ingress.git
cd haproxy-ingress
make

The following make targets are currently supported:

  • install: run go install which saves some building time.
  • build (default): compiles HAProxy Ingress and generates an ELF (Linux) executable at rootfs/haproxy-ingress-controller despite the source platform.
  • test: run unit tests
  • image: generates a Docker image tagged localhost/haproxy-ingress:latest