mirror of
				https://github.com/zulip/zulip.git
				synced 2025-11-03 21:43:21 +00:00 
			
		
		
		
	rabbitmqctl ping only checks that the Erlang process is registered with epmd. There’s a window after that where the rabbit app is still starting inside it. Signed-off-by: Anders Kaseorg <anders@zulip.com>
		
			
				
	
	
		
			40 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			40 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
#!/usr/bin/env bash
 | 
						|
#
 | 
						|
# Delete the "guest" default user and replace it with a Zulip user
 | 
						|
# with a real password
 | 
						|
set -eu
 | 
						|
 | 
						|
if [ "$EUID" -eq 0 ]; then
 | 
						|
    sudo=()
 | 
						|
else
 | 
						|
    sudo=(sudo)
 | 
						|
fi
 | 
						|
 | 
						|
# If the RabbitMQ distribution cookie is insecure, reset it and
 | 
						|
# restart RabbitMQ.
 | 
						|
"${sudo[@]}" "$(dirname "$0")/generate-rabbitmq-cookie"
 | 
						|
 | 
						|
RABBITMQ_USERNAME=$("$(dirname "$0")/../get-django-setting" RABBITMQ_USERNAME)
 | 
						|
RABBITMQ_PASSWORD=$("$(dirname "$0")/../get-django-setting" RABBITMQ_PASSWORD)
 | 
						|
 | 
						|
# Wait for RabbitMQ to start up
 | 
						|
retries=29
 | 
						|
# Could use rabbitmqctl await_startup when we upgrade to 3.7.11.
 | 
						|
while ! "${sudo[@]}" rabbitmqctl -q await_online_nodes 1 2>/dev/null; do
 | 
						|
    if ((retries == 29)); then
 | 
						|
        echo "Waiting for RabbitMQ to start up..."
 | 
						|
    fi
 | 
						|
    sleep 1
 | 
						|
    if ! ((retries -= 1)); then
 | 
						|
        "${sudo[@]}" rabbitmqctl -q await_online_nodes 1
 | 
						|
        break
 | 
						|
    fi
 | 
						|
done
 | 
						|
 | 
						|
"${sudo[@]}" rabbitmqctl delete_user "$RABBITMQ_USERNAME" || true
 | 
						|
"${sudo[@]}" rabbitmqctl delete_user zulip || true
 | 
						|
"${sudo[@]}" rabbitmqctl delete_user guest || true
 | 
						|
"${sudo[@]}" rabbitmqctl add_user "$RABBITMQ_USERNAME" "$RABBITMQ_PASSWORD"
 | 
						|
"${sudo[@]}" rabbitmqctl set_user_tags "$RABBITMQ_USERNAME" administrator
 | 
						|
"${sudo[@]}" rabbitmqctl set_permissions -p / "$RABBITMQ_USERNAME" '.*' '.*' '.*'
 |