Skip to content

tcp-balancer: HAProxy 3.3 breaks due to frontend/backend name collision #1966

@lllamnyp

Description

@lllamnyp

Problem

The tcp-balancer app fails to start after HAProxy was updated to version 3.3. The app uses haproxy:latest which now pulls a version that no longer supports having frontend and backend with identical names.

Error Message

[ALERT]    (8) : config : Parsing [/usr/local/etc/haproxy/haproxy.cfg:18]: backend 'http' has the same name as frontend 'http' declared at /usr/local/etc/haproxy/haproxy.cfg:12. This is no longer supported as of 3.3. Please rename one or the other.

Root Cause

The configmap template in packages/apps/tcp-balancer/templates/configmap.yaml creates frontend/backend pairs with matching names:

  • frontend http / backend http
  • frontend https / backend https
  • frontend kubernetes / backend kubernetes
  • frontend talos / backend talos

This was valid in HAProxy < 3.3 but is now a breaking error.

Suggested Fix

  1. Rename backends to use a suffix (e.g., backend http_backend, backend https_backend, etc.)
  2. Pin the image version to avoid unexpected breakage from :latest (e.g., haproxy:2.9 or haproxy:3.2)

Option 2 is recommended as a best practice regardless—using :latest in production workloads can lead to unexpected breakage like this.

Affected Files

  • packages/apps/tcp-balancer/templates/configmap.yaml - HAProxy config template
  • packages/apps/tcp-balancer/templates/deployment.yaml - Image reference (haproxy:latest)

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions