2020-08-07 08:39:38 +00:00
|
|
|
#!/bin/sh
|
|
|
|
|
|
|
|
passphrase=
|
|
|
|
appendonly=
|
|
|
|
|
|
|
|
case "$(cat "${__object:?}/parameter/encryption")" in
|
|
|
|
none)
|
|
|
|
enc=none
|
|
|
|
;;
|
|
|
|
repokey)
|
|
|
|
enc=repokey
|
|
|
|
if [ -f "${__object:?}/parameter/passphrase" ];
|
|
|
|
then
|
|
|
|
passphrase="$(cat "${__object:?}/parameter/passphrase")"
|
|
|
|
else
|
|
|
|
echo "__borg_repo cannot use repokey encryption with no passphrase. Aborting." >&2;
|
|
|
|
exit 1;
|
|
|
|
fi
|
|
|
|
;;
|
|
|
|
*)
|
|
|
|
echo "$enc is not a known encryption mode for __borg_repo. Aborting." >&2
|
|
|
|
exit 1;
|
|
|
|
esac
|
|
|
|
|
|
|
|
if [ -f "${__object:?}/parameter/append-only" ];
|
|
|
|
then
|
|
|
|
appendonly='--append-only'
|
|
|
|
fi
|
|
|
|
|
2021-04-21 13:27:52 +00:00
|
|
|
if [ -f "${__object:?}/parameter/owner" ];
|
|
|
|
then
|
|
|
|
doas="sudo -u '$(cat "${__object:?}/parameter/owner")'"
|
|
|
|
fi
|
|
|
|
|
2020-08-07 08:39:38 +00:00
|
|
|
cat <<- EOF
|
2021-04-21 13:27:52 +00:00
|
|
|
set -x
|
|
|
|
if [ ! -d "/${__object_id:?}" ]; then
|
|
|
|
$doas BORG_NEW_PASSPHRASE=$passphrase borg init -e ${enc:?} $appendonly /${__object_id:?}
|
2020-08-07 08:39:38 +00:00
|
|
|
fi
|
|
|
|
EOF
|
|
|
|
|