@@ -234,6 +234,8 @@ check_st2_host_dependencies() {
234
234
generate_random_passwords () {
235
235
# Generate random password used for MongoDB user authentication
236
236
ST2_MONGODB_PASSWORD=$( head /dev/urandom | tr -dc A-Za-z0-9 | head -c 24 ; echo ' ' )
237
+ # Generate random password used for RabbitMQ user authentication
238
+ ST2_RABBITMQ_PASSWORD=$( head /dev/urandom | tr -dc A-Za-z0-9 | head -c 24 ; echo ' ' )
237
239
}
238
240
239
241
@@ -492,14 +494,7 @@ install_st2_dependencies() {
492
494
if [[ -z " $is_epel_installed " ]]; then
493
495
sudo yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
494
496
fi
495
- sudo yum -y install curl rabbitmq-server
496
-
497
- # Configure RabbitMQ to listen on localhost only
498
- sudo sh -c ' echo "RABBITMQ_NODE_IP_ADDRESS=127.0.0.1" >> /etc/rabbitmq/rabbitmq-env.conf'
499
-
500
- sudo systemctl start rabbitmq-server
501
- sudo systemctl enable rabbitmq-server
502
-
497
+
503
498
# Various other dependencies needed by st2 and installer script
504
499
sudo yum -y install crudini
505
500
@@ -519,6 +514,21 @@ install_st2_dependencies() {
519
514
fi
520
515
}
521
516
517
+ install_rabbitmq () {
518
+ sudo yum -y install curl rabbitmq-server
519
+
520
+ # Configure RabbitMQ to listen on localhost only
521
+ sudo sh -c ' echo "RABBITMQ_NODE_IP_ADDRESS=127.0.0.1" >> /etc/rabbitmq/rabbitmq-env.conf'
522
+
523
+ sudo systemctl start rabbitmq-server
524
+ sudo systemctl enable rabbitmq-server
525
+
526
+ sudo rabbitmqctl add_user stackstorm " ${ST2_RABBITMQ_PASSWORD} "
527
+ sudo rabbitmqctl delete_user guest
528
+ sudo rabbitmqctl set_user_tags stackstorm administrator
529
+ sudo rabbitmqctl set_permissions -p / stackstorm " .*" " .*" " .*"
530
+ }
531
+
522
532
install_mongodb () {
523
533
# Add key and repo for the latest stable MongoDB (4.0)
524
534
sudo rpm --import https://www.mongodb.org/static/pgp/server-4.0.asc
@@ -592,6 +602,10 @@ install_st2() {
592
602
sudo crudini --set /etc/st2/st2.conf database username " stackstorm"
593
603
sudo crudini --set /etc/st2/st2.conf database password " ${ST2_MONGODB_PASSWORD} "
594
604
605
+ # Configure [messaging] section in st2.conf (username password for RabbitMQ access)
606
+ AMQP=" amqp://stackstorm:$ST2_RABBITMQ_PASSWORD @127.0.0.1:5672"
607
+ sudo crudini --set /etc/st2/st2.conf messaging url " ${AMQP} "
608
+
595
609
sudo st2ctl start
596
610
sudo st2ctl reload --register-all
597
611
}
@@ -709,6 +723,7 @@ STEP='Install repoquery tool' && install_yum_utils
709
723
STEP=" Generate random password" && generate_random_passwords
710
724
711
725
STEP=" Install st2 dependencies" && install_st2_dependencies
726
+ STEP=" Install st2 dependencies (RabbitMQ)" && install_rabbitmq
712
727
STEP=" Install st2 dependencies (MongoDB)" && install_mongodb
713
728
STEP=" Install st2" && install_st2
714
729
STEP=" Configure st2 user" && configure_st2_user
0 commit comments