Importar componentes

Application Design Center admite varios Google Cloud productos que puede añadir como componentes a su aplicación. Para usar tu propia versión de estos componentes o añadir otros, importa tus módulos de Terraform a App Design Center.

Los módulos de Terraform son configuraciones reutilizables para productos de Google Cloud . Importar módulos de Terraform te permite hacer lo siguiente:

  • Acelera y controla el desarrollo de aplicaciones.
  • Reutiliza las decisiones de diseño que ya hayas tomado en el Centro de diseño de aplicaciones.
  • Ayudar a los desarrolladores de aplicaciones a cumplir las políticas de diseño que hayas establecido.

Cuando importas un módulo de Terraform, App Design Center crea una plantilla de componente correspondiente en el catálogo de tu espacio. Después, puede usar la plantilla como componente en el diseño de la plantilla de su aplicación.

Para obtener información sobre Terraform en Google Cloud, consulta lo siguiente:

Antes de empezar

Pide a tu administrador que te conceda uno de los siguientes roles en la carpeta o el proyecto de gestión en los que esté habilitada la aplicación:

  • Administrador del Centro de diseño de aplicaciones (roles/designcenter.admin).
  • Usuario de Application Design Center (roles/designcenter.user).

Configurar e importar módulos

Sigue estos pasos para conectarte a GitHub, crear un archivo de metadatos e importar un módulo de Terraform.

Conectarse a un repositorio mediante Developer Connect

Crea una conexión de Developer Connect al repositorio de GitHub donde almacenes tus módulos de Terraform. Google Cloud Usarás esta conexión cuando importes.

  1. Crea una conexión de Developer Connect.

    Para ver los pasos, consulta Conectar con GitHub.

  2. Crea un enlace de repositorio de Developer Connect.

    Para ver los pasos, consulta Añadir enlaces de repositorios a conexiones ya creadas.

Opcional: Prepara los metadatos del módulo de Terraform

Cuando importe su módulo de Terraform, puede proporcionar sus propios metadatos o dejar que App Design Center cree un archivo de metadatos por usted.

Por ejemplo, a continuación se muestra un archivo metadata.yaml que puedes crear para una cuenta de servicio:

  spec:
    info:
      actuationTool:
        flavor: Terraform
        version: ">= 1.3"
    interfaces: # Optional
      variables:
        - name: service_account
          connections:
            - source:
                source: github.com/terraform-google/terraform-google-service-accounts
                version: ">= 4.4"
              spec:
                outputExpr: email
    requirements:
      roles: # Optional after IAM integrations
        - level: Project
          roles:
            - roles/iam.serviceAccountUser
            - roles/iap.admin
            - roles/run.admin
            - roles/iam.serviceAccountAdmin
      providerVersions:
        - source: hashicorp/google
          version: ">= 6, < 7"
        - source: hashicorp/google-beta
          version: ">= 6, < 7"
    ui: # Optional
      input:
        variables:
          ca_root_module:
            name: ca_root_module
            title: Ca Root Module
          service_account:
            name: service_account
            title: Service Account

Importar desde tu repositorio

Para crear un componente de App Design Center, importa un módulo de Terraform basado en un solo producto de Google Cloud . Si haces cambios en tu módulo de Terraform en tu repositorio, repite estos pasos para importar los cambios.

Para importar tu módulo de Terraform, sigue estos pasos:

  1. Identifica el catálogo en el que quieres crear el componente.

      gcloud design-center spaces catalogs list \
      --project=PROJECT \
      --location=LOCATION \
      --space=SPACE
    

    Haz los cambios siguientes:

    • PROJECT: tu ID de proyecto de gestión.
    • LOCATION: tu ID de ubicación.
    • SPACE: tu ID de espacio.

    Para obtener más información, consulta gcloud design-center spaces catalogs list.

  2. Crea una plantilla de catálogo en el catálogo privado de tu espacio.

      gcloud design-center spaces catalogs templates create COMPONENT_TEMPLATE \
      --project=PROJECT \
      --catalog=CATALOG \
      --location=LOCATION \
      --space=SPACE \
      --template-category=component-template
    

    Haz los cambios siguientes:

    • COMPONENT_TEMPLATE: el ID de la plantilla del componente que quieres crear.
    • PROJECT: tu ID de proyecto de gestión.
    • CATALOG: tu ID de catálogo.
    • LOCATION: tu ID de ubicación.
    • SPACE: tu ID de espacio.

    Para obtener más información, consulta gcloud design-center spaces catalogs templates create.

  3. Crea una revisión de plantilla de catálogo a partir del módulo de Terraform de tu repositorio.

      gcloud design-center spaces catalogs templates revisions create REVISION \
      --project=PROJECT \
      --catalog=CATALOG \
      --location=LOCATION \
      --space=SPACE \
      --template=COMPONENT_TEMPLATE \
      --developer-connect-repo=DEVELOPER_CONNECT_REPO \
      --developer-connect-repo-ref=DEVELOPER_CONNECT_REPO_REF \
      --developer-connect-repo-dir=DEVELOPER_CONNECT_REPO_DIR \
      --metadata=METADATA | --use-repo
    
    

    Haz los cambios siguientes:

    • REVISION: el ID de revisión de la revisión que quieres crear.
    • PROJECT: tu ID de proyecto de gestión.
    • CATALOG: tu ID de catálogo.
    • LOCATION: tu ID de ubicación.
    • SPACE: tu ID de espacio.
    • COMPONENT_TEMPLATE: el ID de plantilla que has creado en el paso anterior.
    • DEVELOPER_CONNECT_REPO: el repositorio de Developer Connect que se va a usar como fuente. Por ejemplo, projects/my-project/locations/us-central1/connections/my-connection/gitRepositoryLinks/my-repo.
    • DEVELOPER_CONNECT_REPO_REF: la rama o etiqueta de Git del repositorio. Por ejemplo, refs/tags/v1.0.0 o refs/heads/main.
    • DEVELOPER_CONNECT_REPO_DIR: el directorio del repositorio. Por ejemplo, modules/my-product.
    • Para especificar los metadatos del módulo de Terraform, haz una de las siguientes acciones:
      • Para usar tu propio archivo de metadatos, sustituye METADATA por tu archivo metadata.yaml.
      • Para generar automáticamente un archivo de metadatos en tu repositorio, especifica la marca --use-repo.

    Para obtener más información, consulta gcloud design-center spaces catalogs templates revisions create.

  4. Comparte tu catálogo con otros espacios.

      gcloud design-center spaces catalogs shares create SHARE \
      --project=PROJECT \
      --catalog=CATALOG \
      --location=LOCATION \
      --space=SPACE \
      --destination-space=DESTINATION_SPACE
    

    Haz los cambios siguientes:

    • SHARE: el ID del recurso compartido que quieres crear.
    • PROJECT: tu ID de proyecto de gestión.
    • CATALOG: tu ID de catálogo.
    • LOCATION: tu ID de ubicación.
    • SPACE: tu ID de espacio.
    • DESTINATION_SPACE: ID del espacio de destino.

    Para obtener más información, consulta gcloud design-center spaces catalogs shares create.

