From 47007c333159c245537673294d24926d355fd1c9 Mon Sep 17 00:00:00 2001 From: Feike Steenbergen Date: Tue, 22 Dec 2015 15:30:11 +0100 Subject: [PATCH] Dockerfile: Ensure all python packages are available and patronictl is configured --- Dockerfile | 9 +++++++-- docker/entrypoint.sh | 5 +++++ 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index 84b9cdf6..b9c3b9ff 100644 --- a/Dockerfile +++ b/Dockerfile @@ -14,14 +14,19 @@ RUN apt-get upgrade -y ENV PGVERSION 9.4 RUN apt-get install python python-yaml python-requests python-boto postgresql-${PGVERSION} python-dnspython python-kazoo python-pip -y -RUN apt-get install python-dev postgresql-server-dev-${PGVERSION} -y -RUN pip install python-etcd psycopg2 +RUN apt-get install python-dev postgresql-server-dev-${PGVERSION} python-prettytable -y +ADD requirements-py2.txt /tmp/ +RUN pip install -r /tmp/requirements-py2.txt ENV PATH /usr/lib/postgresql/${PGVERSION}/bin:$PATH ADD patroni.py /patroni.py +ADD patronictl.py /patronictl.py ADD patroni/ /patroni +RUN ln -s /patroni.py /usr/local/bin/patroni +RUN ln -s /patronictl.py /usr/local/bin/patronictl + ENV ETCDVERSION 2.0.13 RUN curl -L https://github.com/coreos/etcd/releases/download/v${ETCDVERSION}/etcd-v${ETCDVERSION}-linux-amd64.tar.gz | tar xz -C /bin --strip=1 --wildcards --no-anchored etcd etcdctl diff --git a/docker/entrypoint.sh b/docker/entrypoint.sh index 9edb2120..31d76e8b 100755 --- a/docker/entrypoint.sh +++ b/docker/entrypoint.sh @@ -79,6 +79,11 @@ then ETCD_CLUSTER="127.0.0.1:4001" fi +mkdir -p ~postgres/.config/patroni +cat > ~postgres/.config/patroni/patronictl.yaml <<__EOF__ +{dcs_api: 'etcd://${ETCD_CLUSTER}', namespace: /service/} +__EOF__ + cat > /patroni/postgres.yml <<__EOF__ ttl: &ttl 30