From daef0cf448af17357b552245f39067a9d340ce3d Mon Sep 17 00:00:00 2001 From: Elizabeth Hunt Date: Sun, 27 Apr 2025 21:15:30 -0700 Subject: Waow --- .../volumes/scripts/wait-for-postfix.unused.sh | 27 ++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 playbooks/roles/mail/templates/volumes/scripts/wait-for-postfix.unused.sh (limited to 'playbooks/roles/mail/templates/volumes/scripts/wait-for-postfix.unused.sh') diff --git a/playbooks/roles/mail/templates/volumes/scripts/wait-for-postfix.unused.sh b/playbooks/roles/mail/templates/volumes/scripts/wait-for-postfix.unused.sh new file mode 100644 index 0000000..3e8a8c5 --- /dev/null +++ b/playbooks/roles/mail/templates/volumes/scripts/wait-for-postfix.unused.sh @@ -0,0 +1,27 @@ +# This was an attempt to keep rolling updates with very little downtime. +# I don't think it's worth it, and the nature of update_config provides +# little flexibility to use here. + +#!/bin/bash +set -e + +function log() { + echo "[startup] $@" +} + +LOCKFILE="/var/mail-state/lib-postfix/master.lock" +MAX_TRIES=30 +TRY=0 + +while [ -f "$LOCKFILE" ]; do + if [ "$TRY" -eq "$MAX_TRIES" ]; then + log "[$TRY/$MAX_TRIES] Max tries, failing." + exit 1 + fi + log "[$TRY/$MAX_TRIES] Lockfile exists, waiting for it to be cleaned up by previous container..." + sleep 2 + TRY=$((TRY + 1)) +done + +log "Lock check done. Starting DMS." +supervisord -c /etc/supervisor/supervisord.conf -- cgit v1.2.3-70-g09d2