#!/bin/bash # # {{ ansible_managed }} # set -e LOG_FILE="${0}.log" function logInfo() { TIMESTAMP=$(date '+%Y-%m-%d_%H:%M:%S' ) echo "${TIMESTAMP}: INFO: ${1}" echo "${TIMESTAMP}: INFO: ${1}" >> "${LOG_FILE}" } function logFatal() { TIMESTAMP=$(date '+%Y-%m-%d_%H:%M:%S' ) echo "${TIMESTAMP}: FATAL: ${1}" echo "${TIMESTAMP}: FATAL: ${1}" >> "${LOG_FILE}" exit 1 } POSTFIX_LETSENCRYPT_DOMAIN="{{ postfix_myhostname }}" # The shell variable $RENEWED_DOMAINS will contain a space-delimited # list of renewed certificate domains (for example, "example.com www.example.com") # (default: None) if [ -z ${RENEWED_DOMAINS+x} ]; then logInfo "Environment variable RENEWED_DOMAINS not defined. Skipping." exit 0 fi {% raw %} RENEWED_DOMAINS_ARRAY=(${RENEWED_DOMAINS}) if [ ${#RENEWED_DOMAINS_ARRAY[@]} -eq 0 ]; then logInfo "Environment variable RENEWED_DOMAINS_ARRAY is empty. Skipping." exit 0 fi {% endraw %} for RENEWED_DOMAIN in "${RENEWED_DOMAINS_ARRAY[@]}"; do case ${RENEWED_DOMAIN} in "${POSTFIX_LETSENCRYPT_DOMAIN}") systemctl restart postfix.service logInfo "Systemd service restarted!" exit 0 ;; esac done