nfsn-dns-certbot
9067dadd
 #!/bin/sh
 set -euC
 
 # nfsn-dns-certbot DOMAIN NAME EMAIL_NAME INSTALLER [CERTBOT_ARG]...
 
 # nfsn-dns-certbot "example.com" "" "" ""
 # nfsn-dns-certbot "example.com" "git" "" "apache" --quiet
 
 # Arguments.
 
 domain="$1" ; shift
 name="$1" ; shift
 email_name="${1:-"hostmaster"}" ; shift
 installer="${1:-}" ; shift
 
 # Certbot.
 
 host="${name:+"$name."}$domain"
 dir="$(cd "$(dirname "$0")" ; pwd)"
 
 certbot certonly \
     --non-interactive \
     --email "$email_name@$host" \
     --agree-tos \
     --manual \
     --manual-public-ip-logging-ok \
     --manual-auth-hook "$dir/nfsn-dns-certbot-auth" \
     --manual-cleanup-hook "$dir/nfsn-dns-certbot-cleanup" \
     --preferred-challenges="dns" \
     --domains "$host" \
     "$@"
 
 if [ -n "$installer" ]
 then
     certbot install \
         --cert-name "$host" \
         --installer "$installer" \
 
     certbot enhance \
         --non-interactive \
         --cert-name "$host" \
         --domain "$host" \
         --installer "$installer" \
         --redirect \
         --hsts \
         --uir
 fi