#!/bin/bash set -euo pipefail . driglibash-base here="$(where)" # For some variables . /etc/jeancloud.env . "$here/.env" # Test secret presence [ ! -f "$DATA_DIR/rfc2136.ini" ] && echo "$0 Missing file '$DATA_DIR/rfc2136.ini'" && exit 1 export tmp="$(mktemp -d)" mkdir -p "$tmp/{work,logs}" # If there is some args, populate a fake service file if [ "$#" -ge 1 ] && [ -n "$1" ] ; then servicefile="$(mktemp)" for service in "$@" ; do echo "$service _" >> "$servicefile" done fi # For each service, read all possible domains while read line ; do read -r service target < <(echo "$line") # removo dummy cert dummy_cert.sh "$service" remove [ -d "$DATA_DIR/certs/live/$service" ] && echo "Already exists, thats a job for renew : $service" && continue # acme "$here/acme-dns.sh" "$service" # Replace dummy cert if letsencrypt failed [ "$?" -ne 0 ] && dummy_cert.sh "$servic" remove done < "$servicefile"