I’ve been able to install the Kubernetes Ingress Controller using Helm
helm install haproxy-controller haproxytech/kubernetes-ingress --set controller.service.type=LoadBalancer --set controller.service.loadBalancerIP="$publicIP" --create-namespace --namespace haproxy-controller
I can then configure it by editing the ConfigMap, etc.
The documentation on creating/editing the ConfigMap directly (ConfigMap options | HAProxy Kubernetes Ingress Controller) is clear enough.
Can I create a values.yaml file with values that will be saved in the ConfigMap and TCP ConfigMap?
I’m guessing it would look something like this:
controller:
service:
type: LoadBalancer
annotations:
global-config-snippet: |
tune.ssl.default-dh-param 2048
tune.bufsize 33792
backend-config-snippet: |
option http-pretend-keepalive
http-send-name-header x-dst-server
stick-table type string len 32 size 100k expire 30m
stick on req.cook(sessionid)
frontend-config-snippet: |
unique-id-format %{+X}o\ %ci:%cp_%fi:%fp_%Ts_%rt:%pid
unique-id-header X-Unique-ID
load-balance: "leastconn"
forwarded-for: "true"
ssl-redirect: "true"
timeout-client: "30m"
timeout-client-fin: "1h"
timeout-server: "30m"
timeout-server-fin: "1h"
timeout-connect: "3s"
syslog-server: "address:stdout, format: raw, facility:daemon"
Along the same lines, is there a way to validate the Helm values file?