การเขียน Kubernetes Controller, Part 8 — ย้าย Repo ไปอยู่ใต้ Weaveworks

Chanwit Kaewkasi
1 min readFeb 6, 2022

--

หลังจากปล่อย version 0.8.0 ไปและมี Engineer จากทีมอื่นมาช่วยอีก 2 คนตอนนี้ สัปดาห์ที่แล้วเลยได้ฤกษ์ย้ายจาก Repo ส่วนตัวไปอยู่ใต้ Weaveworks Org 🏠

ตอนนี้ TF-controller ก็ได้กลายเป็น Official Repo ของ Weaveworks ไปเรียบร้อยแล้ว ⭐️ 🍰🌟 💫 🎂✨ ☄ ☀️🍰 🎂

ในเรื่องเชิงเทคนิค มีประเด็นต่าง ๆ น่าสนใจระหว่างการย้าย Repo โดยเฉพาะรอบ ๆ GitHub

  1. GitHub จะยังเก็บเส้นทางของ Repo เดิมไว้ ดังนั้นกลไกการ Import ใน Go เลยจะยังไม่พัง
  2. GitHub จะยังคงเก็บเส้นทางของ Container Package ไว้ให้ด้วย ถึงจะมองไม่เห็นแล้วก็ตาม แต่ ghcr.io/chanwit/tf-controller:v0.8.0 ก็ยังจะ Pull ได้ ทำให้ระบบที่อ้างอิงไปยัง Container Image ตัวนี้จะไม่ Break
  3. การย้าย Repo ไป Organization จะต้องทำโดยคนที่มีสิทธิใน Org ปลายทางเท่านั้น ตอนย้ายเลยต้องทำ 2 Step คือย้ายไปที่ Admin ก่อน ก่อนจะย้ายไปที่ Weaveworks อีกที และยังหาวิธีที่ดี (กว่านี้) ไม่เจอ

หลังจากย้าย Repo แล้วก็จะมีเรื่องที่ต้องซ่อมหลายจุด

2 จุดหลัก ๆ ก็คือ Import Path ใน Go ต้องเปลี่ยนเป็น Weaveworks ให้หมด และ Package ต้อง Publish ใหม่ตั้งแต่ v0.9.0 เป็นต้นไปก็จะอยู่ที่ Weaveworks Org

กลายเป็นว่าตอนนี้ Code เริ่มช้า จากที่เคย Release ได้สัปดาห์ละหลาย ๆ ครั้ง ตอนนี้สะดุดเพราะการย้าย Repo แต่ก็มีข้อดีคือได้ทดลองกลับไปดู TF-controller v0.8.0 ที่รันอยู่บน Cluster ทดสอบประมาณ 2 สัปดาห์แล้ว ยัง Reconcile อยู่ทุกวัน ไม่เกิดการ Leak ไม่พัง ไม่รีสตาร์ตเลยแม้แต่ครั้งเดียว ความ Stable ถือว่าอยู่ในระดับที่น่าพอใจ

สำหรับ Feature หลักเรื่อง Multi-Tenancy ที่เร่งทำ ตอนนี้ก็ทำการ Port Code ทั้งหมดเป็น gRPC เรียบร้อยแล้ว

ส่วน Engineer อีกคนนึงกำลังทำส่วนของ mTLS อยู่และคิดว่าสัปดาห์หน้าจะเอามาประกอบกัน

ได้ออกมาจะเป็น Architecture สำหรับ GitOps Controller ที่น่าสนใจมากแบบนึงเลยทีเดียว

--

--

Chanwit Kaewkasi
Chanwit Kaewkasi

Written by Chanwit Kaewkasi

Technical Advisor at ConfigHub Inc. ex-weaveworks. Go nut since r57 (pre v1)

No responses yet