Atuin Desktop เปิดเป็น Open Source: Runbooks ที่สามารถรันคำสั่งได้จริง

ทีมชุมชน BigGo
Atuin Desktop เปิดเป็น Open Source: Runbooks ที่สามารถรันคำสั่งได้จริง

Atuin Desktop ได้เปิดตัวอย่างเป็นทางการในรูปแบบ open beta และเปิดเป็น open source เต็มรูปแบบภายใต้สัญญาอนุญาต Apache 2.0 เครื่องมือนี้เปลี่ยนแปลงเอกสารแบบดั้งเดิมโดยการสร้าง runbooks ที่สามารถรันคำสั่งได้จริง รวมความสามารถในการอ่านของเอกสารเข้ากับฟังก์ชันการทำงานของ terminal

โปรเจกต์นี้แก้ไขปัญหาที่พบบ่อยในการพัฒนาซอฟต์แวร์และการจัดการโครงสร้างพื้นฐาน คือ เอกสารที่ล้าสมัยและความรู้ที่อยู่ในกลุ่มคนเฉพาะ ทีมงานหลายทีมพึ่งพาคำสั่งไม่กี่คำสั่งที่มีเพียงบางคนเท่านั้นที่จำได้เมื่อระบบเสีย ในขณะที่ข้อมูลสำคัญถูกฝังอยู่ในข้อความแชทหรือประวัติ shell ส่วนตัว

คุณสมบัติหลัก:

  • Runbook ที่สามารถรันได้ซึ่งรวมเอกสารเข้ากับฟังก์ชัน terminal
  • รองรับ shell scripts, database queries, HTTP requests และ Prometheus charts
  • Workspace แบบออฟไลน์ที่เข้ากันได้กับ Git/VCS
  • บัญชีทีมพร้อมการทำงานร่วมกันแบบเรียลไทม์
  • การผสานรวมกับ Kubernetes สำหรับการติดตามแบบสด
  • MySQL query blocks และ contextual dropdown blocks

การตอบรับจากชุมชนและการใช้งานในโลกจริง

ชุมชนนักพัฒนาแสดงความสนใจอย่างมากต่อแนวทางของ Atuin Desktop ในการสร้างเอกสารที่สามารถรันได้ ผู้ใช้กำลังนำไปใช้งานในการดำเนินงานประจำวันที่จริงจังแล้ว รวมถึงการทำงานอัตโนมัติและการแก้ไขข้อผิดพลาด การดำเนินงานฐานข้อมูล การปฐมนิเทศวิศวกรใหม่ และการตอบสนองต่อเหตุการณ์ เครื่องมือนี้กลายเป็นสิ่งที่หลายคนอธิบายว่าเป็นระบบบันทึกที่ใช้ร่วมกันสำหรับคำสั่งและกระบวนการที่ทำให้ระบบการผลิตทำงานต่อไป

สมาชิกชุมชนหลายคนเปรียบเทียบกับเครื่องมือที่มีอยู่เช่น Jupyter notebooks และ Emacs org-mode แต่สังเกตว่า Atuin Desktop มีกระบวนการติดตั้งที่ใช้งานง่ายกว่าโดยไม่ต้องจัดการ Python หรือขั้นตอนการตั้งค่าที่ซับซ้อน

กรณีการใช้งานปัจจุบัน:

  • เวิร์กโฟลว์ระบบอัตโนมัติและการแก้ไขจุดบกพร่อง
  • การดำเนินงานฐานข้อมูลและการย้ายข้อมูล
  • กระบวนการปฐมนิเทศวิศวกรใหม่
  • การปรับใช้และจัดการคลัสเตอร์
  • ขั้นตอนการตอบสนองต่อเหตุการณ์
  • การบำรุงรักษาระบบการผลิต
ภาพหน้าจออินเทอร์เฟซของ Atuin Desktop ที่แสดงให้เห็นฟีเจอร์และความสามารถในการจัดการสคริปต์และเซสชันเทอร์มินัล
ภาพหน้าจออินเทอร์เฟซของ Atuin Desktop ที่แสดงให้เห็นฟีเจอร์และความสามารถในการจัดการสคริปต์และเซสชันเทอร์มินัล

การใช้งานทางเทคนิคและข้อกังวลเรื่องรูปแบบไฟล์

จุดหนึ่งที่มีการอภิปรายอย่างมากคือรูปแบบไฟล์ปัจจุบัน Atuin Desktop ปัจจุบันเก็บ runbooks เป็นไฟล์ YAML ซึ่งผู้ใช้บางคนพบว่ามีรายละเอียดมากและเข้าถึงได้ยากกว่าที่ต้องการ ทีมพัฒนายอมรับข้อจำกัดนี้และได้วางแผนที่จะเปลี่ยนไปใช้รูปแบบที่คล้าย markdown มากขึ้นซึ่งจะอ่านและแก้ไขด้วยตนเองได้ง่ายกว่า

