Aprovisiona recursos de Artifact Registry con Terraform

HashiCorp Terraform es una herramienta de infraestructura como código (IaC) que te permite aprovisionar y administrar la infraestructura de nube. Terraform proporciona complementos llamados proveedores que te permiten interactuar con proveedores de servicios en la nube y otras APIs. Puedes usa el proveedor de Terraform para Google Cloud para aprovisionar y administrar Recursos de Google Cloud, incluido Artifact Registry.

Cómo funciona Terraform

Terraform tiene una sintaxis declarativa y orientada a la configuración que puedes usar para describir la infraestructura que deseas aprovisionar en tu proyecto de Google Cloud. Después de crear esta configuración en uno o más archivos de configuración de Terraform, puedes usar la CLI de Terraform para aplicar esto configuración a tus recursos de Artifact Registry.

En los siguientes pasos, se explica cómo funciona Terraform:

  1. Describes la infraestructura que deseas aprovisionar en un archivo de configuración de Terraform. No es necesario que escribas código que describa cómo aprovisionar la infraestructura. Terraform aprovisiona la infraestructura por ti.
  2. Ejecuta el comando terraform plan, que evalúa tu configuración y genera un plan de ejecución. Puedes revisar el plan y realizar cambios según sea necesario.
  3. Luego, ejecuta el comando terraform apply, que realiza las siguientes acciones:

    1. Aprovisiona tu infraestructura según tu plan de ejecución mediante la invocación de las APIs de Artifact Registry correspondientes en segundo plano.
    2. Crea un archivo de estado de Terraform, que es un archivo JSON que asigna los recursos del archivo de configuración a los recursos de la infraestructura del mundo real. Terraform usa este archivo para mantener un registro del estado más reciente de tu infraestructura y determinar cuándo crear, actualizar y destruir recursos.
    3. Luego, cuando ejecutes terraform apply, Terraform usa la asignación en el archivo de estado para comparar la infraestructura existente con el código y realizar actualizaciones según sea necesario:

      • Si un objeto de recurso se define en el archivo de configuración, pero no existe en el archivo de estado, Terraform lo crea.
      • Si existe un objeto de recurso en el archivo de estado, pero tiene una configuración diferente de tu archivo de configuración, Terraform actualiza el recurso para que coincida con tu archivo de configuración.
      • Si un objeto de recurso en el archivo de estado coincide con tu archivo de configuración, Terraform deja el recurso sin cambios.

Guías basadas en Terraform para Artifact Registry

En la siguiente tabla, se enumeran todas las guías prácticas y los instructivos basados en Terraform para Artifact Registry:

Guía Detalles
Crea un repositorio estándar con Terraform En esta guía, se describe cómo crear un repositorio de modo estándar con Terraform.
Crea un repositorio remoto con Terraform En esta guía, se describe cómo crear un repositorio de modo remoto con Terraform.
Crea un repositorio de modo virtual con Terraform En esta guía, se describe cómo crear un repositorio de modo virtual con Terraform.

Módulos y planos de Terraform para Artifact Registry

Los módulos y planos ayudan a automatizar el aprovisionamiento y la administración de recursos de Google Cloud a gran escala. Un módulo es un conjunto reutilizable de archivos de configuración de Terraform que crea una abstracción lógica de los recursos de Terraform. Un plano es un paquete de elementos implementables y reutilizables módulos y una política que implementa y documenta una solución específica.

En la siguiente tabla, se enumeran todos los módulos y planos relacionados con Artifact Registry:

Módulo o plano Detalles
artifact-registry Crea y administra repositorios de Artifact Registry
secure-cicd Compila una canalización de CI/CD segura en Google Cloud
gcloud Ejecuta los comandos de Google Cloud CLI en Terraform

Recursos de Terraform para Artifact Registry

Los recursos son los elementos fundamentales del lenguaje de Terraform. Cada el bloque de recursos describe uno o más objetos de infraestructura, como redes o instancias de procesamiento.

En la siguiente tabla, se enumeran los recursos de Terraform disponibles para Artifact Registry:

Servicio Recursos de Terraform Fuentes de datos
Artifact Registry
  • google_artifact_registry_docker_image
  • google_artifact_registry_repository
  • google_artifact_registry_repository_iam_policy
  • ¿Qué sigue?