The version of HAproxy bundled upstream from Raspbian seems to be 1.8. This means that all the nice new directives that were added around 2.2 are not available. I'm looking to use http-request replace-path in my config and so am chasing a HAp 2.4 upgrade.
What did you already try to solve it?
Spent a zillion years figuring out that what I needed was in a newer version, but that version appears not distributed through available apt repositories for RPi's ARM architecture.
Maybe you can help me understand what you're suggesting @PrintedWeezl. Raspian is based on Debian, but has it's own set of pre-installed official repos. Just because something is in the Debian repo does not mean Raspian has included it in theirs. Case in point:
I had checked the Raspbian repos since they would be dependancy and compatibility point-and-shoot for my device. Grabbing a Bullseye install candidate directly may not be as simple though and if I'm going to have to jump through dependancy-conflict hell, I might as well build from source ... maybe?
Which kind of circles back to my original question, which is for advice from someone who has done this on which way to go. I know "how" to do these things, just not what is smart.
Is there a reason haproxy has been pinned a major version and 6 years behind on Raspbian?
Is there anything complex about Octopi 1.0 RC suddenly fast-forwarding to HAp 2.2 as @Charlie_Powell pointed out that I would need to beware of?
Everything works correctly with haproxy & OctoPi 1.0.0rc as far as we can tell on the Bullseye images. The only reported issues in general can be seen in the issue I linked above. It needed a new configuration from 1.x to 2.x, however that was all handled a long time ago when Bullseye was released.
In terms of dependency pinning, I'm not sure anybody specifically pinned anything. 1.8.19 is the latest available on Buster, and according to some quick googling I did, 1.8 was an LTS version released in 2018 (so 4 years old). Buster was released in 2019, so it makes sense that they would pick to use the latest version at the time.