工程開發
pulumi-terraform-to-pulumi avatar

pulumi-terraform-to-pulumi

自動化 Terraform 和 OpenTofu 基礎設施到 Pulumi 的遷移,處理狀態映射、供應商安裝及 HCL 程式碼轉換。

簡介

pulumi-terraform-to-pulumi 技能為將現有的基礎設施即程式碼 (IaC) 專案從 Terraform 或 OpenTofu 遷移至 Pulumi 提供了結構化且可靠的工作流程。此技能旨在協助 DevOps 工程師、雲端架構師和平台團隊,在無需手動重新匯入資源或冒著狀態漂移風險的情況下,將技術堆疊轉換為 Pulumi 基於程式語言的現代基礎設施管理。透過利用 terraform-migrate 外掛程式,該技能確保了現有 Terraform 後端與新 Pulumi 堆疊之間的狀態映射保持一致性。

  • 自動從各種後端(如 S3、Pulumi Cloud 或 Terraform Cloud)提取遠端 Terraform 狀態至可管理的本地檔案中。
  • 使用 terraform-migrate 工具執行精確的狀態轉換,將資源映射到 Pulumi 堆疊中,避免手動配置錯誤的風險。
  • 分析相依需求以識別並將正確的 Pulumi 供應商版本(例如 pulumi-aws、pulumi-azure-native、pulumi-gcp)直接安裝到專案相依項目中。
  • 協助將 HCL 原始程式碼轉換為慣用的 Pulumi 程式碼(TypeScript、Python、Go 或 C#),並透過生成的狀態進行驗證。
  • 使用 pulumi-preview 工具編排驗證與迭代回饋迴圈,以確認生成的 Pulumi 程式碼相較於現有基礎設施產生的差異為空。

使用說明與限制:

  • 此技能僅應在檢測到明確的遷移意圖時使用;請勿針對一般的 Terraform 與 Pulumi 比較或並行使用問題觸發此技能。
  • 遷移操作必須在已簽出的儲存庫內執行;請勿在根目錄 /workspace 下建立專案。
  • 使用者必須提供參數,包括 Terraform 原始碼目錄路徑、目標 Pulumi 目錄以及目標程式語言。
  • 如果 terraform-migrate 因重新整理期間權限不足而失敗,使用者必須提供或建立 Pulumi ESC (環境、秘密與配置) 環境來注入必要的供應商憑證。
  • 建議在原始程式碼轉換階段進行人工介入或驗證,以確保程式碼符合慣用風格並與狀態草案相符。

倉庫統計

Star 數
41
Fork 數
2
Open Issue 數
8
主要語言
Python
預設分支
main
同步狀態
閒置
最近同步時間
2026年5月3日 上午05:50
在 GitHub 查看