Crear una plantilla de aplicación con componentes importados

Crea una plantilla de aplicación con los componentes que has importado y los que proporciona Google.

  1. Crea una plantilla de aplicación.

      gcloud design-center spaces application-templates create APPLICATION_TEMPLATE \
      --project=PROJECT \
      --location=LOCATION \
      --space=SPACE
    

    Haz los cambios siguientes:

    • APPLICATION_TEMPLATE: el ID de la plantilla de aplicación que quieres crear.
    • PROJECT: tu ID de proyecto de gestión.
    • LOCATION: tu ID de ubicación.
    • SPACE: tu ID de espacio.

    Para obtener más información, consulta gcloud design-center spaces application-templates create.

  2. Identifica los URIs de revisión de la plantilla de los componentes que quieras añadir a la plantilla.

      gcloud design-center spaces shared-templates list \
      --project=PROJECT \
      --location=LOCATION \
      --space=SPACE \
      --uri
    

    Haz los cambios siguientes:

    • PROJECT: tu ID de proyecto de gestión.
    • LOCATION: tu ID de ubicación.
    • SPACE: tu ID de espacio.

    Para obtener más información, consulta gcloud design-center spaces shared-templates list.

  3. Añade un componente a tu plantilla de aplicación.

      gcloud design-center spaces application-templates components create COMPONENT \
      --project=PROJECT \
      --location=LOCATION \
      --space=SPACE \
      --application-template=APPLICATION_TEMPLATE \
      --shared-template-revision-uri=SHARED_TEMPLATE_URI
    

    Haz los cambios siguientes:

    • COMPONENT: el ID del componente que quieres añadir a la plantilla.
    • PROJECT: tu ID de proyecto de gestión.
    • LOCATION: tu ID de ubicación.
    • SPACE: tu ID de espacio.
    • APPLICATION_TEMPLATE: ID de la plantilla de aplicación a la que vas a añadir el componente.
    • SHARED_TEMPLATE_URI: el URI de la plantilla compartida del componente. Por ejemplo, projects/my-project/locations/us-central1/spaces/my-space/sharedTemplates/my-shared-template/revisions/rev1.

    Para obtener más información, consulta gcloud design-center spaces application-templates components create.

  4. Añade un segundo componente a la plantilla.

      gcloud design-center spaces application-templates components create COMPONENT_2 \
      --project=PROJECT \
      --location=LOCATION \
      --space=SPACE \
      --application-template=APPLICATION_TEMPLATE \
      --shared-template-revision-uri=SHARED_TEMPLATE_URI_2
    

    Haz los cambios siguientes:

    • COMPONENT_2: el ID del componente del segundo componente que quieras añadir a la plantilla.
    • PROJECT: tu ID de proyecto de gestión.
    • LOCATION: tu ID de ubicación.
    • SPACE: tu ID de espacio.
    • APPLICATION_TEMPLATE: ID de la plantilla de aplicación a la que vas a añadir el componente.
    • SHARED_TEMPLATE_URI_2: el segundo componente compartido URI de plantilla. Por ejemplo, projects/my-project/locations/us-central1/spaces/my-space/sharedTemplates/my-shared-template/revisions/rev1.

    Para obtener más información, consulta gcloud design-center spaces application-templates components create.

  5. Crea una conexión entre los dos componentes.

      gcloud design-center spaces application-templates components connections create CONNECTION \
      --project=PROJECT \
      --location=LOCATION \
      --space=SPACE \
      --application-template=APPLICATION_TEMPLATE \
      --component=COMPONENT \
      --destination-component-uri=SHARED_TEMPLATE_URI_2
    

    Haz los cambios siguientes:

    • CONNECTION: ID de la conexión que quieres añadir a la plantilla.
    • PROJECT: tu ID de proyecto de gestión.
    • LOCATION: tu ID de ubicación.
    • SPACE: tu ID de espacio.
    • APPLICATION_TEMPLATE: ID de la plantilla de aplicación a la que vas a añadir el componente.
    • SHARED_TEMPLATE_URI_2: el segundo componente compartido URI de la plantilla. Por ejemplo, projects/my-project/locations/us-central1/spaces/my-space/sharedTemplates/my-shared-template/revisions/rev1.

    Para obtener más información, consulta gcloud design-center spaces application-templates components connections create.

Siguientes pasos