Page MenuHomeVyOS Platform

HAPROXY- update current version to 3.0
Open, NormalPublicFEATURE REQUEST

Description

Summary

we are using a version haproxy pretty old , there are some new feature that are interesting to deploy .

vyos@vyos# sudo dpkg -l | grep haproxy
ii  haproxy                              2.6.12-1+deb12u1                 amd64        fast and reliable load balancing reverse proxy

Use case

the new version is from march /2024 (3.0 ...now they have 3.1) , introduce this feature can be useful :

virtual acl and map

firewall mark:

HAProxy 3.0 now supports setting an fwmark on connections to backend servers as well as to clients connected on the frontend. Use the set-fc-mark and set-bc-mark action

Additional information

https://www.haproxy.com/blog/announcing-haproxy-3-0

Details

Version
-
Is it a breaking change?
Perfectly compatible
Issue type
Internal change (not visible to end users)

Event Timeline

dmbaturin triaged this task as Normal priority.Feb 17 2025, 2:52 PM
dmbaturin changed Issue type from Feature (new functionality) to Internal change (not visible to end users).

The 2.6.12-1+deb12u1 is the latest package available from the Debian bookworm https://packages.debian.org/bookworm/haproxy
If you need the newest HAproxy version, you should build this by building scripts https://github.com/vyos/vyos-build/tree/current/scripts/package-build
Or waiting until bookworm updates the major package version.

There are 2 ways a newer HAProxy can be made available in VyOS:

  • The above repository (currently up to 3.2) from Vincent Bernat
  • The official HAProxy community packages from HAProxy Technologies (https://www.haproxy.com/downloads) which also uses aws-lc for the best performance

If I would create a PR to add one of the above and do some more PR's to make HAProxy a bit more useful on VyOS, would that then be accepted? Or, does VyOS really want to stick with the Debian provided version?

Perhaps time for VyOS to overall move to Debian 13 (trixie) as base?

Where HAproxy is 3.0.11-1+deb13u3:

https://packages.debian.org/trixie/haproxy

Another option if you really need newer HAproxy is to run that as a container in VyOS (along with allow-host-network):

https://hub.docker.com/_/haproxy

https://docs.vyos.io/en/rolling/configuration/container/index.html

You can create the initial config through VyOS and then just copy the generated /run/haproxy/haproxy.cfg and then remove the haproxy config from VyOS and only leave the container stuff that will use to your custom haproxy.cfg.