Skip to content

Instantly share code, notes, and snippets.

@jpillora
Last active August 29, 2015 14:18
Show Gist options
  • Save jpillora/b29ef2e21ec322267ee3 to your computer and use it in GitHub Desktop.
Save jpillora/b29ef2e21ec322267ee3 to your computer and use it in GitHub Desktop.
RethinkDB CoreOS Service

Load services

fleetctl submit rethinkdb-discovery@.service
fleetctl submit rethinkdb@.service

Start 3

fleetctl start rethinkdb-discovery@{1..3}.service
fleetctl start rethinkdb@{1..3}.service
[Unit]
Description=Announce RethinkDB@%i service
[Service]
EnvironmentFile=/etc/environment
ExecStart=/bin/sh -c "while true; do etcdctl set /announce/services/rethinkdb%i ${COREOS_PRIVATE_IPV4} --ttl 60; sleep 45; done"
ExecStop=/usr/bin/etcdctl rm /announce/services/rethinkdb%i
[X-Fleet]
X-Conflicts=rethinkdb-discovery@*.service
[Unit]
Description=RethinkDB@%i service
After=docker.service
BindsTo=rethinkdb-discovery@%i.service
[Service]
EnvironmentFile=/etc/environment
TimeoutStartSec=0
ExecStartPre=-/usr/bin/docker kill rethinkdb%i
ExecStartPre=-/usr/bin/docker rm rethinkdb%i
ExecStartPre=-/usr/bin/mkdir -p /home/core/docker-volumes/rethinkdb
ExecStartPre=/usr/bin/docker pull dockerfile/rethinkdb
ExecStart=/bin/sh -c '/usr/bin/docker run -n $HOSTNAME \
-p ${COREOS_PRIVATE_IPV4}:8080:8080 \
-p ${COREOS_PRIVATE_IPV4}:28015:28015 \
-p ${COREOS_PRIVATE_IPV4}:29015:29015 \
-v /home/core/docker-volumes/rethinkdb/:/data/ \
dockerfile/rethinkdb rethinkdb --bind all \
--canonical-address ${COREOS_PRIVATE_IPV4} \
$(/usr/bin/etcdctl ls /announce/services | \
xargs -I {} /usr/bin/etcdctl get {} | \
sed s/^/"--join "/ | sed s/$/":29015"/ | \
tr "\n" " ")'
ExecStop=/usr/bin/docker stop rethinkdb%i
[X-Fleet]
X-ConditionMachineOf=rethinkdb-discovery@%i.service
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment