DevOps
สร้างอิมเมจคอนเทนเนอร์พร้อมผลิต
อิมเมจคอนเทนเนอร์เล็ก ทำซ้ำได้ ไม่ใช้ root สตาร์ทถูกต้อง และผ่านการตรวจช่องโหว่กับรันไทม์
กระบวนการ
ทำตามลำดับนี้
- ระบุบิลด์แอปพลิเคชัน ไฟล์รันไทม์ พอร์ต พฤติกรรมสุขภาพ ขอบเขตการตั้งค่า และสถาปัตยกรรมเป้าหมายที่รองรับ
- เขียน Dockerfile หลายขั้นโดยใช้ฐานที่เชื่อถือและปักหมุดรุ่น และไฟล์ .dockerignore ที่ตัดเสียงรบกวนในซอร์ส ข้อมูลรับรอง และอาร์ติแฟกต์ท้องถิ่น
- ติดตั้งการพึ่งพาให้ทำซ้ำได้ เรียงเลเยอร์ให้แคชมีประสิทธิภาพ และคัดลอกเฉพาะอาร์ติแฟกต์รันไทม์ที่จำเป็นเข้าขั้นสุดท้าย
- สร้างและสลับไปผู้ใช้ที่ไม่มีสิทธิ์พิเศษ ตั้งจุดเข้าที่ชัด และเก็บการตั้งค่ากับความลับไว้นอกอิมเมจ
- บิลด์โดยเปิดการตรวจของ Docker ตรวจประวัติและขนาดอิมเมจ สแกนช่องโหว่ และตรวจเมทาดาทากับสถาปัตยกรรมที่คาด
- รันอิมเมจด้วยการตั้งค่าอ่านอย่างเดียวหรือจำกัดแบบใกล้ผลิต ทดสอบการสตาร์ท สุขภาพ ปิดระบบ พฤติกรรมเครือข่าย และคำขอตัวแทน
เตรียมสิ่งนี้
ข้อมูลที่แมวจะขอ
- ซอร์สแอปพลิเคชันและคำสั่งบิลด์
- เป้าหมายรันไทม์และสถาปัตยกรรม
- สัญญาพอร์ต สุขภาพ และการตั้งค่า
- นโยบายอิมเมจฐานที่อนุมัติ
เราเตอร์ + playbook เดียว
จัดเส้นทางก่อน เลือกอันเดียว
Cat Paw โหลด playbook เดียวต่องาน ไม่ผสมหลายอัน เริ่มที่เราเตอร์นี้ เส้นทางที่เหลือเป็นตัวเลือกเฉพาะ workflow
- เราเตอร์:
engineering-pack skills/engineering/addyosmani/security-and-hardening/SKILL.mdskills/engineering/addyosmani/ci-cd-and-automation/SKILL.mdskills/engineering/addyosmani/shipping-and-launch/SKILL.md
เส้นเขต
ขอบเขตเดินทางไปกับพรอมต์
- อย่าอบข้อมูลรับรอง กุญแจส่วนตัว หรือความลับเฉพาะสภาพแวดล้อมลงในเลเยอร์อิมเมจ
- อย่ารันเป็น root เว้นแต่มีข้อกำหนดที่บันทึกและการควบคุมชดเชย
- อย่าเผยแพร่อิมเมจที่ยังไม่ได้สแกนและทดลองจากบิลด์สะอาด
เสร็จหมายถึง
จุดจบที่ตรวจได้
บิลด์สะอาดได้อิมเมจที่คาด ไม่มีความลับ กระบวนการรันเป็นผู้ใช้ที่ไม่ใช่ root ตามที่ตั้งใจ การตรวจสุขภาพและปิดระบบผ่าน และการค้นพบจากการสแกนเป็นไปตามนโยบายที่ระบุ
แหล่งที่มา
กระบวนการนี้มาจากไหน
แหล่งที่มาตั้งรูปแบบของ workflow โพสต์ Reddit และชุมชน ถ้ามี ให้ถือเป็นเรื่องเล่าจากผู้ปฏิบัติ ไม่ใช่ข้อเท็จจริงสากล