kolla/docker/rabbitmq/Dockerfile.j2

67 lines
2.2 KiB
Django/Jinja

FROM {{ namespace }}/{{ image_prefix }}base:{{ tag }}
MAINTAINER {{ maintainer }}
{% block rabbitmq_header %}{% endblock %}
{% import "macros.j2" as macros with context %}
{{ macros.configure_user(name='rabbitmq') }}
{% block rabbitmq_install %}
{% if base_distro in ['centos', 'oraclelinux', 'rhel'] %}
{% set rabbitmq_packages = [
'hostname',
'rabbitmq-server'
] %}
{{ macros.install_packages(rabbitmq_packages | customizable("packages")) }}
{% elif base_distro == 'ubuntu' %}
{% set rabbitmq_packages = [
'erlang-nox',
'http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.5/rabbitmq-server_3.6.5-1_all.deb',
'logrotate',
'socat'
] %}
{{ macros.install_packages(rabbitmq_packages | customizable("packages")) }}
{% elif base_distro == 'debian' %}
{% set rabbitmq_packages = [
'erlang-nox',
'http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.5/rabbitmq-server_3.6.5-1_all.deb'
] %}
{{ macros.install_packages(rabbitmq_packages | customizable("packages")) }}
{% endif %}
{% endblock %}
{% block rabbitmq_install_plugins %}
# NOTE(sdake): the /bin/true unblocks the rabbitmq-plugins tool. Not sure how
# or why. My suspicion is it sends a signal to the parent
# process.
RUN rm -rf /var/lib/rabbitmq/* \
&& ln -s /usr/lib/rabbitmq/lib/rabbitmq_server-3.6.* /usr/lib/rabbitmq/lib/rabbitmq_server-3.6 \
&& curl -o /usr/lib/rabbitmq/lib/rabbitmq_server-3.6/plugins/rabbitmq_clusterer-3.6.x-667f92b0.ez http://www.rabbitmq.com/community-plugins/v3.6.x/rabbitmq_clusterer-3.6.x-667f92b0.ez \
&& /usr/lib/rabbitmq/bin/rabbitmq-plugins enable --offline \
rabbitmq_management \
rabbitmq_clusterer \
&& /bin/true
{% endblock %}
COPY extend_start.sh /usr/local/bin/kolla_extend_start
COPY rabbitmq_sudoers /etc/sudoers.d/kolla_rabbitmq_sudoers
COPY rabbitmq_get_gospel_node.py /usr/local/bin/rabbitmq_get_gospel_node
RUN chmod 755 /usr/local/bin/kolla_extend_start /usr/local/bin/rabbitmq_get_gospel_node \
&& chmod 750 /etc/sudoers.d \
&& chmod 440 /etc/sudoers.d/kolla_rabbitmq_sudoers
{% block rabbitmq_footer %}{% endblock %}
{% block footer %}{% endblock %}
USER rabbitmq