HAProxy Kubernetes Ingress Controller
Ingress controller bringing HAProxy load balancing to Kubernetes
Nine months into the 3.2 line, HAProxy Ingress is still repairing ssl-passthrough and ingress merge order.
◆Recent moves
- 4d ago
Deterministic ingress merge order and reconciled ssl-passthrough backends
The release that turns the running ssl-passthrough repair into a defined model: backends are reconciled on every sync instead of created, the passthrough invariant is applied before any fallible step, and controller-owned state survives a failed transaction. It also makes ingress walking deterministic by age and gives backend ownership to the first Ingress that constitutes it. For anyone running several Ingress objects against one service, this changes which annotations actually take effect.
View source ↗ - 1mo ago
ssl-passthrough mode now resolved before rules are built
Resolves passthrough mode ahead of rule construction and fixes a block_secrets stability regression. An early step in the same ssl-passthrough arc that v3.2.13 completes, handled here as a point fix rather than a model change.
View source ↗ - 2mo ago
Stops continuous reloads on default log config; deprecates cookie-persistence
Fixes a reload loop triggered by the default log configuration and deprecates the cookie-persistence annotation on Ingress. The deprecation is the more durable signal — it narrows the annotation surface the ownership rules in v3.2.13 have to arbitrate.
View source ↗ - 2mo ago
ExternalName backends no longer bypassed by orphan EndpointSlices
Fixes ExternalName backend resolution being bypassed when orphan EndpointSlices are present, with unit tests for getRuntimeBackend. Another instance of the pattern running through this window: stale or unexpected cluster state silently producing the wrong backend.
View source ↗ - 2mo ago
Dependency bumps only
k8s.io and golang.org/x module updates with no user-visible change. Routine maintenance between the substantive passthrough fixes on either side of it.
View source ↗ - 3mo ago
Dependency bumps and Go 1.26 base image
Updates k8s.io packages and moves the container base image to golang 1.26-alpine. Build-side only; operators see no behavior change.
View source ↗