
توی پروژههای مختلفم همیشه یک دردسر تکراری داشتم: برای کار با چند سرویس و دیتابیس داخل Kubernetes باید مدام چندین تب ترمینال باز میکردم و برای هرکدام جداگانه port-forward میزدم. از همه بدتر، اگر یکی از اینها قطع میشد باید دوباره دستی رانش میکردم.
این روند نه قابل مدیریت بود، نه مقیاسپذیر، نه حتی قابل اعتماد.
به همین خاطر تصمیم گرفتم یک ابزار کوچیک ولی کاربردی با Go بنویسم؛ هم برای یادگیری بیشتر، هم برای اینکه کار روزمرهام سادهتر شود. نتیجهاش یک CLI ساده، ماژولار و قابلاتکا شد که این قابلیتها را فراهم میکند:
اضافه کردن بینهایت سرویس برای port-forward
اجرای همزمان چندین forward فقط با یک دستور
مشاهدهی وضعیت همهی سرویسها در یکجا
Reconnect خودکار در صورت قطع شدن کانکشن
ساختار تمیز، قابلگسترش و مناسب استفاده روزمره
هدفم این بود که از این نقطه ضعف کوچک در جریان کاریام، یک ابزار عمومی بسازم که شاید برای بقیهی مهندسها هم مفید باشد.
در نهایت تصمیم گرفتم پروژه را اوپنسورس کنم تا اگر کسی خواست امکانات جدید اضافه کند، ایرادی پیدا کرد یا ایدهای داشت، بتوانیم همافزایی کنیم.
لینک پروژه و توضیحات بیشتر را در ریپوی گیتهاب گذاشتهام. خوشحال میشوم اگر استفاده کردید، نظر یا PR بگذارید.