#!/bin/sh

# copy cert+key from caddy

SRC_CRT="/var/lib/caddy/.local/share/caddy/certificates/acme-v02.api.letsencrypt.org-directory/irc.jrvieira.com/irc.jrvieira.com.crt"
SRC_KEY="/var/lib/caddy/.local/share/caddy/certificates/acme-v02.api.letsencrypt.org-directory/irc.jrvieira.com/irc.jrvieira.com.key"

DST_DIR="/etc/soju/certs"
DST_CRT="${DST_DIR}/irc.jrvieira.com.crt"
DST_KEY="${DST_DIR}/irc.jrvieira.com.key"

# check if src exist
if [ ! -f "$SRC_CRT" ] || [ ! -f "$SRC_KEY" ]; then
    echo "Error: source certificate files not found"
    exit 1
fi

# check if src = dst
if cmp -s "$SRC_CRT" "$DST_CRT" && cmp -s "$SRC_KEY" "$DST_KEY"; then
   exit 0
fi

mkdir -p "$DST_DIR"
chown _soju:_soju "$DST_DIR"
chmod 750 "$DST_DIR"

cp "$SRC_CRT" "$DST_CRT"
chown _soju:_soju "$DST_CRT"
chmod 640 "$DST_CRT"

cp "$SRC_KEY" "$DST_KEY"
chown _soju:_soju "$DST_KEY"
chmod 600 "$DST_KEY"

echo "certificates updated, reloading soju"
pkill -SIGHUP -x soju