[Unit]
Description=Run Consul agent
Requires=network-online.target
After=network-online.target

[Service]
User={{ consul_user }}
Group={{ hashistack_group }}
PIDFile={{ consul_run_path }}/consul.pid
PermissionsStartOnly=true
TimeoutStartSec=0
ExecStartPre=-/bin/mkdir -m 0750 -p {{ consul_run_path }}
ExecStartPre=/bin/chown -R {{ consul_user }}:{{ hashistack_group }} {{ consul_run_path }}
ExecStart={{ local_bin_path }}/consul \
    agent -config-dir {{ consul_config_path }} \
    -data-dir {{ consul_data_path }} \
    -pid-file={{ consul_run_path }}/consul.pid
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
KillSignal=SIGTERM
Restart=on-failure
RestartSec={{ consul_systemd_restart_sec }}s
LimitNOFILE={{ consul_systemd_limit_nofile }}
CapabilityBoundingSet=CAP_NET_BIND_SERVICE
StandardOutput=append:{{ consul_log_file }}
StandardError=append:{{ consul_log_file }}

[Install]
WantedBy=multi-user.target