From f7c796c0022d70f741d943a0d170662ea4508d2d Mon Sep 17 00:00:00 2001 From: pvincent Date: Sun, 20 Oct 2024 23:22:41 +0400 Subject: [PATCH] limesurvey data provided by configuration --- recipes/limesurvey/crud.sh | 27 +++++++++++++++++--- recipes/odoo12/crud.sh | 4 +-- recipes/odoo15/crud.sh | 4 +-- scripts/miaou | 3 +++ templates/apps/limesurvey/limesurvey-host.j2 | 4 +-- 5 files changed, 32 insertions(+), 10 deletions(-) diff --git a/recipes/limesurvey/crud.sh b/recipes/limesurvey/crud.sh index ce3c37b..06b7112 100755 --- a/recipes/limesurvey/crud.sh +++ b/recipes/limesurvey/crud.sh @@ -28,6 +28,16 @@ function _create() { echo "creating limesurvey instance for <$shortname> ..." + admin_username=$(echo -e "$data" | yq '.admin.username') + [[ $admin_username = 'null' ]] && echoerr "limesurver recipe requires \`data:admin:username\` into miaou.yaml service definition of <$fqdn>" && exit 1 + + admin_email=$(echo -e "$data" | yq '.admin.email') + [[ $admin_email = 'null' ]] && echoerr "limesurver recipe requires \`data:admin:email\` into miaou.yaml service definition of <$fqdn>" && exit 1 + echo "admin_email = [$admin_email]" + + admin_password=$(echo -e "$data" | yq '.admin.password') + [[ $admin_password = 'null' ]] && echoerr "limesurver recipe requires \`data:admin:password\` into miaou.yaml service definition of <$fqdn>" && exit 1 + mkdir -p "$MIAOU_CONFIGDIR/apps/limesurvey" APP_PORT=$port APP_NAME=$shortname tera -e --env-key env -t "$MIAOU_BASEDIR/templates/apps/limesurvey/limesurvey-host.j2" -o "$MIAOU_CONFIGDIR/apps/limesurvey/$shortname.conf" "$MIAOU_CONFIGDIR/miaou.expanded.yaml" echo "creating templates ... OK" @@ -85,14 +95,15 @@ return array( 'config'=>array( 'debug'=>0, 'debugsql'=>0, // Set this to 1 to enanble sql logging, only active when debug = 2 - 'mysqlEngine' => 'MYISAM', + 'mysqlEngine' => 'MYISAM', + 'force_ssl'=> true, ) ); EOT2 echo 'initializing admin...' cd /var/www/limesurvey/$shortname/application/commands set +e - php console.php install pvincent reunion pvincent pvincent@arcode.re + php console.php install $admin_username $admin_password $admin_username $admin_email [[ \$? -ne 0 ]] && echo 'already initialized!' set -e echo OK @@ -134,16 +145,18 @@ COMMAND_NAME=$(basename "$0") # read the options -TEMP=$(getopt -n "$COMMAND_NAME" -o crud --long port:,container:,name:,fqdn:,domain:,subdomain: -- "$@") +TEMP=$(getopt -n "$COMMAND_NAME" -o crud --long port:,container:,name:,fqdn:,domain:,subdomain:,data: -- "$@") # shellcheck disable=SC2181 [[ "$?" -eq 0 ]] || usage eval set -- "$TEMP" action="unset" port="unset" +fqdn="unset" container="unset" shortname="unset" longname="unset" +data="unset" # extract options and their arguments into variables. while true; do @@ -153,6 +166,7 @@ while true; do shift 2 ;; --fqdn) + fqdn=$2 shift 2 ;; --container) @@ -170,6 +184,10 @@ while true; do --subdomain) shift 2 ;; + --data) + data=$2 + shift 2 + ;; -c) [[ "$action" == "unset" ]] || usage action="_create" @@ -206,5 +224,8 @@ done "$action" != unset && "$port" != unset && "$container" != unset && + "$data" != unset && + "$fqdn" != unset && "$shortname" != unset ]] || usage + $action diff --git a/recipes/odoo12/crud.sh b/recipes/odoo12/crud.sh index ae8f157..f347f5b 100755 --- a/recipes/odoo12/crud.sh +++ b/recipes/odoo12/crud.sh @@ -45,10 +45,10 @@ function _create() { echo "create empty database <$longname> ... OK" admin_username=$(echo -e "$data" | yq '.admin.username') - [[ $admin_username == 'null ' ]] && echoerr "odoo12 recipe requires \`data:admin:username\` into miaou.yaml service definition of <$fqdn>" && exit 1 + [[ $admin_username = 'null' ]] && echoerr "odoo12 recipe requires \`data:admin:username\` into miaou.yaml service definition of <$fqdn>" && exit 1 admin_password=$(echo -e "$data" | yq '.admin.password') - [[ $admin_password == 'null ' ]] && echoerr "odoo12 recipe requires \`data:admin:password\` into miaou.yaml service definition of <$fqdn>" && exit 1 + [[ $admin_password = 'null' ]] && echoerr "odoo12 recipe requires \`data:admin:password\` into miaou.yaml service definition of <$fqdn>" && exit 1 cat < ... OK" admin_username=$(echo -e "$data" | yq '.admin.username') - [[ $admin_username == 'null ' ]] && echoerr "odoo12 recipe requires \`data:admin:username\` into miaou.yaml service definition of <$fqdn>" && exit 1 + [[ $admin_username = 'null' ]] && echoerr "odoo12 recipe requires \`data:admin:username\` into miaou.yaml service definition of <$fqdn>" && exit 1 admin_password=$(echo -e "$data" | yq '.admin.password') - [[ $admin_password == 'null ' ]] && echoerr "odoo12 recipe requires \`data:admin:password\` into miaou.yaml service definition of <$fqdn>" && exit 1 + [[ $admin_password = 'null' ]] && echoerr "odoo12 recipe requires \`data:admin:password\` into miaou.yaml service definition of <$fqdn>" && exit 1 cat <" command="env MIAOU_BASEDIR=$MIAOU_BASEDIR MIAOU_CONFIGDIR=$MIAOU_CONFIGDIR $recipe --port $port --container $container --name $name --fqdn $fqdn --domain $domain --subdomain $subdomain" [[ "$data" != "null" ]] && command+=" --data \"$data\"" + + # eval "$command -r" # USEFUL for debugging when read fails!!! + if ! eval "$command -r" >/dev/null; then echoinfo "CREATE RECIPE" diff --git a/templates/apps/limesurvey/limesurvey-host.j2 b/templates/apps/limesurvey/limesurvey-host.j2 index 7543748..6309b24 100644 --- a/templates/apps/limesurvey/limesurvey-host.j2 +++ b/templates/apps/limesurvey/limesurvey-host.j2 @@ -1,8 +1,6 @@ server { - listen {{ env.APP_PORT }}; - server_name localhost; + listen {{ env.APP_PORT }} default_server; root /var/www/limesurvey/{{ env.APP_NAME }}; - index index.php; location / {