42 lines
1.5 KiB
Bash
42 lines
1.5 KiB
Bash
#!/bin/bash
|
|
|
|
# this script installs ansible and rundeck on a
|
|
# vanilla debian 11
|
|
# RUN AS ROOT!
|
|
|
|
apt update
|
|
apt -y upgrade
|
|
apt install -y python3 pip sudo wget curl
|
|
useradd -m -G sudo -s /bin/bash rundeck
|
|
# passwd rundeck
|
|
pip install ansible
|
|
|
|
curl https://raw.githubusercontent.com/rundeck/packaging/main/scripts/deb-setup.sh 2> /dev/null | sudo bash -s rundeck
|
|
apt update
|
|
apt -y install rundeck
|
|
sed -i s/localhost/`hostname`/g /etc/rundeck/framework.properties
|
|
sed -i s/localhost/`hostname`/g /etc/rundeck/rundeck-config.properties
|
|
|
|
# optional: move to mariadb
|
|
|
|
# install mariadb
|
|
apt install -y mariadb-server
|
|
# create rundeck db
|
|
mysql -u root -e 'create database rundeck'
|
|
# create user, random pass and grant access
|
|
RANDOMPASSWORD=`date +%s | sha256sum | base64 | head -c 32`
|
|
mysql -u root -e "create user rundeck@localhost identified by '$RANDOMPASSWORD'"
|
|
mysql -u root -e 'grant ALL on rundeck.* to rundeck@localhost'
|
|
# update the rundeck config
|
|
sed -i s/^dataSource.url/\#dataSource.url/g /etc/rundeck/rundeck-config.properties
|
|
echo 'dataSource.driverClassName = org.mariadb.jdbc.Driver'>>/etc/rundeck/rundeck-config.properties
|
|
echo 'dataSource.url = jdbc:mysql://localhost/rundeck?autoReconnect=true&useSSL=false' >>/etc/rundeck/rundeck-config.properties
|
|
echo 'dataSource.username = rundeck' >>/etc/rundeck/rundeck-config.properties
|
|
echo "dataSource.password = $RANDOMPASSWORD" >>/etc/rundeck/rundeck-config.properties
|
|
RANDOMPASSWORD="nothing here"
|
|
|
|
# start rundeck services
|
|
|
|
/etc/init.d/rundeckd start
|
|
systemctl enable rundeckd
|