changeset 70:177b341be057

Put only required settings into rc variables for uwsginl. Change the order of flags and configuration files to allow overwriting of variables.
author Franz Glasner <fzglas.hg@dom66.de>
date Sat, 16 Nov 2019 14:13:00 +0100
parents 87e6b8367489
children 87c0189b3437
files uwsginl/files/uwsginl.in
diffstat 1 files changed, 16 insertions(+), 32 deletions(-) [+]
line wrap: on
line diff
--- a/uwsginl/files/uwsginl.in	Wed Nov 06 09:23:07 2019 +0100
+++ b/uwsginl/files/uwsginl.in	Sat Nov 16 14:13:00 2019 +0100
@@ -10,12 +10,6 @@
 #
 # uwsginl_enable (bool):	Set it to "YES" to enable uwsgi
 #				Default is "NO".
-# uwsginl_socket (path/str):	Set the path to the uwsgi unix socket
-#				Default is /tmp/uwsginl.sock.
-# uwsginl_socket_mode (int):	Set the mode of the socket.
-#				Default is 660.
-# uwsginl_socket_owner (str):	Set the owner of the socket.
-#				Default is uwsgi:www.
 # uwsginl_emperor (bool):	Set it to "YES" to run uwsgi in emperor mode
 #				Default is "NO".
 # uwsginl_configfile (path):	Set the path to the config file
@@ -32,8 +26,6 @@
 #				Default is uwsgi.
 # uwsginl_flags (str):		Set the uwsgi command line arguments
 #				Default is "-L".
-# uwsginl_procname (str):	Define to "uWSGI" if you start uwsgi with
-#				--auto-procname option.
 #
 # If you would like to have multiple uWSGI instances running, you can
 # define multiple profiles:
@@ -53,19 +45,16 @@
 
 command=%%PREFIX%%/bin/uwsginl
 
-: ${uwsginl_enable="NO"}
-: ${uwsginl_socket="/tmp/${name}.sock"}
-: ${uwsginl_socket_mode="660"}
-: ${uwsginl_socket_owner="uwsgi:www"}
+: ${uwsginl_enable:="NO"}
+: ${uwsginl_profiles=""}
 : ${uwsginl_configfile="%%PREFIX%%/etc/uwsginl/uwsginl.ini"}
-: ${uwsginl_profiles=""}
 : ${uwsginl_logfile="/var/log/${name}.log"}
 : ${uwsginl_pidfile="/var/run/${name}.pid"}
-: ${uwsginl_uid="uwsgi"}
-: ${uwsginl_gid="uwsgi"}
+: ${uwsginl_uid:="uwsgi"}
+: ${uwsginl_gid:="uwsgi"}
 : ${uwsginl_flags="-L"}
-: ${uwsginl_emperor="NO"}
-: ${uwsginl_vassals_dir="%%PREFIX%%/etc/uwsginl/vassals"}
+: ${uwsginl_emperor:="NO"}
+: ${uwsginl_vassals_dir:="%%PREFIX%%/etc/uwsginl/vassals"}
 
 is_uwsginl_profile() {
 	local profile
@@ -75,7 +64,6 @@
 			return 0
 		fi
 	done
-
 	return 1
 }
 
@@ -86,18 +74,14 @@
 			echo "$0: no such profile defined in uwsginl_profiles."
 		        exit 1
 		fi
-		eval uwsginl_socket=\${uwsginl_${profile}_socket:-"/tmp/${name}-${profile}.sock"}
-		eval uwsginl_socket_mode=\${uwsginl_${profile}_socket_mode:-${uwsginl_socket_mode}}
-		eval uwsginl_socket_owner=\${uwsginl_${profile}_socket_owner:-${uwsginl_socket_owner}}
+		eval uwsginl_configfile=\${uwsginl_${profile}_configfile:-"%%PREFIX%%/etc/uwsginl/uwsginl-${profile}.ini"}
 		eval uwsginl_logfile=\${uwsginl_${profile}_logfile:-"/var/log/${name}-${profile}.log"}
 		eval uwsginl_pidfile=\${uwsginl_${profile}_pidfile:-"/var/run/${name}-${profile}.pid"}
 		eval uwsginl_uid=\${uwsginl_${profile}_uid:-"${uwsginl_uid}"}
 		eval uwsginl_gid=\${uwsginl_${profile}_gid:-"${uwsginl_gid}"}
-		eval uwsginl_flags=\${uwsginl_${profile}_flags:-"${uwsginl_flags}"}
-		eval uwsginl_procname=\${uwsginl_${profile}_procname:-"${uwsginl_procname}"}
+		eval uwsginl_flags=\${uwsginl_${profile}_flags-"${uwsginl_flags}"}
 		eval uwsginl_emperor=\${uwsginl_${profile}_emperor:-"${uwsginl_emperor}"}
-		eval uwsginl_vassals_dir=\${uwsginl_${profile}_vassals_dir:-"${uwsginl_vassals_dir}"}
-		eval uwsginl_configfile=\${uwsginl_${profile}_configfile:-"${uwsginl_configfile}"}
+		eval uwsginl_vassals_dir=\${uwsginl_${profile}_vassals_dir:-"%%PREFIX%%/etc/uwsginl/vassals-${profile}/"}
 	elif [ -n "$1" ]; then
 		for profile in ${uwsginl_profiles}; do
 			echo "Processing ${name} profile: ${profile}"
@@ -119,27 +103,27 @@
 start_precmd()
 {
 	rc_flags=""
-	if [ -e ${uwsginl_configfile} ]; then
-		rc_flags="--ini ${uwsginl_configfile} "
-	fi
 
 	if checkyesno uwsginl_emperor; then
 		echo "Running uWSGI as Emperor. Vassals loaded from "$uwsginl_vassals_dir
 		required_dirs=${uwsginl_vassals_dir}
 		rc_flags=${rc_flags}"--emperor-pidfile ${uwsginl_pidfile} -d ${uwsginl_logfile} --emperor ${uwsginl_vassals_dir}"
 		rc_flags=${rc_flags}" --vassals-set uid=${uwsginl_uid} --vassals-set gid=${uwsginl_gid}"
-		rc_flags=${rc_flags}" --vassals-set chmod-socket=${uwsginl_socket_mode} --vassals-set chown-socket=${uwsginl_socket_owner}"
 	else
-		rc_flags=${rc_flags}"--master  --uid ${uwsginl_uid} --gid ${uwsginl_gid} --pidfile ${uwsginl_pidfile} -d ${uwsginl_logfile}"
-		rc_flags=${rc_flags}" -s ${uwsginl_socket} --chmod-socket=${uwsginl_socket_mode} --chown-socket=${uwsginl_socket_owner}"
+		rc_flags=${rc_flags}"--master --uid ${uwsginl_uid} --gid ${uwsginl_gid} --pidfile ${uwsginl_pidfile} -d ${uwsginl_logfile}"
 	fi
 
 	rc_flags=${rc_flags}" ${uwsginl_flags}"
+
+	# put the configfile last so that all given options can be overwritten
+	if [ -e ${uwsginl_configfile} ]; then
+		rc_flags=${rc_flags}" --ini ${uwsginl_configfile} "
+	fi
 }
 
 stop_postcmd()
 {
-	rm -f ${uwsginl_pidfile} ${uwsginl_socket}
+	rm -f ${uwsginl_pidfile}
 }
 
 reload_precmd()