#!/bin/sh
set -e

acct=$1
logacct=$2
sslacct=$3
dir=$4
webroot=$5
myip=$6
sv=${4##*/}

if test x"$webroot" = x; then
  echo "fnord-ssl-conf: usage: fnord-ssl-conf acct logacct sslacct /fnord-ssl /webroot [ myip ]" >&2
  exit 1;
fi

# install stuff
mkdir -p "$dir"
if test -e /var/run/sv."$sv"; then
  echo "fatal: /var/run/sv.$sv must not exist." >&2
  exit 2
fi
ln -s /var/run/sv."$sv" "$dir"/supervise
mkdir "$dir"/env
mkdir "$dir"/sslio
cat <<-EOT >"$dir"/run
	#!/bin/sh
	cd $webroot
	exec chpst -m3000000 -U$acct -e$dir/env \\
	  tcpsvd -l0 ${myip:-0} 443 \\
	    sslio -u$sslacct -/$dir/sslio -C/cert.pem fnord 2>&1
	EOT
chmod 755 "$dir"/run
echo 1 >"$dir"/env/COLF
echo 1 >"$dir"/env/COLF_COMBINED
echo 'https://' >"$dir"/env/PROTOURL

# tell old daemontools that it should spawn a log process, too
chmod a+t "$dir"

# install logging stuff
mkdir "$dir"/log
if test -e /var/run/sv."$sv".log; then
  echo "fatal: /var/run/sv.$sv.log must not exist." >&2
  exit 2
fi
ln -s /var/run/sv."$sv".log "$dir"/log/supervise
cat <<-EOT >"$dir"/log/run
	#!/bin/sh
	exec chpst -u$logacct svlogd -tt ./main
	EOT
chmod 755 "$dir"/log/run

mkdir /var/log/"$sv"
chown "$logacct":adm /var/log/"$sv"
ln -s /var/log/"$sv" "$dir"/log/main
