Terraform 0.13 Resmi Dirilis oleh HashiCorp

1 min read

Disclaimer
Saya bekerja di AWS, semua opini adalah dari saya pribadi. (I work for AWS, my opinions are my own.)
Terraform 0.13 Resmi Dirilis
Terraform Logo (Hak Cipa: HashiCorp)

TeknoCerdas.com – Salam cerdas untuk kita semua. Salah satu software Infrastructure as Code (IaC) terpopuler yaitu Terraform baru meluncurkan versi terbaru. Terraform 0.13 Resmi dirilis oleh HashiCorp pada 10 Agustus 2020 lalu. Berita tersebut TeknoCerdas lansir dari blog resmi perusahaan.

Terraform 0.13 hadir dengan sejumlah perubahan dan fitur baru. Rilis ini adalah hasil pengembangan dari peningkatan HashiCorp Configuration Language (HCL) yang sudah diperkenalkan pada versi 0.12. Terraform 0.13 adalah versi pertama yang memiliki fitur terraform login yang memudahkan untuk kolaborasi menggunakan Terraform Cloud.

Perubahan atau fitur baru apa saja yang disematkan pada Terraform 0.13.

  • Peningkatan pada module
  • Instalasi otomatis untuk provider pihak ketiga
  • Validasi variabel custom
  • Integrasi pada Terraform Cloud

Peningkatan pada module

Sekarang pada modul dapat menggunakan fitur dari HCL yang baru yaitu count, depends_on dan for_each. Workflow yang banyak menggunakan module akan sangat terbantu dengan tambahan fitur ini.

variable "project_id" {
  type = string
}

variable "regions" {
  type = map(object({
    region            = string
    network           = string
    subnetwork        = string
    ip_range_pods     = string
    ip_range_services = string
  }))
}

module "kubernetes_cluster" {
  source   = "terraform-google-modules/kubernetes-engine/google"
  for_each = var.regions

  project_id        = var.project_id
  name              = each.key
  region            = each.value.region
  network           = each.value.network
  subnetwork        = each.value.subnetwork
  ip_range_pods     = each.value.ip_range_pods
  ip_range_services = each.value.ip_range_services
}

Instalasi otomatis untuk provider pihak ketiga

Modul yang berasal dari pihak ketiga yang terdaftar di Terraform registry akan otomatis terinstal ketika melakukan terraform init. Dengan demikian prosesnya akan sama dengan official module yang disediakan oleh HashiCorp sehingga proses penggunaan akan lebih mudah.

Pada Terraform 0.13 juga diperkenalkan peningkatan fitur dari blok required_providers. Sekarang mendukung penggunaan source untuk banyak registry dan provider sekaligus.

terraform {
    required_providers {
        # HashiCorp's dns provider
        hdns = {
            source = "hashicorp/dns"
        }
        # A hypothetical alternative dns provider
        mydns = {
            source = "mycorp/dns"
        }
    }
}

Validasi variabel custom

Fitur ini diperkenalkan pada Terraform 0.12.20 sekarang secara resmi dianggap production ready di Terraform 0.13. Sebuah fitur yang akan memvalidasi nilai dari variabel dan memberikan pesan kesalahan sesuai yang dibuat.

variable "ami_id" {
  type = string

  validation {
    condition     = can(regex("^ami-", var.example))
    error_message = "Must be an AMI id, starting with \"ami-\"."
  }
}

Integrasi pada Terraform Cloud

Pada Terraform versi 0.13 terdapat peningkatan pada remote backend yang memperbolehkan pengguna untuk mentarget resource tertentu seperti penggunaan opsi -target dan terraform state push.

Fitur ini juga akan dibackport ke versi 0.12 untuk mempermudah masa transisi.

Dengan Terraform 0.13 resmi dirilis maka pengguna diharapkan dapat segera melakukan update untuk dapat menggunakan fitur dan peningkatan terbaru yang telah dimasukkan pada Terraform.