|
1 | 1 | #!/usr/bin/env bash |
2 | 2 |
|
3 | | -LOCAL_SCRIPT="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" |
4 | | - |
5 | | -RABBITMQ_IMAGE=${RABBITMQ_IMAGE:-rabbitmq:4.0} |
| 3 | +export RABBITMQ_IMAGE=${RABBITMQ_IMAGE:-rabbitmq:4.0} |
6 | 4 |
|
7 | 5 | wait_for_message() { |
8 | 6 | while ! docker logs "$1" | grep -q "$2"; |
9 | 7 | do |
10 | | - sleep 5 |
11 | | - echo "Waiting 5 seconds for $1 to start..." |
| 8 | + sleep 2 |
| 9 | + echo "Waiting 2 seconds for $1 to start..." |
12 | 10 | done |
13 | 11 | } |
14 | 12 |
|
15 | | -make -C "${PWD}"/tls-gen/basic |
16 | | - |
17 | | -mv tls-gen/basic/result/server_$(hostname -s)_certificate.pem tls-gen/basic/result/server_certificate.pem |
18 | | -mv tls-gen/basic/result/server_$(hostname -s)_key.pem tls-gen/basic/result/server_key.pem |
19 | | -mv tls-gen/basic/server_$(hostname -s) tls-gen/basic/server |
20 | | -mv tls-gen/basic/client_$(hostname -s) tls-gen/basic/client |
21 | | - |
22 | 13 | rm -rf rabbitmq-configuration |
23 | 14 | mkdir -p rabbitmq-configuration/tls |
24 | 15 |
|
25 | | -cp -R "${PWD}"/tls-gen/basic/* rabbitmq-configuration/tls |
26 | | -chmod -R o+r rabbitmq-configuration/tls/* |
27 | | -chmod -R g+r rabbitmq-configuration/tls/* |
28 | | -./mvnw -q clean resources:testResources -Dtest-tls-certs.dir=/etc/rabbitmq/tls |
29 | | -cp target/test-classes/ [email protected] rabbitmq-configuration/ [email protected] |
30 | | -cp target/test-classes/ [email protected] rabbitmq-configuration/ [email protected] |
31 | | - |
32 | | -echo "Running RabbitMQ ${RABBITMQ_IMAGE}" |
33 | | - |
34 | | -docker rm -f rabbitmq 2>/dev/null || echo "rabbitmq was not running" |
35 | | -docker run -d --name rabbitmq \ |
36 | | - --network host \ |
37 | | - -v "${PWD}"/rabbitmq-configuration:/etc/rabbitmq \ |
38 | | - --env RABBITMQ_CONFIG_FILE=/etc/rabbitmq/ [email protected] \ |
39 | | - --env RABBITMQ_NODENAME=rabbit@$(hostname) \ |
40 | | - --env RABBITMQ_NODE_PORT=5672 \ |
41 | | - --env RABBITMQ_SERVER_ADDITIONAL_ERL_ARGS="-setcookie do-not-do-this-in-production" \ |
42 | | - "${RABBITMQ_IMAGE}" |
43 | | - |
44 | | -# for CLI commands to share the same cookie |
45 | | -docker exec rabbitmq bash -c "echo 'do-not-do-this-in-production' > /var/lib/rabbitmq/.erlang.cookie" |
46 | | -docker exec rabbitmq chmod 0600 /var/lib/rabbitmq/.erlang.cookie |
47 | | - |
48 | | -wait_for_message rabbitmq "completed with" |
49 | | - |
50 | | -docker run -d --name hare \ |
51 | | - --network host \ |
52 | | - -v "${PWD}"/rabbitmq-configuration:/etc/rabbitmq \ |
53 | | - --env RABBITMQ_CONFIG_FILE=/etc/rabbitmq/ [email protected] \ |
54 | | - --env RABBITMQ_NODENAME=hare@$(hostname) \ |
55 | | - --env RABBITMQ_NODE_PORT=5673 \ |
56 | | - --env RABBITMQ_SERVER_ADDITIONAL_ERL_ARGS="-setcookie do-not-do-this-in-production" \ |
57 | | - "${RABBITMQ_IMAGE}" |
58 | | - |
59 | | -# for CLI commands to share the same cookie |
60 | | -docker exec hare bash -c "echo 'do-not-do-this-in-production' > /var/lib/rabbitmq/.erlang.cookie" |
61 | | -docker exec hare chmod 0600 /var/lib/rabbitmq/.erlang.cookie |
| 16 | +make -C "${PWD}"/tls-gen/basic |
62 | 17 |
|
63 | | -wait_for_message hare "completed with" |
| 18 | +rm -rf rabbitmq-configuration |
| 19 | +mkdir -p rabbitmq-configuration/tls |
| 20 | +cp -R "${PWD}"/tls-gen/basic/result/* rabbitmq-configuration/tls |
| 21 | +chmod o+r rabbitmq-configuration/tls/* |
| 22 | +chmod g+r rabbitmq-configuration/tls/* |
64 | 23 |
|
65 | | -docker exec hare rabbitmqctl --node hare@$(hostname) status |
66 | 24 |
|
67 | | -docker exec rabbitmq rabbitmq-diagnostics --node rabbit@$(hostname) is_running |
68 | | -docker exec hare rabbitmq-diagnostics --node hare@$(hostname) is_running |
| 25 | +docker compose --file ci/cluster/docker-compose.yml down |
| 26 | +docker compose --file ci/cluster/docker-compose.yml up --detach |
69 | 27 |
|
70 | | -docker exec hare rabbitmqctl --node hare@$(hostname) stop_app |
71 | | -docker exec hare rabbitmqctl --node hare@$(hostname) join_cluster rabbit@$(hostname) |
72 | | -docker exec hare rabbitmqctl --node hare@$(hostname) start_app |
| 28 | +wait_for_message rabbitmq0 "completed with" |
73 | 29 |
|
74 | | -sleep 10 |
| 30 | +docker exec rabbitmq0 rabbitmqctl await_online_nodes 3 |
75 | 31 |
|
76 | | -docker exec hare rabbitmqctl --node hare@$(hostname) await_startup |
| 32 | +docker exec rabbitmq0 rabbitmqctl enable_feature_flag --opt-in khepri_db |
| 33 | +docker exec rabbitmq1 rabbitmqctl enable_feature_flag --opt-in khepri_db |
| 34 | +docker exec rabbitmq2 rabbitmqctl enable_feature_flag --opt-in khepri_db |
77 | 35 |
|
78 | | -docker exec hare rabbitmqctl --node hare@$(hostname) enable_feature_flag --opt-in khepri_db |
79 | | -docker exec rabbitmq rabbitmqctl --node rabbit@$(hostname) enable_feature_flag --opt-in khepri_db |
| 36 | +docker exec rabbitmq0 rabbitmqctl cluster_status |
80 | 37 |
|
81 | | -docker exec rabbitmq rabbitmq-diagnostics --node rabbit@$(hostname) erlang_version |
82 | | -docker exec rabbitmq rabbitmqctl --node rabbit@$(hostname) version |
83 | | -docker exec rabbitmq rabbitmqctl --node rabbit@$(hostname) status |
84 | | -docker exec rabbitmq rabbitmqctl --node rabbit@$(hostname) cluster_status |
| 38 | +docker compose --file ci/cluster/docker-compose.yml ps |
0 commit comments