description "Hush Daemon" start on runlevel [2345] stop on starting rc RUNLEVEL=[016] env HUSHD_BIN="/usr/bin/hushd" env HUSHD_USER="hush" env HUSHD_GROUP="hush" env HUSHD_PIDDIR="/var/run/hushd" # upstart can't handle variables constructed with other variables env HUSHD_PIDFILE="/var/run/hushd/hushd.pid" env HUSHD_CONFIGFILE="/etc/hush/hush.conf" env HUSHD_DATADIR="/var/lib/hushd" expect fork respawn respawn limit 5 120 kill timeout 60 pre-start script # this will catch non-existent config files # hushd will check and exit with this very warning, but it can do so # long after forking, leaving upstart to think everything started fine. # since this is a commonly encountered case on install, just check and # warn here. if ! grep -qs '^rpcpassword=' "$HUSHD_CONFIGFILE" ; then echo "ERROR: You must set a secure rpcpassword to run hushd." echo "The setting must appear in $HUSHD_CONFIGFILE" echo echo "This password is security critical to securing wallets " echo "and must not be the same as the rpcuser setting." echo "You can generate a suitable random password using the following" echo "command from the shell:" echo echo "bash -c 'tr -dc a-zA-Z0-9 < /dev/urandom | head -c32 && echo'" echo exit 1 fi mkdir -p "$HUSHD_PIDDIR" chmod 0755 "$HUSHD_PIDDIR" chown $HUSHD_USER:$HUSHD_GROUP "$HUSHD_PIDDIR" chown $HUSHD_USER:$HUSHD_GROUP "$HUSHD_CONFIGFILE" chmod 0660 "$HUSHD_CONFIGFILE" end script exec start-stop-daemon \ --start \ --pidfile "$HUSHD_PIDFILE" \ --chuid $HUSHD_USER:$HUSHD_GROUP \ --exec "$HUSHD_BIN" \ -- \ -pid="$HUSHD_PIDFILE" \ -conf="$HUSHD_CONFIGFILE" \ -datadir="$HUSHD_DATADIR" \ -disablewallet \ -daemon