ความปลอดภัยและคุณภาพ
ความปลอดภัยในรีโพนี้เป็นการผสมกันของการควบคุมในรันไทม์ guardrail ของโครงสร้างพื้นฐาน และวินัยในเวิร์กโฟลว์การพัฒนา
ประเด็นสำคัญสำหรับผู้มีส่วนร่วมคือ:
คุณภาพไม่ใช่เครื่องมือชิ้นเดียว แต่มันคือห่วงโซ่ของการควบคุมที่ครอบคลุมโค้ดแอป identity การปรับใช้ และการรีวิว
โมเดลความปลอดภัยในปัจจุบัน
ขอบเขต identity
ทิศทางสถาปัตยกรรมในปัจจุบันคือ:
- Authentik เป็นผู้ให้บริการ identity
- Supabase ยังคงเป็นชั้นข้อมูลและการอนุญาต
- ไคลเอนต์ของแอปและแอดมินไม่ได้กลายเป็นแหล่งความจริงด้าน identity ของตัวเอง
นี่เป็นการแยกที่ดี เพราะทำให้ ownership ของการยืนยันตัวตนชัดเจน
การจัดการ input ของ API
NestJS API เปิดใช้ค่า validation ที่สำคัญไว้แล้ว:
ValidationPipewhitelist: truetransform: trueforbidNonWhitelisted: true
ค่าเริ่มต้นเหล่านี้ช่วยลดข้อผิดพลาดเรื่องรูปทรงของ input และการ over-post โดยไม่ตั้งใจ
การจัดการ secret และ environment
รีโพนี้ยังมีแนวทางจัดการ environment ที่ให้ infra มาก่อน:
- สคริปต์ deploy ที่ยึด environment เป็นหลัก
- การเชื่อมต่อกับ Secrets Manager ใน identity stack
- configuration ที่รับรู้ stage
- guard ของการ deploy รอบประเภท stack และการ reconcile pipeline
การควบคุมคุณภาพในรีโพ
การควบคุมคุณภาพแบบ static
- TypeScript ในทุกแอปและแพ็กเกจ
- ESLint
- Prettier
lint-staged- Husky hook สำหรับ pre-commit และ pre-push
eslint-plugin-security