راه اندازی Yandex Cloud Provider با Terraform و Terragrunt

در اینجا یک راهنمای عملی در مورد نحوه مدیریت تنظیمات ارائه دهنده Terraform برای مناطق مختلف Yandex Cloud با استفاده از Terragrunt آورده شده است.

آنچه شما نیاز دارید

  • Terraform = 1.9.7
  • Terragrunt = 0.67.16
  • Yandex Cloud Provider = 0.129.0

مراحل راه اندازی

بیایید نحوه استفاده از Terragrunt برای ایجاد پویا تنظیمات ارائه دهنده برای Yandex Cloud را بررسی کنیم. من این را به قطعات قابل هضم تقسیم می کنم:

  1. راه اندازی ارائه دهنده اصلی

    ابتدا پیکربندی اصلی Yandex Cloud را در ریشه تنظیم می کنیم terragrunt.hcl. این به طور خودکار تولید می شود versions.tf برای هر ماژول:

    locals {
      tf_providers = {
        yandex = "= 0.129.0"
      }
    }
    
    generate "providers_versions" {
      path      = "versions.tf"
      if_exists = "overwrite"
      contents  = = 1.9.7"
    
      required_providers {
        yandex = {
          source  = "yandex-cloud/yandex"
          version = "${local.tf_providers.yandex}"
        }
      }
    }
    EOF
    }
    
  2. تنظیمات منطقه

    برای مناطقی مانند مناطق تازه ایجاد شده KZ منطقه، اضافی endpoints به دلیل پیکربندی پیش فرض برای RU منطقه برای مثال می توانیم آنها را در سطح پروژه مشخص کنیم env.hcl و providers.tf به صورت پویا برای هر ماژول تولید می شود:

    locals {
      cloud_id         = "SOME_ID"
      folder_id        = "SOME_ID"
      sa_key_file      = "${get_repo_root()}/key.json"
      endpoint         =...

Source link