Haproxy as syslog balancer in docker ignore "init-addr none" settings


I’d like to balance syslog request via haproxy to syslog containers
I have docker containers - haproxy-service, logger-service, mx-service

Haproxy config

log-forward syslog
    # Accepts incoming TCP messages
    bind *:514

    # Accepts incoming UDP messages
    dgram-bind *:514

    # Forward via udp
    log ring@logbuffer_udp local0

ring logbuffer_udp
    description "udp buffer for logs"

    timeout connect 5s
    timeout server 10s

    server logserver logger-service:514 init-addr none
# ------
frontend frontend_smtp
    bind *:25
    mode tcp
    timeout client 1m
    log global
    option tcplog
    default_backend backend_smtp

backend backend_smtp
    mode tcp
    log global
    timeout server 1m
    timeout connect 5s

    # Don't change server params in backend. Always need resolver and
    server postfix mx-service:25 send-proxy init-addr none

Haproxy work when i start logger-service first
But if i run haproxy without logger-service i have error

[ALERT] (1) : config : [/etc/haproxy/haproxy.cfg:68] : 'server logbuffer_udp/logserver' : invalid address: 'logger-service' in 'logger-service:514'

Why haproxy ignore “init-addr none” settings in “ring logbuffer_udp” section but accept in “backend backend_smtp” ?

I doubt resolvers are implemented for ring servers, and without resolver support, init-addr none can’t work.

You may want to file a feature request at