Skip to content
Snippets Groups Projects
discovery@.service 534 B
Newer Older
[Unit]
Description=%p for %i etcd registration

# Requirements
Requires=etcd.service

Pierre Ozoux's avatar
Pierre Ozoux committed
# Dependency binding
BindsTo=web@%i.service

[Service]
ExecStart=/bin/bash -c ' \
  sleep 30; \
  while true; do \
    ip=`docker inspect --format \'{{.NetworkSettings.IPAddress}}\' %i`; \
    curl -f $ip; \
    if [ $? -eq 0 ]; then \
      etcdctl set /services/web/%i \'{"ip":"\'$ip\'", "port":"80"}\' --ttl 60; \
    else \
      etcdctl rm /services/web/%i; \
    fi; \
    sleep 50; \
  done'

ExecStop=-/usr/bin/etcdctl rm /services/web/%i