From c4cdedef841be731b757ecaa84a9c10b65b552ca Mon Sep 17 00:00:00 2001 From: Aleksandr Mogylchenko Date: Tue, 6 Dec 2016 19:14:30 +0100 Subject: [PATCH] Allow custom repositories for RabbitMQ container With this change one will be able to set custom RabbitMQ repository and its key, as well as specify custom autocluster location (latter seems ugly, but unfortunately no repository for autocluster yet). Change-Id: Ib3d6536d8c9fe8b8d7c5d13d4481772b66cc9db0 --- docker/rabbitmq/Dockerfile.j2 | 11 +++++++---- docker/rabbitmq/sources.list.debian.j2 | 2 ++ service/files/defaults.yaml | 13 +++++++++++++ 3 files changed, 22 insertions(+), 4 deletions(-) create mode 100644 docker/rabbitmq/sources.list.debian.j2 diff --git a/docker/rabbitmq/Dockerfile.j2 b/docker/rabbitmq/Dockerfile.j2 index dcea56c..e5dfb41 100644 --- a/docker/rabbitmq/Dockerfile.j2 +++ b/docker/rabbitmq/Dockerfile.j2 @@ -14,12 +14,15 @@ RUN apt-get install -t jessie-backports -y --no-install-recommends \ && apt-get clean # We need at least 3.6.6, as it'll contain https://github.com/rabbitmq/rabbitmq-server/pull/892 -RUN curl -Lo /tmp/rabbitmq-server.deb https://github.com/rabbitmq/rabbitmq-server/releases/download/rabbitmq_v3_6_6/rabbitmq-server_3.6.6-1_all.deb \ - && dpkg -i /tmp/rabbitmq-server.deb \ - && rm -rf /tmp/rabbitmq-server.deb /var/lib/rabbitmq/* +COPY {{ render('sources.list.debian.j2') }} /etc/apt/sources.list.d/rabbitmq.list +RUN apt-key adv --recv-keys --keyserver {{ url.rabbitmq.debian.keyserver }} \ + {{ url.rabbitmq.debian.keyid }} \ + && apt-get update \ + && apt-get install -y rabbitmq-server={{ rabbitmq_version }} \ + && rm -rf /var/lib/rabbitmq/* # `cp` is needed until https://github.com/rabbitmq/rabbitmq-server/pull/1016 is merged -RUN curl -Lo /tmp/rabbitmq-autocluster.deb https://github.com/Mirantis/rabbitmq-autocluster/releases/download/0.6.1.950/rabbitmq-autocluster_0.6.1.950-1_all.deb \ +RUN curl -Lo /tmp/rabbitmq-autocluster.deb {{ url.autocluster.provider }}/rabbitmq-autocluster_{{ autocluster_version }}_all.deb \ && dpkg -i /tmp/rabbitmq-autocluster.deb \ && cp -v /usr/lib/rabbitmq/plugins/*.ez /usr/lib/rabbitmq/lib/rabbitmq_server-*/plugins/ diff --git a/docker/rabbitmq/sources.list.debian.j2 b/docker/rabbitmq/sources.list.debian.j2 new file mode 100644 index 0000000..d782798 --- /dev/null +++ b/docker/rabbitmq/sources.list.debian.j2 @@ -0,0 +1,2 @@ +# Rabbitmq repo +deb {{ url.rabbitmq.debian.repo }} testing main diff --git a/service/files/defaults.yaml b/service/files/defaults.yaml index be9e755..1495def 100644 --- a/service/files/defaults.yaml +++ b/service/files/defaults.yaml @@ -10,3 +10,16 @@ configs: # How many seconds we give a node before making liveness checks # completely strict node_startup_timeout: 180 + +url: + rabbitmq: + debian: + repo: http://www.rabbitmq.com/debian/ + keyserver: hkps.pool.sks-keyservers.net + keyid: 6B73A36E6026DFCA + autocluster: + provider: https://github.com/Mirantis/rabbitmq-autocluster/releases/download/0.6.1.950 + +versions: + rabbitmq_version: "3.6.6-1" + autocluster_version: "0.6.1.950-1"