#!/bin/bash
# SSL certificate expiry checker for agentforms.io
# Run via cron: monthly check, alert if < 15 days to expiry
DOMAIN="agentforms.io"
THRESHOLD_DAYS=15
EXPIRY=$(echo | openssl s_client -connect "$DOMAIN:443" -servername "$DOMAIN" 2>/dev/null \
| openssl x509 -noout -enddate 2>/dev/null | cut -d= -f2)
if [ -z "$EXPIRY" ]; then
echo "ERROR: Could not retrieve SSL cert for $DOMAIN"
exit 1
fi
EXPIRY_EPOCH=$(date -d "$EXPIRY" +%s 2>/dev/null)
NOW_EPOCH=$(date +%s)
DAYS_LEFT=$(( (EXPIRY_EPOCH - NOW_EPOCH) / 86400 ))
if [ "$DAYS_LEFT" -lt "$THRESHOLD_DAYS" ]; then
echo "ALERT: SSL cert for $DOMAIN expires in ${DAYS_LEFT} days (${EXPIRY}). Threshold: ${THRESHOLD_DAYS} days."
exit 1
else
echo "OK: SSL cert for $DOMAIN expires in ${DAYS_LEFT} days (${EXPIRY})."
exit 0
fi