@@ -234,6 +234,8 @@ check_st2_host_dependencies() {
234234generate_random_passwords () {
235235 # Generate random password used for MongoDB user authentication
236236 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 ' ' )
237239}
238240
239241
@@ -492,14 +494,7 @@ install_st2_dependencies() {
492494 if [[ -z " $is_epel_installed " ]]; then
493495 sudo yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
494496 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+
503498 # Various other dependencies needed by st2 and installer script
504499 sudo yum -y install crudini
505500
@@ -519,6 +514,21 @@ install_st2_dependencies() {
519514 fi
520515}
521516
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+
522532install_mongodb () {
523533 # Add key and repo for the latest stable MongoDB (4.0)
524534 sudo rpm --import https://www.mongodb.org/static/pgp/server-4.0.asc
@@ -592,6 +602,10 @@ install_st2() {
592602 sudo crudini --set /etc/st2/st2.conf database username " stackstorm"
593603 sudo crudini --set /etc/st2/st2.conf database password " ${ST2_MONGODB_PASSWORD} "
594604
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+
595609 sudo st2ctl start
596610 sudo st2ctl reload --register-all
597611}
@@ -709,6 +723,7 @@ STEP='Install repoquery tool' && install_yum_utils
709723STEP=" Generate random password" && generate_random_passwords
710724
711725STEP=" Install st2 dependencies" && install_st2_dependencies
726+ STEP=" Install st2 dependencies (RabbitMQ)" && install_rabbitmq
712727STEP=" Install st2 dependencies (MongoDB)" && install_mongodb
713728STEP=" Install st2" && install_st2
714729STEP=" Configure st2 user" && configure_st2_user
0 commit comments