Working systemd instance units.
[lgpl/argeo-commons.git] / dist / argeo-node / rpm / usr / sbin / argeoctl
index bcf597bccfebfe6a23a9201040f371b918441fe3..727ef27f4fbeac9d763062c19c8c2394e6b9cec7 100755 (executable)
@@ -1,15 +1,44 @@
 #!/bin/sh
 APP=argeo
 
+if [ -z "$2" ]; then
+# Default node
+CONF_DIR=/etc/$APP
+EXEC_DIR=/var/lib/$APP
+else
+# Instance
+INSTANCE=$2
+       if [ -z "$STATE_DIRECTORY" ]; then
+       INSTANCE_DIR=/var/lib/$APP.d/$INSTANCE
+       else
+       # systemd StateDirectory=
+       INSTANCE_DIR=$STATE_DIRECTORY
+       fi
+       if [ -z "$CONFIGURATION_DIRECTORY" ]; then
+       CONF_DIR=/etc/$APP.d/$INSTANCE
+       else
+       # systemd ConfigurationDirectory=
+       CONF_DIR=$CONFIGURATION_DIRECTORY
+       fi
+       
+EXEC_DIR=$INSTANCE_DIR
+
+       if [ ! -f $CONF_DIR/$APP.ini ]; then
+       cp /etc/$APP/$APP.ini $CONF_DIR
+       fi
+       if [ ! -f $CONF_DIR/log4j.properties ]; then
+       cp /etc/$APP/log4j.properties $CONF_DIR
+       fi
+fi
+
 JVM=java
 
 # Directories and files
-CONF_DIR=/etc/$APP
-CONF_DIRS=/etc/$APP/conf.d
+
 BASE_POLICY_ALL=/usr/share/$APP/all.policy
 BASE_CONFIG_INI=/usr/share/$APP/config.ini
 
-EXEC_DIR=/var/lib/$APP
+CONF_DIRS=$CONF_DIR/conf.d
 DATA_DIR=$EXEC_DIR/data
 CONF_RW=$EXEC_DIR/state
 CONFIG_INI=$CONF_RW/config.ini