diff options
Diffstat (limited to 'roles/tls/files/certbot.fact')
| -rw-r--r-- | roles/tls/files/certbot.fact | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/roles/tls/files/certbot.fact b/roles/tls/files/certbot.fact new file mode 100644 index 0000000..baa43bb --- /dev/null +++ b/roles/tls/files/certbot.fact @@ -0,0 +1,35 @@ +#!/bin/sh + +certbot_certificates_output="$(certbot certificates 2>/dev/null)" +certificates="$(echo "$certbot_certificates_output" | grep "Certificate Name:" | sed "s/.*Certificate Name: *//g")" +all_certificates="" +valid_certificates="" +invalid_certificates="" +for certificate in $certificates +do + all_certificates="$all_certificates $certificate" + if [ -n "$(echo "$certbot_certificates_output" | grep "Expiry Date:" | grep -E "VALID:")" ] + then + valid_certificates="$valid_certificates $certificate" + else + invalid_certificates="$invalid_certificates $certificate" + fi +done + +jsonify() +{ + if [ -z "$1" ] + then + echo "[]" + else + echo "[\"$1\"]" | sed "s/ /\", \"/g" + fi +} + +cat <<EOF +{ + "certificates": $(jsonify "$all_certificates"), + "invalid_certificates": $(jsonify "$invalid_certificates"), + "valid_certificates": $(jsonify "$valid_certificates") +} +EOF |
