-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathserver.sh
executable file
·46 lines (34 loc) · 1.84 KB
/
server.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#!/bin/bash
RABBITMQ_ERLANG_COOKIE='secret cookie here'
RABBITMQ_NETWORK='rabbitmq_debug_network'
# setup network
docker network create ${RABBITMQ_NETWORK}
# setup cluster
docker run -d -v $PWD:/tmp/debug --network "${RABBITMQ_NETWORK}" -e RABBITMQ_ERLANG_COOKIE="${RABBITMQ_ERLANG_COOKIE}" --hostname node1 --name node1 rabbitmq:3-management
docker run -d -v $PWD:/tmp/debug --network "${RABBITMQ_NETWORK}" -e RABBITMQ_ERLANG_COOKIE="${RABBITMQ_ERLANG_COOKIE}" --hostname node2 --name node2 rabbitmq:3-management
docker run -d -v $PWD:/tmp/debug --network "${RABBITMQ_NETWORK}" -e RABBITMQ_ERLANG_COOKIE="${RABBITMQ_ERLANG_COOKIE}" --hostname node3 --name node3 rabbitmq:3-management
sleep 10
until docker exec -it node1 rabbitmqctl await_startup
do
sleep 1
done
docker exec -it node2 rabbitmqctl await_startup
docker exec -it node2 rabbitmqctl stop_app
docker exec -it node2 rabbitmqctl join_cluster rabbit@node1
docker exec -it node2 rabbitmqctl start_app
docker exec -it node3 rabbitmqctl await_startup
docker exec -it node3 rabbitmqctl stop_app
docker exec -it node3 rabbitmqctl join_cluster rabbit@node1
docker exec -it node3 rabbitmqctl start_app
# enable drop_unroutable_metric feature
docker exec -it node1 rabbitmqctl enable_feature_flag drop_unroutable_metric
# setup admin
docker exec -it node1 rabbitmqctl add_user admin administrator
docker exec -it node1 rabbitmqctl set_user_tags admin administrator
docker exec -it node1 rabbitmqctl set_permissions --vhost / admin '.*' '.*' '.*'
# setup user
docker exec -it node1 rabbitmqctl add_user user password
docker exec -it node1 rabbitmqctl set_user_tags user administrator
docker exec -it node1 rabbitmqctl set_permissions --vhost / user '.*' '.*' '.*'
# setup policy
docker exec -it node1 rabbitmqctl set_policy ha '^(?!amq\.).*' '{"ha-mode":"all", "ha-sync-mode": "automatic"}' --priority 10 --apply-to all