#!/bin/bash

set -eux

install-packages rabbitmq-server

FILES="$(dirname $0)/../files"

if [ "$DISTRO_NAME" = "ubuntu" ] || [ "$DISTRO_NAME" = "debian" ]; then
    # Prevent rabbitmq-server from starting automatically
    update-rc.d -f rabbitmq-server disable
fi

if [ "$DIB_INIT_SYSTEM" = "systemd" ]; then
    # Delay the rc-local.service start-up until rabbitmq-server.service is started up
    sed -i 's/\[Unit\]/\[Unit\]\nBefore=rc-local.service/g' /lib/systemd/system/rabbitmq-server.service

    # Respawn rabbitmq-server in case the process exits with an nonzero exit code
    sed -i 's/\[Service\]/\[Service\]\nRestart=on-failure/g' /lib/systemd/system/rabbitmq-server.service
fi

FILE=/etc/rabbitmq/rabbitmq-env.conf
install -g root -o root -m 0755 "${FILES}${FILE}" "${FILE}"

# Enable ulimits in pam if needed
PAM_FILE=/etc/pam.d/su
sed -i '/# session.*pam_limits\.so/s/# //' ${PAM_FILE}

# Reserve the cluster port (61000) from the ephemeral port range.
sysctl-append-value net.ipv4.ip_local_reserved_ports 61000
