cdist-contrib/type/__uacme_account/gencode-remote

48 lines
1.1 KiB
Bash

#!/bin/sh
os="$(cat "${__global:?}"/explorer/os)"
case "$os" in
alpine|ubuntu|debian)
default_confdir=/etc/ssl/uacme
;;
*)
echo "This type currently has no implementation for $os. Aborting." >&2;
exit 1
;;
esac
admin_mail=
if [ -f "${__object:?}/parameter/admin-mail" ];
then
admin_mail="$(cat "${__object:?}/parameter/admin-mail")";
fi
# Autoaccept ACME server terms (if any) upon new account creation.
uacme_opts="--yes"
# Non-default ACMEv2 server directory object URL.
if [ -f "${__object:?}/parameter/acme-url" ]; then
custom_acme_url=$(cat "${__object:?}/parameter/acme-url")
uacme_opts="$uacme_opts --acme-url $custom_acme_url"
fi
# Specify RFC8555 External Account Binding credentials.
if [ -f "${__object:?}/parameter/eab-credentials" ]; then
eab_credentials=$(cat "${__object:?}/parameter/eab-credentials")
uacme_opts="$uacme_opts --eab $eab_credentials"
fi
confdir="${default_confdir:?}"
if [ -f "${__object:?}/parameter/confdir" ];
then
confdir="$(cat "${__object:?}/parameter/confdir")"
fi
cat << EOF
if ! [ -f "${confdir}/private/key.pem" ];
then
uacme $uacme_opts new ${admin_mail}
fi
EOF