The HAProxy Kubernetes Ingress Controller (https://github.com/haproxytech/kubernetes-ingress) uses the same Go library that the API is layered on top of: the "client-native" library. https://github.com/haproxytech/client-native
P.S. in typical haproxy vein, its a bit hard to get started. for example the Docker page doesnt have a trivially runnable version for haproxy 2.0 (https://hub.docker.com/_/haproxy/).