ไฟล์ runbook เป็นเพียง YAML (ตอนนี้) มันมีรายละเอียดมากกว่าที่ฉันต้องการ แต่สื่อข้อมูลได้มาก - ทั้ง rich text และ executable

ข้อกังวลเรื่องรูปแบบนี้มีความเกี่ยวข้องโดยเฉพาะสำหรับทีมที่ต้องการทำงานร่วมกันผ่าน Git เนื่องจากโครงสร้าง YAML ปัจจุบันอาจไม่ให้ diffs ที่อ่านได้ดีที่สุดเมื่อตรวจสอบการเปลี่ยนแปลง

โมเดลธุรกิจและกลยุทธ์ Open Source

โปรเจกต์นี้ใช้แนวทางแบบผสมที่คล้ายกับเครื่องมือเช่น Obsidian ในขณะที่แอปพลิเคชันเดสก์ท็อปเป็น open source เต็มรูปแบบ บริการ backend ที่เรียกว่า Atuin Hub ยังคงเป็น proprietary ผู้ใช้สามารถเลือกระหว่างการใช้บริการ Hub ที่โฮสต์ไว้เพื่อการทำงานร่วมกันที่ราบรื่น หรือจัดการ runbooks ของพวกเขาผ่าน Git และระบบควบคุมเวอร์ชันอื่นๆ

โมเดลนี้ได้รับความคิดเห็นเชิงบวกจากชุมชน โดยผู้ใช้ชื่นชมความโปร่งใสเกี่ยวกับส่วนประกอบใดที่เป็น open source เทียบกับ proprietary แนวทางนี้ช่วยให้ทีมสามารถใช้เครื่องมือแบบออฟไลน์ทั้งหมดหากต้องการ ในขณะที่เสนอบริการแบบเสียเงินสำหรับคุณสมบัติการทำงานร่วมกันที่ปรับปรุงแล้ว

ข้อพิจารณาด้านความปลอดภัยและการรวม Shell History

การอภิปรายที่น่าสนใจเกิดขึ้นเกี่ยวกับผลกระทบด้านความปลอดภัยของเอกสารที่สามารถรันได้ โดยเฉพาะเกี่ยวกับคำสั่งที่ทำลาย ผู้ใช้บางคนแบ่งปันประสบการณ์การรันคำสั่งอันตรายเช่น rm -rf * จากประวัติ shell โดยไม่ตั้งใจ ซึ่งเน้นย้ำถึงความจำเป็นของกลไกความปลอดภัยในเครื่องมือที่ทำให้การรันคำสั่งสะดวกขึ้น

ชุมชนได้เสนอแนวทางต่างๆ รวมถึง blacklists คำสั่ง การแจ้งเตือนยืนยันสำหรับการดำเนินงานที่อาจทำลาย และการรวมที่ดีขึ้นกับคุณสมบัติความปลอดภัยของ shell การอภิปรายเหล่านี้สะท้อนถึงความท้าทายที่กว้างขึ้นในการสร้างสมดุลระหว่างความสะดวกกับความปลอดภัยในเครื่องมือนักพัฒนา

ฟีเจอร์ที่วางแผนไว้:

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

การพัฒนาในอนาคตและการมีส่วนร่วมของชุมชน

แผนงานการพัฒนารวมถึงคุณสมบัติที่ท้าทายหลายอย่างเช่น block dependencies ความสามารถในการรันระยะไกล audit logs และการรวมที่แน่นแฟ้นกว่ากับผู้ให้บริการคลาวด์ ทีมกำลังมีส่วนร่วมอย่างแข็งขันกับชุมชนผ่าน Discord และฟอรัมของพวกเขา ตอบสนองต่อความคิดเห็นและรวมข้อเสนอแนะของผู้ใช้เข้าไปในลำดับความสำคัญของการพัฒนา

โปรเจกต์นี้แสดงถึงก้าวสำคัญในการแก้ปัญหาที่ยังคงอยู่ของเอกสารที่ล้าสมัยในการพัฒนาซอฟต์แวร์ โดยเสนอโซลูชันที่ใช้งานได้จริงที่ทำให้ runbooks ทันสมัยโดยการทำให้สามารถรันได้แทนที่จะเป็นข้อความคงที่

อ้างอิง: Atuin Desktop: Runbooks that Run — Now Open Source