ปัญหาเกี่ยวกับการติดตามการกำหนดค่าสำหรับ/etcในgitนั่นคือทั้งหมดที่คุณได้รับจากการทำเช่นนี้เป็นรุ่นควบคุม (ส่วนใหญ่gitสามเณรไม่ได้รู้วิธีการtagและbranchถูกต้องน่าเพื่อที่จุดนั้น) และความสามารถในการย้อนกลับ (อีกครั้งถ้าคุณศศภอ' ทีtaggingอย่างถูกต้องคุณจะไม่ได้อะไร แต่บันทึกไปยังคนตำหนิบริการ); แต่คุณสูญเสียการสร้างเทมเพลต (เทมเพลทไม่สามารถทำได้เพราะ git ไม่ได้ให้สิ่งนั้น) และปรับขนาด (คุณไม่สามารถใช้การกำหนดค่าที่อื่นได้โดยเฉพาะถ้าคุณใช้ฐานข้อมูลแบบกระจายเช่น Elasticsearch) และการจัดการระบบอัตโนมัติ (อีกครั้ง )
สิ่งที่คุณกำลังมองหาคือการจัดการการกำหนดค่า ; ที่ความสัมพันธ์ในtemplating , gitและการเขียนสคริปต์ขั้นพื้นฐานในการจัดการการกำหนดค่า นี้แน่นอนเป็นไปลงทิศทางของ DevOps และโครงสร้างพื้นฐานเป็นรหัส
เพื่อเพิ่มนี้; Ansible มีansible-pullซึ่งสามารถดึง repo ล่าสุดของ playbooks ของคุณจากgit; เช่นเดียวกันสำหรับเชฟ etckeeperโดยทั่วไปผู้ดูแลระบบลินุกซ์ที่ทันสมัยไม่ควรใช้สิ่งที่ต้องการ เชฟยังมีโหมดไคลเอนต์เซิร์ฟเวอร์ที่คุณสามารถจัดการระบบทั้งหมดที่มีchef-clientอยู่บนพื้นฐานของenvironment, rolesและตำรารุ่น; สิ่งที่คุณไม่สามารถทำได้ด้วยตัวเองgitและในระดับ
etckeeperที่ถูกใช้ไปแล้วในหลาย ๆ ระบบ มันไม่ได้มีคุณสมบัติทั้งหมดที่คุณขอ เช่นมีที่เก็บหนึ่งรายการต่อโฮสต์ไม่ใช่ที่เก็บส่วนกลาง