Menyediakan resource Artifact Registry dengan Terraform

HashiCorp Terraform adalah alat Infrastructure-as-Code (IaC) yang memungkinkan Anda menyediakan dan mengelola infrastruktur cloud. Terraform menyediakan plugin bernama penyedia yang memungkinkan Anda berinteraksi dengan penyedia cloud dan API lainnya. Anda dapat menggunakan penyedia Terraform for Google Cloud untuk menyediakan dan mengelola resource Google Cloud, termasuk Artifact Registry.

Cara kerja Terraform

Terraform memiliki sintaksis deklaratif dan berorientasi konfigurasi, yang dapat Anda digunakan untuk menggambarkan infrastruktur yang ingin Anda sediakan dalam project Google Cloud Anda. Setelah Anda menulis konfigurasi ini di satu atau beberapa file konfigurasi Terraform, Anda dapat menggunakan Terraform CLI untuk ke resource Artifact Registry.

Langkah-langkah berikut menjelaskan cara kerja Terraform:

  1. Anda menjelaskan infrastruktur yang ingin Anda sediakan dalam Terraform file konfigurasi. Anda tidak perlu menulis kode yang menjelaskan cara menyediakan infrastruktur. Terraform menyediakan infrastruktur untuk Anda.
  2. Anda menjalankan perintah terraform plan, yang mengevaluasi konfigurasi dan akan menghasilkan rencana eksekusi. Anda dapat meninjau rencana dan membuat perubahan sebagai diperlukan.
  3. Anda menjalankan perintah terraform apply, yang melakukan hal berikut tindakan:

    1. Infrastruktur Anda sesuai dengan rencana eksekusi yang diterapkan dengan memanggil Artifact Registry API yang sesuai di latar belakang.
    2. Perintah ini membuat file status Terraform, yang merupakan file JSON yang memetakan resource di file konfigurasi Anda ke sumber daya di infrastruktur dunia nyata. Penggunaan Terraform file ini untuk menyimpan catatan status terbaru infrastruktur Anda, dan untuk menentukan kapan harus membuat, memperbarui, dan menghancurkan resource.
    3. Saat Anda menjalankan terraform apply, Terraform menggunakan pemetaan di file status untuk membandingkan infrastruktur yang ada dengan kode, dan membuat pembaruan yang diperlukan:

      • Jika objek sumber daya didefinisikan dalam file konfigurasi, namun tidak ada di dalam status, Terraform akan membuatnya.
      • Jika objek resource ada di file status, tetapi memiliki resource dari file konfigurasi Anda, Terraform akan memperbarui resource untuk mencocokkan file konfigurasi Anda.
      • Jika objek sumber daya dalam file status cocok dengan file konfigurasi Anda, Terraform tidak mengubah resource.

Panduan berbasis Terraform untuk Artifact Registry

Tabel berikut berisi semua panduan cara kerja dan tutorial berbasis Terraform untuk Artifact Registry:

Panduan Detail
Membuat repositori standar menggunakan Terraform Panduan ini menjelaskan cara membuat repositori mode standar dengan Terraform.
Membuat repositori jarak jauh menggunakan Terraform Panduan ini menjelaskan cara membuat repositori mode jarak jauh dengan Terraform.
Membuat repositori mode virtual menggunakan Terraform Panduan ini menjelaskan cara membuat repositori mode virtual dengan Terraform.

Modul dan blueprint Terraform untuk Artifact Registry

Modul dan blueprint membantu Anda mengotomatisasi penyediaan dan pengelolaan resource Google Cloud dalam skala besar. Modul adalah kumpulan file konfigurasi Terraform yang dapat digunakan kembali yang membuat abstraksi logis resource Terraform. Blueprint adalah paket yang dapat di-deploy dan digunakan kembali modul, dan kebijakan yang menerapkan dan mendokumentasikan solusi tertentu.

Tabel berikut mencantumkan semua modul dan blueprint yang terkait dengan Artifact Registry:

Modul atau blueprint Detail
artifact-registry Membuat dan mengelola repositori Artifact Registry
secure-cicd Membangun pipeline CI/CD yang aman di Google Cloud
gcloud Menjalankan perintah Google Cloud CLI dalam Terraform

Resource Terraform untuk Artifact Registry

Resource adalah elemen dasar dalam bahasa Terraform. Masing-masing blok resource menjelaskan satu atau beberapa objek infrastruktur, seperti atau Compute Engine.

Tabel berikut mencantumkan resource Terraform yang tersedia untuk Artifact Registry:

Layanan Resource Terraform Sumber data
Artifact Registry
  • google_artifact_registry_docker_image
  • google_artifact_registry_repository
  • google_artifact_registry_repository_iam_policy
  • Langkah selanjutnya