[Unit]
Description=HAProxy Load Balancer
After=network.target syslog.service {{ amphora_netns }}.service
Before=octavia-keepalived.service
Wants=syslog.service
Requires={{ amphora_netns }}.service

[Service]
# Force context as we start haproxy under "ip netns exec"
SELinuxContext=system_u:system_r:haproxy_t:s0

Environment="CONFIG={{ haproxy_cfg }}" "USERCONFIG={{ haproxy_user_group_cfg }}" "PIDFILE={{ haproxy_pid }}"

ExecStartPre={{ haproxy_cmd }} -f $CONFIG -f $USERCONFIG -c -q -L {{ peer_name }}

ExecReload={{ haproxy_cmd }} -c -f $CONFIG -f $USERCONFIG -L {{ peer_name }}
ExecReload=/bin/kill -USR2 $MAINPID

{%- if haproxy_major_version < 2 and haproxy_minor_version < 8 %}

ExecStart=/sbin/ip netns exec {{ amphora_nsname }} {{ haproxy_cmd }}-systemd-wrapper -f $CONFIG -f $USERCONFIG -p $PIDFILE -L {{ peer_name }}

{%- else %}

ExecStart=/sbin/ip netns exec {{ amphora_nsname }} {{ haproxy_cmd }} -Ws -f $CONFIG -f $USERCONFIG -p $PIDFILE -L {{ peer_name }}

Type=notify

{%- endif %}

KillMode=mixed
Restart=always
LimitNOFILE=2600000

[Install]
WantedBy=multi-user.target
