- เครื่องมือ GitOps สำหรับผู้ที่ไม่ได้ใช้ Kubernetes
- เฝ้าดู remote git repository, pull การเปลี่ยนแปลง และส่งสัญญาณ HUP ไปยังโปรเซสของเซิร์ฟเวอร์ (บริการ) เพื่อรีโหลด
- แต่ละบริการจะทำ sparse git checkout (แต่ยังมีประวัติทั้งหมด) เพื่อให้เห็นเฉพาะไฟล์ที่จำเป็นจริง ๆ
- มีการตั้งค่า bind mount หลายรายการเพื่อมอบสิทธิ์ให้บริการเข้าถึงไฟล์ภายใน Git
- หากไม่มี target directory ระบบจะสร้างให้ด้วยผู้ใช้ปัจจุบัน (ถ้ามีการกำหนดไว้)
- แม้จะไม่ได้ให้ความสามารถเกินกว่าการดึง repository มาใช้งานโดยตรงมากนัก แต่ก็ช่วยให้ใช้เวิร์กโฟลว์ GitOps ได้โดยไม่ต้องพึ่งพาสภาพแวดล้อมอย่าง Kubernetes
- Git repository ที่ใช้สำหรับ provision บริการควรมีอย่างน้อยหนึ่ง (sub)directory สำหรับแต่ละบริการ
- หากมีการระบุไว้ ระบบจะติดตั้งแพ็กเกจให้ แต่จะไม่ทำการอัปเกรดหรือดาวน์เกรด หากถือว่ามีวิธีที่ดีกว่าอยู่แล้ว
- remote interface ใช้ SSH key สำหรับการยืนยันตัวตน
- มีการรองรับฟีเจอร์ต่อไปนี้:
- Metrics: export Git hash เพื่อให้ติดตาม rollout ได้
- Diff detection: ทำได้ผ่าน metrics หรือ
gitopperctl
- Out of band rollbacks: ใช้
gitopperctl เพื่อข้ามเวิร์กโฟลว์ Git ปกติ
- No client side processing: ใช้ไฟล์ตามที่อยู่ใน Git repository โดยตรง
- Canarying: สามารถระบุ branch อื่นให้บริการ checkout ได้
ยังไม่มีความคิดเห็น