Skip to main content
Back to articles

ใช้ fmt และ validate ตรวจ OpenTofu Configuration

fmt จัดรูปแบบไฟล์ ส่วน validate ตรวจไวยากรณ์และความสอดคล้องภายใน configuration อธิบายหลักการใช้งาน กรณีที่เหมาะ และข้อควรระวังจากเอกสารทางการ

ใช้ fmt และ validate ตรวจ OpenTofu Configuration

fmt จัดรูปแบบไฟล์ ส่วน validate ตรวจไวยากรณ์และความสอดคล้องภายใน configuration เหมาะกับทีมที่ต้องการลดข้อผิดพลาดพื้นฐานใน pull request บทความนี้สรุปแนวคิดจากเอกสารทางการของ OpenTofu และจุดที่ควรตรวจเมื่อนำไปใช้จริง

ภาพรวม

OpenTofu อ่าน configuration แล้วเทียบกับ state เพื่อวางแผนเปลี่ยน resource จริง การตรวจ plan และเก็บ state อย่างปลอดภัยสำคัญพอ ๆ กับการเขียน configuration

หัวข้อนี้ตอบโจทย์เฉพาะเรื่อง: fmt จัดรูปแบบไฟล์ ส่วน validate ตรวจไวยากรณ์และความสอดคล้องภายใน configuration จึงควรเริ่มจากปัญหาที่ต้องแก้และผลลัพธ์ที่คาดหวัง ไม่ใช่เพียงเปิดฟีเจอร์เพราะมีอยู่ในเครื่องมือ

หลักการทำงาน

ทั้งสองคำสั่งเหมาะกับขั้นตรวจอัตโนมัติก่อน plan และ apply

ให้ตรวจทั้งสถานะที่เครื่องมือรายงานและผลลัพธ์ปลายทางที่ผู้ใช้หรือระบบอื่นได้รับ หากสองส่วนไม่ตรงกัน ควรกลับไปตรวจค่าตั้งต้นและขอบเขตที่ฟีเจอร์นี้รับผิดชอบก่อนเปลี่ยนค่าเพิ่มเติม

เหมาะกับงานแบบไหน

เหมาะกับทีมที่ต้องการลดข้อผิดพลาดพื้นฐานใน pull request

ก่อนทดลอง ให้ระบุสิ่งที่จะใช้วัดผล เช่น เวลาตอบสนอง ความพร้อมใช้งาน ความถูกต้องของข้อมูล หรือภาระการดูแล แล้วเทียบกับสภาพเดิม วิธีนี้ช่วยให้รู้ว่าฟีเจอร์แก้ปัญหาจริงหรือย้ายภาระไปอีกจุดหนึ่ง

ขั้นตอนนำไปใช้

  1. ตรวจ workspace, backend และ state ที่กำลังใช้งาน
  2. อ่าน plan โดยสนใจ resource ที่จะถูกแทนที่หรือทำลาย
  3. หลัง apply ตรวจ resource จริงและเก็บ plan ที่ผ่านการทบทวน

เริ่มจากขอบเขตเล็กและเก็บผลทดสอบไว้กับการเปลี่ยนแปลง หากจะใช้ใน production ให้กำหนดผู้ติดตามผลและเงื่อนไขที่จะหยุดการขยายการใช้งาน

ข้อควรระวัง

validate ไม่ยืนยันว่าการสร้าง resource จะสำเร็จจริง ต้องใช้ plan และทดสอบ provider ต่อ

แปลงข้อควรระวังนี้เป็นรายการตรวจในการทบทวนงาน เพราะปัญหาจากค่าตั้งต้นอาจไม่แสดงทันทีในสภาพแวดล้อมทดสอบ

สรุป

fmt จัดรูปแบบไฟล์ ส่วน validate ตรวจไวยากรณ์และความสอดคล้องภายใน configuration เหมาะกับทีมที่ต้องการลดข้อผิดพลาดพื้นฐานใน pull request ก่อนนำไปใช้กับงานหลัก ควรตรวจผลตามขั้นตอนข้างต้นและทบทวนข้อจำกัดของระบบที่มีอยู่

อ่านเพิ่มเติม: เอกสารทางการของ OpenTofu