مدیریت سکرتها تو Argo CD با Secret Store CSI Driver
خلاصهٔ کاملتر
تا قبل از این، مستندات Argo CD برای مدیریت سکرتها فقط یه لیست از راهحلهای مختلف بود بدون اینکه مشخص کنه کدوم رو باید انتخاب کرد. با انتشار Argo CD v3 این وضعیت عوض شده و مستندات رسماً کنترلرهای سکرت خارجی رو به پلاگینهای تولید مانیفست ترجیح میده. راهحلهایی مثل Sealed Secrets، External Secret Operator و Kubernetes Secret Store CSI Driver الان توصیهی رسمی هستن، چون Argo CD اصلاً مقدار واقعی سکرت رو نمیبینه و چرخش سکرت نیازی به دیپلوی یا سینک دوباره نداره.
نویسنده که تو این پست سومین و آخرین قسمت از سهگانهی مدیریت سکرت رو مینویسه، سراغ Secret Store CSI Driver میره. این درایور خیلی شبیه External Secret Operator کار میکنه -- هر دو از Argo CD مستقل هستن، سکرت رو از یه منبع بیرونی میگیرن و بهصورت فایل تو پاد مانت میکنن -- ولی فرق اصلیش اینه که CSI Driver اصلاً یه آبجکت Secret تو کوبرنتیز نمیسازه؛ فایل مستقیم مانت میشه بدون اینکه هیچ سکرتی تو خود کلاستر ذخیره بشه.
تو دمو نویسنده اول HashiCorp Vault رو با پشتیبانی CSI روی کلاستر نصب میکنه، بعد درایور CSI رو نصب میکنه و با یه SecretProviderClass بین درایور و Vault ارتباط برقرار میکنه. اپلیکیشن نمونه یه سرویس وب سادهست که فقط یه کریدنشیال دیتابیس ساختگی رو از مسیر /secrets میخونه و چاپ میکنه، بدون اینکه هیچ توکن یا سکرتی تو کد یا Git ذخیره شده باشه.
نکتهی جالب اینه که چرخش سکرت کاملاً بدون دخالت Argo CD اتفاق میافته: وقتی مقدار تو Vault عوض میشه، درایور CSI با یه دورهی رفرش قابلتنظیم متوجهش میشه و فایل مانتشده رو بهروز میکنه، بدون نیاز به ریاستارت پاد یا سینک Argo CD. اگه اپلیکیشنی خودش نتونه فایل رو دوباره بخونه، میشه از کنترلرهایی مثل Reloader کمک گرفت؛ همچنین درایور رو میشه طوری تنظیم کرد که از سکرتهای کوبرنتیزی هم استفاده کنه، منتها اونوقت چرخش سکرت دوباره نیاز به ریاستارت اپلیکیشن پیدا میکنه.
نکات کلیدی:
- Argo CD v3 رسماً کنترلرهای سکرت مستقل (Sealed Secrets، External Secret Operator، CSI Driver) رو به پلاگینهای تو خود Argo CD ترجیح میده.
- فرق اصلی CSI Driver با External Secret Operator اینه که اصلاً آبجکت Secret تو کوبرنتیز نمیسازه و مستقیم فایل مانت میکنه.
- تو این دمو Vault با پشتیبانی CSI نصب و از طریق یه SecretProviderClass به درایور وصل میشه.
- چرخش سکرت خودکاره و نیاز به ریاستارت پاد یا سینک Argo CD نداره، مگه اینکه از سکرتهای کوبرنتیزی بهجای فایل مستقیم استفاده کنی.




