diff --git a/Dockerfile b/Dockerfile index 0d30616..56026fe 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,9 +1,10 @@ -FROM registry.fedoraproject.org/fedora:rawhide +FROM registry.fedoraproject.org/fedora:25 -ENV VERSION=0.1 ARCH=x86_64 +ENV VERSION=0.1 RELEASE=19 ARCH=x86_64 LABEL com.redhat.component="etcd" \ name="$FGC/etcd" \ version="$VERSION" \ + release="$RELEASE.$DISTTAG" \ architecture="$ARCH" \ summary="A key-value store for shared configuration and service discovery." \ maintainer="Giuseppe Scrivano " @@ -21,10 +22,6 @@ COPY uninstall.sh /usr/bin/uninstall.sh COPY tmpfiles.template config.json.template service.template manifest.json /exports/ -RUN mkdir -p /exports/hostfs/usr/local/bin/ && cp /usr/bin/etcdctl /exports/hostfs/usr/local/bin/etcdctl - -RUN mkdir -p /exports/hostfs/etc/etcd && sed -e "/^ETCD_DATA_DIR/d" -e s"|^ETCD_NAME=|#ETCD_NAME=|" < /etc/etcd/etcd.conf > /exports/hostfs/etc/etcd/etcd.conf - EXPOSE 4001 7001 2379 2380 CMD ["/usr/bin/etcd-env.sh", "/usr/bin/etcd"] diff --git a/config.json.template b/config.json.template index e542c85..73cfa73 100644 --- a/config.json.template +++ b/config.json.template @@ -17,7 +17,6 @@ "env": [ "NAME=$NAME", "ETCD_NAME=$ETCD_NAME", - "ETCD_DATA_DIR=$ETCD_DATA_DIR", "ETCD_ADVERTISE_CLIENT_URLS=$ETCD_ADVERTISE_CLIENT_URLS", "ETCD_LISTEN_CLIENT_URLS=$ETCD_LISTEN_CLIENT_URLS", "ETCD_INITIAL_ADVERTISE_PEER_URLS=$ETCD_INITIAL_ADVERTISE_PEER_URLS", @@ -60,31 +59,26 @@ "cwd": "/", "capabilities": { "bounding": [ - "CAP_DAC_READ_SEARCH", "CAP_AUDIT_WRITE", "CAP_KILL", "CAP_NET_BIND_SERVICE" ], "permitted": [ - "CAP_DAC_READ_SEARCH", "CAP_AUDIT_WRITE", "CAP_KILL", "CAP_NET_BIND_SERVICE" ], "inheritable": [ - "CAP_DAC_READ_SEARCH", "CAP_AUDIT_WRITE", "CAP_KILL", "CAP_NET_BIND_SERVICE" ], "effective": [ - "CAP_DAC_READ_SEARCH", "CAP_AUDIT_WRITE", "CAP_KILL", "CAP_NET_BIND_SERVICE" ], "ambient": [ - "CAP_DAC_READ_SEARCH", "CAP_AUDIT_WRITE", "CAP_KILL", "CAP_NET_BIND_SERVICE" @@ -205,18 +199,7 @@ "rbind", "rprivate" ] - }, - { - "type": "bind", - "source": "$CONF_DIRECTORY/$NAME", - "destination": "/etc/etcd/", - "options": [ - "rbind", - "ro", - "rprivate" - ] - } - $ADDTL_MOUNTS + } ], "linux": { "resources": { @@ -239,6 +222,7 @@ } ], "devices": null, - "apparmorProfile": "" + "apparmorProfile": "", + "selinuxProcessLabel": "" } } diff --git a/etcd-env.sh b/etcd-env.sh index 90dd8bf..5b81a6b 100755 --- a/etcd-env.sh +++ b/etcd-env.sh @@ -6,10 +6,11 @@ if test x$NAME == x; then fi export ETCD_NAME=${ETCD_NAME:-$HOSTNAME} export ETCD_DATA_DIR=/var/lib/etcd/${NAME}.etcd - -if test -e /etc/etcd/etcd.conf; then - source /etc/etcd/etcd.conf -fi +export ETCD_ADVERTISE_CLIENT_URLS=${ETCD_ADVERTISE_CLIENT_URLS:-http://${ipaddress}:2379,http://${ipaddress}:4001} +export ETCD_LISTEN_CLIENT_URLS=${ETCD_LISTEN_CLIENT_URLS:-http://0.0.0.0:2379,http://0.0.0.0:4001} +export ETCD_INITIAL_ADVERTISE_PEER_URLS=${ETCD_INITIAL_ADVERTISE_PEER_URLS:-http://${ipaddress}:2380,http://${ipaddress}:7001} +export ETCD_LISTEN_PEER_URLS=${ETCD_LISTEN_PEER_URLS:-http://0.0.0.0:2380,http://0.0.0.0:7001} +export ETCD_INITIAL_CLUSTER=${ETCD_INITIAL_CLUSTER:-$HOSTNAME=http://${ipaddress}:2380,$HOSTNAME=http://${ipaddress}:7001} # Execute the commands passed to this script exec "$@" diff --git a/manifest.json b/manifest.json index 2fedbfb..28aa414 100644 --- a/manifest.json +++ b/manifest.json @@ -1,9 +1,7 @@ { "version": "1.0", "defaultValues": { - "CONF_DIRECTORY" : "/etc", "ETCD_NAME" : "", - "ETCD_DATA_DIR" : "", "ETCD_ADVERTISE_CLIENT_URLS" : "", "ETCD_LISTEN_CLIENT_URLS" : "", "ETCD_INITIAL_ADVERTISE_PEER_URLS" : "", @@ -39,12 +37,7 @@ "ETCD_DEBUG" : "false", "ETCD_LOG_PACKAGE_LEVELS" : "", "ETCD_STRICT_RECONFIG_CHECK" : "false", - "ETCD_ENABLE_PPROF" : "false", - "ADDTL_MOUNTS": "" - }, - "renameFiles" : { - "/etc/etcd/etcd.conf" : "$CONF_DIRECTORY/$NAME/etcd.conf", - "/usr/local/bin/etcdctl" : "/usr/local/bin/${NAME}ctl" + "ETCD_ENABLE_PPROF" : "false" } }