summaryrefslogtreecommitdiff
path: root/roles/tls/files/certbot.fact
diff options
context:
space:
mode:
Diffstat (limited to 'roles/tls/files/certbot.fact')
-rw-r--r--roles/tls/files/certbot.fact35
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