/haproxy-ingress

HAProxy Ingress

Primary LanguageGoApache License 2.0Apache-2.0

HAProxy Ingress controller

Ingress controller implementation for HAProxy loadbalancer.

Build Status Docker Repository on Quay

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

Find some useful links below:

Develop HAProxy Ingress

Building HAProxy Ingress:

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

All packages below pkg/common and also pkg/controller/config.go and pkg/controller/template.go are deprecated, find the v0.8+ controller code under pkg/converters and pkg/haproxy. There are some missing pieces that still need to be rewritten, so you'll need to touch the old controller if your patch needs to adjust them. Please avoid to change pkg/common unless you need to change launch, listers or certificate parsing/cache.