رابط گرافیکی ApplicationSet در Argo CD
خلاصهٔ کاملتر
به گفتهٔ نویسنده، درخواست پشتیبانی از ApplicationSet تو رابط گرافیکی Argo CD یکی از قدیمیترین و پرطرفدارترین درخواستها بوده (۱۸۹ تا 👍). حالا با نسخهٔ ۳.۵ این ماجرا عوض شده و Argo CD یه رابط گرافیکیِ first-class برای ApplicationSet داره.
برای یادآوری: ApplicationSet در واقع یه «کارخانه» برای Applicationهاست؛ یه منبع مینویسی که میگه «برای هر کلاستری که این لیبل رو داره، از این تمپلیت یه Application بساز» و کنترلر N تا Application فرزند تولید میکنه. یه AppSet میتونه روی دهها کلاستر و صدها ریپو fan out بشه. مشکل این بود که رابط Argo CD اصلاً اینها رو نشون نمیداد و مجبور بودی یا از CLI استفاده کنی یا AppSet رو تو یه App-of-Apps بپیچی.
تو نسخهٔ ۳.۵ یه مسیر جدید /applicationsets اضافه شده. صفحهٔ لیستش همون امکانات آشنای صفحهٔ Applications رو داره: جستوجو، فیلتر، نمودار دایرهای خلاصهٔ سلامت و اعمال RBAC دقیقاً مثل CLI. با کلیک روی هر AppSet هم یه درخت منابع باز میشه که خود AppSet ریشهست و هر Application فرزند یه گره پاییندستیه. ضمناً حالا کنترلر یه فیلد status.health روی خود AppSet مینویسه که مثل Applicationها میتونه Healthy، Degraded یا Progressing باشه.
به گفتهٔ نویسنده، اگه صفحهٔ لیست چیزیه که مردم میخواستن، قابلیت Preview همون لحظهٔ «وایسا، مگه میشه؟»ست. Preview معادل argocd appset generate رو تو مرورگر میاره: AppSet رو باز میکنی، YAML اسپکشو ادیت میکنی (مثلاً یه generator یا label selector رو عوض میکنی) و دوباره Preview میزنی تا سه نما ببینی: اپهای زندهی فعلی، diff یکپارچهٔ هر Applicationی که تغییر میکنه، و اپهای نهایی بعد از اعمال. اگه AppSet زیر یه App-of-Apps باشه، میشه از خود parent هم preview گرفت و دید یه sync معلق دقیقاً چی رو عوض میکنه.
چند نکتهٔ مهم: این رابط تو نسخهٔ ۳.۵ یه قابلیت آلفا و فعلاً فقط خواندنیه؛ یعنی ازش برای ساخت یا تغییر یا حذف AppSet استفاده نمیشه و Argo CD همچنان یه ابزار GitOpsه که git رابط اصلی نوشتنشه. برای امتحانش هم باید به Argo CD نسخهٔ ۳.۵ به بالا آپدیت کنی (تاریخ GA حدود اوایل آگوست ۲۰۲۶).
نکات کلیدی:
- Argo CD 3.5 یه رابط گرافیکی first-class برای ApplicationSet آورده
- قبلش AppSetها فقط از CLI یا داخل App-of-Apps دیده میشدن
- درخت منابع، AppSet و همهٔ Applicationهای فرزندشو نشون میده
- فیلد جدید status.health روی خود AppSet نوشته میشه
- قابلیت Preview قبل از اعمال، اپهای زنده، diff و اپهای نهایی رو نشون میده؛ فعلاً آلفا و فقطخواندنی




