|
|
@ -139,7 +139,7 @@ has_existing_cert() { |
|
|
|
|
|
|
|
letsencrypt_cert_info() { |
|
|
|
local domain="$1" |
|
|
|
compose -q --no-init --no-relations run --rm "$SERVICE_NAME" \ |
|
|
|
compose -q --no-init --no-relations run -T --rm "$SERVICE_NAME" \ |
|
|
|
crt info "$domain" |
|
|
|
} |
|
|
|
|
|
|
@ -158,7 +158,20 @@ valid_existing_cert() { |
|
|
|
has_existing_cert "$domain" || return 1 |
|
|
|
|
|
|
|
info "Querying $domain for previous info..." |
|
|
|
out=$(letsencrypt_cert_info "$domain") || return 1 |
|
|
|
out=$(letsencrypt_cert_info "$domain") |
|
|
|
|
|
|
|
## check if output is valid yaml |
|
|
|
err=$(e "$out" | shyaml get-value 2>&1 >/dev/null) || { |
|
|
|
err "Cert info on '$domain' output do not seem to be valid YAML:" |
|
|
|
echo " cert info content:" >&2 |
|
|
|
e "$out" | prefix " ${GRAY}|$NORMAL " >&2 |
|
|
|
echo >&2 |
|
|
|
echo " parsing error:" >&2 |
|
|
|
e "$err" | prefix " ${RED}!$NORMAL " >&2 |
|
|
|
echo >&2 |
|
|
|
return 3 |
|
|
|
} |
|
|
|
|
|
|
|
domains=$(e "$out" | shyaml get-value domains) || return 1 |
|
|
|
|
|
|
|
domains=$(printf "%s " $domains | tr " " "\n" | sort) |
|
|
@ -285,6 +298,11 @@ crt_create() { |
|
|
|
err "Previous cert for ${domains[0]} deleted." |
|
|
|
fi |
|
|
|
|
|
|
|
if [ "$valid_existing_cert" == 3 ]; then |
|
|
|
err "Unexpected failure while checking previous cert info" |
|
|
|
return 1 |
|
|
|
fi |
|
|
|
|
|
|
|
crt "$cfg" create "${domains[@]}" || { |
|
|
|
err "Certificate creation/renew failed for domain '${domains[0]}'." |
|
|
|
return 1 |
|
|
|