summaryrefslogtreecommitdiff
path: root/roles/tls/files/certbot.fact
blob: baa43bb8300b376f3fc4147066e2d251e162511f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
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