[ANNOUNCE] haproxy-ingress v0.15.0-alpha.1

7 views
Skip to first unread message

Joao Morais

unread,
Feb 20, 2023, 2:41:47 PM2/20/23
to haproxy...@googlegroups.com
HAProxy Ingress v0.15.0-alpha.1 is here!

- Controller now starts as the non root `haproxy` user.
- `haproxy` user ID was changed from `1001` to `99`.
- ElectionID changed for leader election.
- Helm chart has now two separated fields for registry and repository
of a container image.
- Log now uses level 2 by default, a low verbosity level with useful
debugging info.

See upgrade notes for detailed info and before update your
environment: https://github.com/jcmoraisjr/haproxy-ingress/blob/master/CHANGELOG/CHANGELOG-v0.15.md#upgrade-notes

Besides that, the following areas had some improvement since v0.14:

- Embedded and default external HAProxy version was updated to 2.6
instead of the expected 2.5. Non-LTS HAProxy, just like 2.3 and 2.5,
have a short lifecycle and we're a few cycles behind their releases.
Our plan is to start to release about 2 minor versions per year again,
following HAProxy Community Edition releases, so we should expect our
v0.16 using HAProxy 2.6 as well. Future controller versions might
start to use non LTS again in the future, provided that we're close
enough to their release cycle and we don't have a newer LTS version to
use instead.
- HTTP header match is a long awaited feature that needed a few
internal refactors to work properly. This is one of the challenging
implementations for the Gateway API, which's available for Ingress
resources as well. See the HTTP header match documentation for usage
examples: https://haproxy-ingress.github.io/v0.15/docs/configuration/keys/#http-match
- HAProxy Ingress now uses controller-runtime as the engine that
watches and notifies resource changes. This is a huge internal change
that improves code quality and organization, but with almost no
externally visible change. The most impacted feature is the Ingress
Status Update, which should be rewritten from scratch in order to fit
the new controller engine. Give this a few more attention and let us
know if you found any problem via our Slack channel, mailing list, or
opening a new GitHub issue.

Links and refs of this release:

* Changelog: https://github.com/jcmoraisjr/haproxy-ingress/blob/master/CHANGELOG/CHANGELOG-v0.15.md#v0150-alpha1
* GitHub release:
https://github.com/jcmoraisjr/haproxy-ingress/releases/tag/v0.15.0-alpha.1
* Release date: 2023-02-20
* Helm chart: --version 0.15.0-alpha.1 --devel
* Image (Quay): quay.io/jcmoraisjr/haproxy-ingress:v0.15.0-alpha.1
* Image (Docker Hub): jcmoraisjr/haproxy-ingress:v0.15.0-alpha.1
* Embedded HAProxy version: 2.6.9

List of merged fixes and improvements since v0.14.2:

* update embedded haproxy from 2.4.18 to 2.5.8 [6b0a10a]
* update golang from 1.17.13 to 1.19.1 [781dd7e]
* update client-go from v0.23.10 to v0.25.0 [c7d8ae3]
* update go mod from 1.17 to 1.19 [2d2cb4e]
* Add http-header-match annotation [#944]
* Configuration keys:
* `http-header-match`
* `http-header-match-regex`
* Update gateway-api from v0.4.1 v0.5.0 [#947]
* Update to hugo v0.110.0 and update node deps [#968]
* Add controller-runtime support [#933]
* Add source IP related config keys [#987]
* Configuration keys:
* `original-forwarded-for-hdr`
* `real-ip-hdr`
* update client-go from v0.25.0 to v0.26.1 [1e2fc75]
* update embedded haproxy from 2.5.8 to 2.6.9 [2842a74]
* Add optional frontend based external authentication call [#988]
* Configuration keys:
* `auth-external-placement`
* update go from 1.19.1 to 1.19.6 [3a8edee]
* Change controller container to non root user [#992]

Chart improvements:

* Allow customFiles to be used without custom template [#57]
* Add permissions for leases, needed by leaderelection [#58]
* Fix securityContext conditional in default backend [#60]
* Parameterize container port and add missing configs on default
backend and prometheus [#59]
* Extracted registry value to a separate variable [#61]

Fixes

* Skip status update when update-status is false [#991]
Reply all
Reply to author
Forward
0 new messages