Ebook Syafi
Koleksi
Admin
← DevOps Dengan AI
Edit Bab
💾 Simpan
Batal
Syarat
Mukadimah
Bab
Penutup
B
I
H2
H3
List
1.
Quote
Code
Link
Img
Table
Edit
Split
Preview
0 perkataan
# Bonus 2: Checklist Keselamatan Sebelum Merge Gunakan senarai ini setiap kali anda menerima kod daripada AI. Ia mengambil masa dua minit dan menyelamatkan anda daripada masalah yang mengambil masa dua hari untuk dibaiki. ## Tiga Soalan Sebelum Percaya Output AI 1. **Bolehkah saya jelaskan setiap baris kepada rakan sekerja?** Kalau tidak, jangan merge. 2. **Adakah saya sudah jalankan sendiri kod ini?** Bukan baca, tetapi jalankan. 3. **Adakah saya tahu cara membatalkannya?** Kalau tidak, jangan laksanakan di production. ## Infrastructure as Code - [ ] Versi Terraform dan provider dipin, bukan `latest` - [ ] Tiada atribut atau resource yang tidak wujud dalam versi yang dipin - [ ] Semua nilai sensitif datang dari variable atau secret manager - [ ] Tag piawai ada pada semua resource - [ ] Security group tiada `0.0.0.0/0` pada port sensitif - [ ] Remote state dengan locking diaktifkan - [ ] `terraform plan` sudah dibaca, bukan sekadar dilihat statusnya - [ ] Tiada `-/+ destroy and then create` pada resource stateful ## Ansible dan Konfigurasi - [ ] Modul FQCN, bukan `shell:` atau `command:` tanpa sebab - [ ] `changed_when` dan `failed_when` betul pada task yang perlu - [ ] Handler digunakan untuk restart service - [ ] `become` hanya pada task yang perlu - [ ] Tiada credential dalam `vars` atau `defaults` - [ ] `ansible-lint` lulus - [ ] `--check --diff` dijalankan di dev sebelum production ## Docker dan Container - [ ] Multi-stage build - [ ] Base image dipin kepada versi atau digest - [ ] Berjalan sebagai pengguna bukan root - [ ] `.dockerignore` menghalang fail sensitif ikut masuk - [ ] Tiada rahsia dalam sejarah imej (`docker history`) - [ ] Scan CVE dijalankan sebelum push - [ ] `HEALTHCHECK` ada ## CI/CD - [ ] `permissions` dikecilkan pada setiap workflow - [ ] Action pihak ketiga dipin kepada versi - [ ] Tiada pengesahan berasaskan kunci kekal; guna OIDC - [ ] Production memerlukan kelulusan manusia - [ ] `concurrency` diaktifkan untuk elak deploy bertindih - [ ] Smoke test selepas deploy - [ ] Ada jalan rollback yang sudah diuji ## Rahsia dan Kebersihan Repo - [ ] Tiada credential dalam kod, komen, atau fail contoh - [ ] Fail `.env` tidak pernah di-commit - [ ] Sejarah git disemak untuk rahsia yang terlepas - [ ] Rahsia yang pernah terdedah sudah dirotasi - [ ] Akses dihadkan kepada yang benar-benar perlu ## Amalan Harian - [ ] Kerja melalui branch dan pull request - [ ] Satu tugas satu sesi AI - [ ] Prompt dan output penting disimpan untuk rujukan - [ ] Perubahan besar dibahagikan kepada beberapa langkah kecil - [ ] Backup sebelum apa-apa yang melibatkan data \newpage