ذخیره استیت Terraform در Pulumi Cloud
خلاصهٔ کاملتر
Pulumi Cloud از امروز بهصورت پریویوی عمومی میتونه نقش بکاند استیت Terraform رو هم بازی کنه. این یعنی تیمهای platform engineering که هم از Terraform و هم از Pulumi استفاده میکنن، دیگه مجبور نیستن قبل از اینکه از مزایای Pulumi Cloud بهرهمند بشن، کل کدبیس HCL خودشون رو بازنویسی کنن.
چرا مهمه؟ اکثر سازمانها سالهاست با Terraform کار میکنن و مهاجرت یکشبه واقعبینانه نیست. با این قابلیت، کافیه فقط استیت رو منتقل کنی — نه کد رو. از اون لحظه به بعد، منابع Terraform-ای هم زیر چتر مدیریتی Pulumi Cloud قرار میگیرن، در حالی که تیم همچنان از CLI ترفورم یا OpenTofu استفاده میکنه.
چه چیزی میگیری؟ استیت رمزگذاریشده در ترانزیت و در حالت ذخیره، تاریخچه کامل تغییرات با قابلیت rollback، قفل خودکار استیت بدون نیاز به تنظیم DynamoDB، و کنترل دسترسی نقشمحور (RBAC) — همون سیاستهایی که برای استکهای Pulumi تعریف کردی. منابع Terraform با قرارداد نامگذاری pulumi:terraform: در کنسول نمایش داده میشن.
یکی از جالبترین بخشها ادغام با Neo — ایجنت هوش مصنوعی Pulumi — هست. بعد از انتقال استیت، Neo میتونه روی زیرساخت Terraform و Pulumi بهصورت یکجا استدلال کنه: پیدا کردن منابع، ردیابی وابستگیها، عیبیابی، و حتی نوشتن PR برای کد زیرساخت جدید.
از نظر فنی، Pulumi Cloud پروتکل استاندارد Terraform remote backend API رو پیادهسازی کرده. کافیه بلاک backend "remote" رو در کانفیگ Terraform به Pulumi Cloud اشاره بدی. هر workspace ترفورم به یه استک Pulumi نگاشت میشه؛ مثلاً workspace با نام networking_prod یه استک prod توی پروژه networking میسازه.
خروجیهای stack هم پشتیبانی میشن: خروجیهای ماژول root ترفورم به stack output های Pulumi نگاشت میشن و از طریق stack references در دسترس قرار میگیرن. این برای بهاشتراکگذاری زیرساخت پایه مثل VPC ID یا DNS zone بین استکهای Terraform و Pulumi خیلی کاربردیه.
مهاجرت از بکاندهای S3، Azure Blob، GCS، یا local چند دقیقه بیشتر طول نمیکشه: استیت رو بکآپ بگیر، بلاک backend رو به Pulumi Cloud تغییر بده، متغیر TF_TOKEN_api_pulumi_com رو ست کن، و terraform init -migrate-state رو اجرا کن. هر منبع Terraform ذخیرهشده در Pulumi Cloud مثل یه منبع Pulumi-ای معمولی حساب میشه.
نکات کلیدی:
- بدون تغییر کد HCL، استیت Terraform رو به Pulumi Cloud منتقل کن
- قفل خودکار استیت، RBAC، تاریخچه تغییرات و rollback داری
- ایجنت هوش مصنوعی Neo روی هر دو Terraform و Pulumi کار میکنه
- خروجیهای Terraform به stack output های Pulumi نگاشت میشن
- مهاجرت از S3، GCS، Azure Blob یا local backend چند دقیقهای انجام میشه




