#!/bin/bash -e

ROOT=$PWD/root

# Check for tree binary
TREE=$(which tree || echo "ls -1R")

if [ -d $ROOT ]; then
  echo "# Cleanup"
  echo "# rm -rf $ROOT"
  rm -rf $ROOT
  echo
fi

echo "# Creating $ROOT"
echo "mkdir $ROOT"
mkdir $ROOT

echo
echo "# taskd init --data $ROOT"
../../src/taskd init --data $ROOT

echo "# taskd add --data $ROOT org Public"
../../src/taskd add --data $ROOT org Public

echo "# taskd add --data $ROOT org 'ABC Corp'"
../../src/taskd add --data $ROOT org 'ABC Corp'

echo "# taskd add --data $ROOT group 'Public' 'Group Name'"
../../src/taskd add --data $ROOT group 'Public' 'Group Name'

echo "# taskd add --data $ROOT user 'Public' 'User Name'"
../../src/taskd add --data $ROOT user 'Public' 'User Name'

echo "# taskd add --data $ROOT user 'Public' 'USER'"
../../src/taskd add --data $ROOT user --quiet 'Public' 'USER' > ../client/user.key
cat ../client/user.key

echo "# taskd suspend --data $ROOT org 'ABC Corp'"
../../src/taskd suspend --data $ROOT org "ABC Corp"

# Install the cert and key.
echo
echo "# Configuration"
echo "# cp ../../pki/client.cert.pem $ROOT"
cp ../../pki/client.cert.pem $ROOT
echo "# cp ../../pki/client.key.pem $ROOT"
cp ../../pki/client.key.pem $ROOT
echo "# cp ../../pki/server.cert.pem $ROOT"
cp ../../pki/server.cert.pem $ROOT
echo "# cp ../../pki/server.key.pem $ROOT"
cp ../../pki/server.key.pem $ROOT
echo "# cp ../../pki/server.crl.pem $ROOT"
cp ../../pki/server.crl.pem $ROOT
echo "# cp ../../pki/ca.cert.pem $ROOT"
cp ../../pki/ca.cert.pem $ROOT

echo "# taskd config --force --data $ROOT client.cert $ROOT/client.cert.pem"
../../src/taskd config --force --data $ROOT client.cert $ROOT/client.cert.pem
echo "# taskd config --force --data $ROOT client.key $ROOT/client.key.pem"
../../src/taskd config --force --data $ROOT client.key $ROOT/client.key.pem
echo "# taskd config --force --data $ROOT server.cert $ROOT/server.cert.pem"
../../src/taskd config --force --data $ROOT server.cert $ROOT/server.cert.pem
echo "# taskd config --force --data $ROOT server.key $ROOT/server.key.pem"
../../src/taskd config --force --data $ROOT server.key $ROOT/server.key.pem
echo "# taskd config --force --data $ROOT server.crl $ROOT/server.crl.pem"
../../src/taskd config --force --data $ROOT server.crl $ROOT/server.crl.pem
echo "# taskd config --force --data $ROOT ca.cert $ROOT/ca.cert.pem"
../../src/taskd config --force --data $ROOT ca.cert $ROOT/ca.cert.pem

echo "# taskd config --force --data $ROOT log $PWD/taskd.log"
../../src/taskd config --force --data $ROOT log $PWD/taskd.log
echo "# taskd config --force --data $ROOT pid.file $PWD/taskd.pid"
../../src/taskd config --force --data $ROOT pid.file $PWD/taskd.pid

echo "# taskd config --force --data $ROOT server localhost:53589"
../../src/taskd config --force --data $ROOT server localhost:53589
echo "# taskd config --force --data $ROOT ip.log 1"
../../src/taskd config --force --data $ROOT ip.log 1
echo "# taskd config --force --data $ROOT trust strict"
../../src/taskd config --force --data $ROOT trust strict

echo
${TREE} $ROOT

echo
echo "# taskd config --data $ROOT"
../../src/taskd config --data $ROOT

echo 'Success'

