Improved docker reload command to wait for etcd to be up before proceeding. Switched reload to run restart because it can't reload if it is not guaranteed to be in running state.
29 lines
1 KiB
Django/Jinja
29 lines
1 KiB
Django/Jinja
[Unit]
|
|
Description=etcd-proxy docker wrapper
|
|
Wants=docker.service
|
|
After=docker.service
|
|
|
|
[Service]
|
|
User=root
|
|
PermissionsStartOnly=true
|
|
ExecStart={{ docker_bin_dir | default("/usr/bin") }}/docker run --restart=always \
|
|
--env-file=/etc/etcd-proxy.env \
|
|
{# TODO(mattymo): Allow docker IP binding and disable in envfile
|
|
-p 2380:2380 -p 2379:2379 #}
|
|
--net=host \
|
|
--stop-signal=SIGKILL \
|
|
-v /usr/share/ca-certificates/:/etc/ssl/certs:ro \
|
|
--name={{ etcd_proxy_member_name | default("etcd-proxy") }} \
|
|
{{ etcd_image_repo }}:{{ etcd_image_tag }} \
|
|
{% if etcd_after_v3 %}
|
|
{{ etcd_container_bin_dir }}etcd
|
|
{% endif %}
|
|
ExecStartPre=-{{ docker_bin_dir | default("/usr/bin") }}/docker rm -f {{ etcd_proxy_member_name | default("etcd-proxy") }}
|
|
ExecReload={{ docker_bin_dir | default("/usr/bin") }}/docker restart {{ etcd_proxy_member_name | default("etcd-proxy") }}
|
|
ExecStop={{ docker_bin_dir | default("/usr/bin") }}/docker stop {{ etcd_proxy_member_name | default("etcd-proxy") }}
|
|
Restart=always
|
|
RestartSec=15s
|
|
|
|
[Install]
|
|
WantedBy=multi-user.target
|