Skip to content

Commit

Permalink
for #740, some setup vaguely working on fedora39, more testing required,
Browse files Browse the repository at this point in the history
but it is a start.
  • Loading branch information
petersilva committed Jan 6, 2024
1 parent a82a9d2 commit 687b316
Showing 1 changed file with 134 additions and 0 deletions.
134 changes: 134 additions & 0 deletions travis/flow_autoconfig_redhat.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,134 @@
# Flow Test Autoconfig
#
# Script not meant to be run on personal machines (may break some configs)
# Intended use case is a fresh sys (tested on ubuntu18.04desktop)
# which can easily be run in a virtualbox VM.

#
# STATUS: EXPERIMENTAL... not actually working...
# testing with fedora39

# Install and configure dependencies
#sudo apt-key adv --keyserver "hkps.pool.sks-keyservers.net" --recv-keys "0x6B73A36E6026DFCA"
#sudo add-apt-repository -y ppa:ssc-hpc-chp-spc/metpx
#sudo apt update
#sudo apt upgrade

sudo dnf install -y python3-setuptools python3-magic

#sudo apt -y install metpx-libsr3c metpx-libsr3c-dev metpx-sr3c
#sudo apt -y install metpx-libsr3c metpx-libsr3c-dev metpx-sr3c

sudo dnf install -y erlang findutils git librabbitmq net-tools python3-pip rabbitmq-server
sudo dnf install -y wget

sudo dnf install -y python3-devel
sudo dnf install -y rpmdevtools rpmlint

#sudo dnf install xattr
#sudo dnf install openssh-client openssh-server

pip3 install -U pip
pip3 install pyftpdlib paramiko net-tools

# The dependencies that are installed using apt are only available to system default Python versions (e.g. Python 3.8 on Ubuntu 20.04)
# If we are testing on a non-default Python version, we need to ensure these dependencies are still installed, so we use pip.
# See issue #407, #445.
for PKG in amqp appdirs dateparser watchdog netifaces humanize jsonpickle paho-mqtt psutil xattr rangehttpserver; do
PKG_INSTALLED="`pip3 list | grep ${PKG}`"
if [ "$?" == "0" ] ; then
echo "$PKG is already installed"
else
pip3 install ${PKG}
fi
done

# in case it was installed as a dependency.
sudo apt -y remove metpx-sr3

pip3 install -e .

# Setup basic configs
mkdir -p ~/.config/sarra ~/.config/sr3

cat > ~/.config/sarra/default.conf << EOF
expire 7h
declare env FLOWBROKER=localhost
declare env SFTPUSER=${USER}
declare env TESTDOCROOT=${HOME}/sarra_devdocroot
declare env MQP=amqp
declare env several=3
logEvents after_accept,after_work,on_housekeeping,post,after_post
EOF
cp ~/.config/sarra/default.conf ~/.config/sr3


ADMIN_PASSWORD=$(openssl rand -hex 6)
OTHER_PASSWORD=$(openssl rand -hex 6)
cat > ~/.config/sarra/credentials.conf << EOF
amqp://bunnymaster:${ADMIN_PASSWORD}@localhost/
amqp://tsource:${OTHER_PASSWORD}@localhost/
amqp://tsub:${OTHER_PASSWORD}@localhost/
amqp://tfeed:${OTHER_PASSWORD}@localhost/
amqp://anonymous:${OTHER_PASSWORD}@localhost/
amqps://anonymous:anonymous@dd.weather.gc.ca
amqps://anonymous:anonymous@dd1.weather.gc.ca
amqps://anonymous:anonymous@dd2.weather.gc.ca
amqps://anonymous:anonymous@hpfx.collab.science.gc.ca
ftp://anonymous:anonymous@localhost:2121/
EOF
cp ~/.config/sarra/credentials.conf ~/.config/sr3

cat > ~/.config/sarra/admin.conf << EOF
cluster localhost
admin amqp://bunnymaster@localhost/
feeder amqp://tfeed@localhost/
declare source tsource
declare subscriber tsub
declare subscriber anonymous
EOF
cp ~/.config/sarra/admin.conf ~/.config/sr3

echo

check_wsl=$(ps --no-headers -o comm 1)

# Manage RabbitMQ
if [[ $(($check_wsl == "init" )) ]]; then
sudo service rabbitmq-server restart
else
sudo systemctl restart rabbitmq-server
fi
sudo rabbitmq-plugins enable rabbitmq_management

sudo rabbitmqctl delete_user guest

for USER_NAME in "bunnymaster" "tsource" "tsub" "tfeed" "anonymous"; do
sudo rabbitmqctl delete_user ${USER_NAME}
done

sudo rabbitmqctl add_user bunnymaster ${ADMIN_PASSWORD}
sudo rabbitmqctl set_permissions bunnymaster ".*" ".*" ".*"
sudo rabbitmqctl set_user_tags bunnymaster administrator

echo

if [[ $(($check_wsl == "init" )) ]]; then
sudo service rabbitmq-server restart
else
sudo systemctl restart rabbitmq-server
fi

cd /usr/local/bin
sudo mv rabbitmqadmin rabbitmqadmin.1
sudo wget http://localhost:15672/cli/rabbitmqadmin
sudo chmod 755 rabbitmqadmin
cd

echo

# Configure users
sr3 --users declare
echo "dir: +${PWD}+"
git clone https://github.com/MetPX/sr_insects

0 comments on commit 687b316

Please sign in to comment.