summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGerhard Lazu <gerhard@lazu.co.uk>2021-07-13 16:32:07 +0100
committerJean-Sébastien Pédron <jean-sebastien@rabbitmq.com>2021-07-22 11:21:11 +0200
commitd2a37749447311c1766c9d7521b80037bd04bfcc (patch)
tree260507edb4222f0f73717b030c24d3feb4a2a407
parentd03f4d2a77e552de52433edaa62e97385c16df0a (diff)
downloadrabbitmq-server-git-d2a37749447311c1766c9d7521b80037bd04bfcc.tar.gz
Build an erlang-release container image that works with cluster-operatormaster-with-tweaks-for-rel
Signed-off-by: Gerhard Lazu <gerhard@lazu.co.uk>
-rw-r--r--Dockerfile15
-rwxr-xr-xdeps/rabbit/scripts/rabbitmq-defaults6
-rw-r--r--erlang-release.mk15
-rw-r--r--relx.config3
-rw-r--r--vm.args.src2
5 files changed, 28 insertions, 13 deletions
diff --git a/Dockerfile b/Dockerfile
index ab500be23f..6696c9e16b 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -25,9 +25,9 @@ WORKDIR ${RABBITMQ_INSTALL_DIR}
# TODO: do not hardcode ERTS version
ENV PATH=${RABBITMQ_INSTALL_DIR}/bin:${RABBITMQ_INSTALL_DIR}/erts-12.0/bin/:$PATH
-ARG RABBITMQ_DATA_DIR=${RABBITMQ_INSTALL_DIR}/var/lib/rabbitmq
-ARG RABBITMQ_CONF_DIR=${RABBITMQ_INSTALL_DIR}/etc/rabbitmq
-ARG RABBITMQ_LOG_DIR=${RABBITMQ_INSTALL_DIR}/var/log/rabbitmq
+ARG RABBITMQ_DATA_DIR=/var/lib/rabbitmq
+ARG RABBITMQ_CONF_DIR=/etc/rabbitmq
+ARG RABBITMQ_LOG_DIR=/var/log/rabbitmq
# Hint that this should be a volume
VOLUME ${RABBITMQ_DATA_DIR}
@@ -38,13 +38,18 @@ RUN echo "Configure rabbitmq system user & group..." \
; useradd --uid 999 --system --home-dir ${RABBITMQ_DATA_DIR} --gid rabbitmq rabbitmq \
; id rabbitmq \
; mkdir -p ${RABBITMQ_DATA_DIR} ${RABBITMQ_CONF_DIR} ${RABBITMQ_LOG_DIR} \
- ; chown -fR rabbitmq:rabbitmq ${RABBITMQ_DATA_DIR} ${RABBITMQ_CONF_DIR} ${RABBITMQ_LOG_DIR} ${RABBITMQ_INSTALL_DIR}/log \
- ; chmod 770 ${RABBITMQ_DATA_DIR} ${RABBITMQ_CONF_DIR} ${RABBITMQ_LOG_DIR} ${RABBITMQ_INSTALL_DIR}/log
+ ; chown -fR rabbitmq:rabbitmq ${RABBITMQ_DATA_DIR} ${RABBITMQ_CONF_DIR} ${RABBITMQ_LOG_DIR} ${RABBITMQ_INSTALL_DIR} \
+ ; chmod 770 ${RABBITMQ_DATA_DIR} ${RABBITMQ_CONF_DIR} ${RABBITMQ_LOG_DIR} ${RABBITMQ_INSTALL_DIR}
# Configure locale
ARG LOCALE=C.UTF-8
ENV LC_ALL=${LOCALE} LC_CTYPE=${LOCALE} LANG=${LOCALE} LANGUAGE=${LOCALE}
+# Replace env vars in vm.args & sys.config
+ENV RELX_REPLACE_OS_VARS=true
+# Default to rabbit, cluster-operator will overwrite this in Kubernetes
+ENV RABBITMQ_NODENAME=rabbit
+
CMD ["RabbitMQ", "console"]
# https://www.rabbitmq.com/networking.html
EXPOSE 1883 4369 5671 5672 8883 15674 15675 25672 61613 61614
diff --git a/deps/rabbit/scripts/rabbitmq-defaults b/deps/rabbit/scripts/rabbitmq-defaults
index 7ba61db428..9db1bf63d4 100755
--- a/deps/rabbit/scripts/rabbitmq-defaults
+++ b/deps/rabbit/scripts/rabbitmq-defaults
@@ -7,11 +7,7 @@
##
### next line potentially updated in package install steps
-if test -f "$RABBITMQ_HOME/bin/RabbitMQ"; then
- SYS_PREFIX=$RABBITMQ_HOME/$RABBITMQ_NODENAME
-else
- SYS_PREFIX=
-fi
+SYS_PREFIX=
export SYS_PREFIX
CLEAN_BOOT_FILE=start_clean
diff --git a/erlang-release.mk b/erlang-release.mk
index 15302f14b0..b8ee349822 100644
--- a/erlang-release.mk
+++ b/erlang-release.mk
@@ -10,15 +10,26 @@ _rel/RabbitMQ/RabbitMQ-$(PROJECT_VERSION).tar.gz:
release: _rel/RabbitMQ/RabbitMQ-$(PROJECT_VERSION).tar.gz
.PHONY: container-image
-container-image:
+container-image: container-image-build container-image-push
+
+.PHONY: container-image-build
+container-image-build:
docker build --progress plain \
--build-arg RABBITMQ_VERSION=$(PROJECT_VERSION) \
--tag pivotalrabbitmq/rabbitmq:erlang-release-$(PROJECT_VERSION) \
.
+
+.PHONY: container-image-push
+container-image-push:
docker push pivotalrabbitmq/rabbitmq:erlang-release-$(PROJECT_VERSION)
.PHONY: container
container:
docker run --interactive --tty --rm \
-p 15672:15672 \
- pivotalrabbitmq/rabbitmq:erlang-release-$(PROJECT_VERSION)
+ pivotalrabbitmq/rabbitmq:erlang-release-$(PROJECT_VERSION) \
+ $(CMD)
+
+.PHONY: clean
+clean:
+ rm -fr _rel
diff --git a/relx.config b/relx.config
index bc28f6294d..34dfce988b 100644
--- a/relx.config
+++ b/relx.config
@@ -10,6 +10,9 @@
{rabbitmq_web_dispatch, none},
{rabbitmq_management, none},
+ {rabbitmq_peer_discovery_common, none},
+ {rabbitmq_peer_discovery_k8s, none},
+
{prometheus, none},
{rabbitmq_prometheus, none},
diff --git a/vm.args.src b/vm.args.src
index 680c8c68aa..ed8ae4a74d 100644
--- a/vm.args.src
+++ b/vm.args.src
@@ -1,5 +1,5 @@
## Name of the node
--sname rabbit
+-name ${RABBITMQ_NODENAME}
## Cookie for distributed erlang
#-setcookie rabbit