diff --git a/README.md b/README.md index 64a3d6b..0fee499 100644 --- a/README.md +++ b/README.md @@ -60,6 +60,8 @@ RUNDECK_GID - The unix group ID to be used for the rundeck account when rundeck RUNDECK_WITH_SSL - Enable SSL +RUNDECK_USER - MySQL 'rundeck' username + RUNDECK_PASSWORD - MySQL 'rundeck' user password RUNDECK_ADMIN_PASSWORD - The rundeck server admin password diff --git a/content/opt/run b/content/opt/run index 1d7dd3e..57d31ab 100644 --- a/content/opt/run +++ b/content/opt/run @@ -59,7 +59,8 @@ if [ ! -f "${initfile}" ]; then fi DATABASE_URL=${DATABASE_URL:-"jdbc:mysql://localhost/rundeckdb?autoReconnect=true"} - DATABASE_DRIVER=${DATABASE_DRIVER:-"com.mysql.jdbc.Driver"} + DATABASE_DRIVER=${DATABASE_DRIVER:-"org.mariadb.jdbc.Driver"} + RUNDECK_USER=${RUNDECK_USER:-"rundeck"} RUNDECK_PASSWORD=${RUNDECK_PASSWORD:-$(pwgen -s 15 1)} DATABASE_ADMIN_PASSWORD=${DATABASE_ADMIN_PASSWORD:-${RUNDECK_PASSWORD}} DATABASE_ADMIN_USER=${DATABASE_ADMIN_USER:-rundeck} @@ -117,7 +118,7 @@ if [ ! -f "${initfile}" ]; then ( echo "CREATE DATABASE IF NOT EXISTS rundeckdb;" - echo "GRANT SELECT, INSERT, UPDATE, DELETE, DROP, CREATE, CREATE VIEW, ALTER, INDEX, EXECUTE ON rundeckdb.* TO 'rundeck'@'localhost' IDENTIFIED BY '${RUNDECK_PASSWORD}';" + echo "GRANT SELECT, INSERT, UPDATE, DELETE, DROP, CREATE, CREATE VIEW, ALTER, INDEX, EXECUTE ON rundeckdb.* TO '${RUNDECK_USER}'@'localhost' IDENTIFIED BY '${RUNDECK_PASSWORD}';" echo "quit" ) | mysql @@ -138,7 +139,7 @@ if [ ! -f "${initfile}" ]; then echo "=>Initializing remote MySQL setup" ( echo "CREATE DATABASE IF NOT EXISTS rundeckdb;" - echo "GRANT SELECT, INSERT, UPDATE, DELETE, DROP, CREATE, CREATE VIEW, ALTER, INDEX, EXECUTE ON rundeckdb.* TO 'rundeck'@'%' IDENTIFIED BY '${RUNDECK_PASSWORD}';" + echo "GRANT SELECT, INSERT, UPDATE, DELETE, DROP, CREATE, CREATE VIEW, ALTER, INDEX, EXECUTE ON rundeckdb.* TO '${RUNDECK_USER}'@'%' IDENTIFIED BY '${RUNDECK_PASSWORD}';" echo "quit" ) | mysql --host=${MYSQL_SERVER_NODE} --port=${MYSQL_SERVER_PORT} --user=${DATABASE_ADMIN_USER} --password=${DATABASE_ADMIN_PASSWORD} @@ -176,7 +177,7 @@ if [ ! -f "${initfile}" ]; then fi sed -i 's,dataSource.dbCreate.*,,g' /etc/rundeck/rundeck-config.properties - sed -i 's,dataSource.url = .*,dataSource.url = '${DATABASE_URL}',g' /etc/rundeck/rundeck-config.properties + sed -i 's,dataSource.url = .*,dataSource.url = '${DATABASE_URL//\&/\\\&}',g' /etc/rundeck/rundeck-config.properties if grep -q dataSource.driverClassName /etc/rundeck/rundeck-config.properties ; then sed -i 's,dataSource.driverClassName = .*,dataSource.driverClassName = '${DATABASE_DRIVER}',g' /etc/rundeck/rundeck-config.properties else @@ -185,7 +186,7 @@ if [ ! -f "${initfile}" ]; then if grep -q dataSource.username /etc/rundeck/rundeck-config.properties ; then : else - echo -e "\ndataSource.username = rundeck" >> /etc/rundeck/rundeck-config.properties + echo -e "\ndataSource.username = ${RUNDECK_USER}" >> /etc/rundeck/rundeck-config.properties fi if grep -q dataSource.password /etc/rundeck/rundeck-config.properties ; then sed -i 's,dataSource.password = .*,dataSource.password = '${RUNDECK_PASSWORD}',g' /etc/rundeck/rundeck-config.properties @@ -327,7 +328,7 @@ if [ ! -f "${initfile}" ]; then else echo "MySQL user 'root' has no password but only allows local connections" fi - echo "MySQL user 'rundeck' password set to ${RUNDECK_PASSWORD}" + echo "MySQL user '${RUNDECK_USER}' password set to ${RUNDECK_PASSWORD}" echo "Rundeck project storage type set to ${RUNDECK_PROJECT_STORAGE_TYPE}" echo "Rundeck Storage provider set to ${RUNDECK_STORAGE_PROVIDER}" echo "Rundeck public key:" diff --git a/content/opt/rundeck-defaults/rundeck-config.properties b/content/opt/rundeck-defaults/rundeck-config.properties index b317f03..a7d1e0b 100644 --- a/content/opt/rundeck-defaults/rundeck-config.properties +++ b/content/opt/rundeck-defaults/rundeck-config.properties @@ -7,7 +7,7 @@ rss.enabled=false # change hostname here #grails.serverURL= -dataSource.driverClassName = com.mysql.jdbc.Driver +dataSource.driverClassName = org.mariadb.jdbc.Driver dataSource.url = jdbc:mysql://localhost/rundeckdb?autoReconnect=true dataSource.username = rundeck dataSource.password = rundeck