FROM {{ namespace }}/{{ image_prefix }}base:{{ tag }} MAINTAINER {{ maintainer }} {% block rabbitmq_header %}{% endblock %} {% import "macros.j2" as macros with context %} {{ macros.configure_user(name='rabbitmq') }} {% 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', 'socat', 'logrotate', '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")) }} {% 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 %} {% 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 %} {{ include_footer }} USER rabbitmq