Importare componenti

Application Design Center supporta diversi Google Cloud prodotti che puoi aggiungere come componenti alla tua applicazione. Per utilizzare la tua versione di questi componenti o aggiungerne altri, importa i moduli Terraform in Application Design Center.

I moduli Terraform sono configurazioni riutilizzabili per i prodotti Google Cloud . L'importazione dei moduli Terraform ti consente di:

  • Accelera e gestisci lo sviluppo delle applicazioni.
  • Riutilizza le decisioni di progettazione esistenti in App Design Center.
  • Aiuta gli sviluppatori di applicazioni a rispettare le norme di progettazione stabilite.

Quando importi un modulo Terraform, App Design Center crea un modello di componente corrispondente nel catalogo del tuo spazio. Puoi quindi utilizzare il modello come componente nella progettazione del modello di applicazione.

Per scoprire di più su Terraform su Google Cloud, consulta quanto segue:

Prima di iniziare

Chiedi all'amministratore di concederti uno dei seguenti ruoli nella cartella abilitata per le app o nel progetto di gestione:

  • Application Design Center Admin (roles/designcenter.admin).
  • Application Design Center User (roles/designcenter.user).

Configurare e importare i moduli

Completa i seguenti passaggi per connetterti a GitHub, creare un file di metadati e importare un modulo Terraform.

Connettersi al repository utilizzando Developer Connect

Crea una connessione Developer Connect al repository GitHub in cui archiviare i moduli Terraform Google Cloud . Utilizzerai questa connessione durante l'importazione.

  1. Crea una connessione Developer Connect.

    Per i passaggi, vedi Connettiti a GitHub.

  2. Crea un link al repository Developer Connect.

    Per i passaggi, vedi Aggiungere link ai repository alle connessioni esistenti.

(Facoltativo) Prepara i metadati del modulo Terraform

Quando importi il modulo Terraform, puoi fornire i tuoi metadati o lasciare che App Design Center crei un file di metadati per te.

Ad esempio, di seguito è riportato un file metadata.yaml che potresti creare per un account di servizio:

  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

Importare dal repository

Puoi creare un componente App Design Center importando un modulo Terraform basato su un singolo prodotto Google Cloud . Se apporti modifiche al modulo Terraform nel repository, ripeti questi passaggi per importare le modifiche.

Per importare il modulo Terraform:

  1. Identifica il catalogo in cui vuoi creare il componente.

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

    Sostituisci quanto segue:

    • PROJECT: l'ID progetto di gestione.
    • LOCATION: il tuo ID sede.
    • SPACE: il tuo ID spazio.

    Per saperne di più, consulta l'elenco dei cataloghi degli spazi del centro di progettazione gcloud.

  2. Crea un modello di catalogo nel catalogo privato del tuo spazio.

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

    Sostituisci quanto segue:

    • COMPONENT_TEMPLATE: l'ID del modello per il modello di componente che vuoi creare.
    • PROJECT: l'ID progetto di gestione.
    • CATALOG: il tuo ID catalogo.
    • LOCATION: il tuo ID sede.
    • SPACE: il tuo ID spazio.

    Per saperne di più, vedi gcloud design-center spaces catalogs templates create.

  3. Crea una revisione del modello di catalogo basata sul modulo Terraform nel tuo repository.

      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
    
    

    Sostituisci quanto segue:

    • REVISION: l'ID della revisione che vuoi creare.
    • PROJECT: l'ID progetto di gestione.
    • CATALOG: il tuo ID catalogo.
    • LOCATION: il tuo ID sede.
    • SPACE: il tuo ID spazio.
    • COMPONENT_TEMPLATE: l'ID del modello creato nel passaggio precedente.
    • DEVELOPER_CONNECT_REPO: il repository Developer Connect da utilizzare come origine. Ad esempio, projects/my-project/locations/us-central1/connections/my-connection/gitRepositoryLinks/my-repo.
    • DEVELOPER_CONNECT_REPO_REF: il ramo o il tag Git nel repository. Ad esempio, refs/tags/v1.0.0 o refs/heads/main.
    • DEVELOPER_CONNECT_REPO_DIR: la directory nel repository. Ad esempio, modules/my-product.
    • Per specificare i metadati del modulo Terraform, esegui una delle seguenti operazioni:
      • Per utilizzare il tuo file di metadati, sostituisci METADATA con il tuo file metadata.yaml.
      • Per generare automaticamente un file di metadati nel repository, specifica il flag --use-repo.

    Per saperne di più, consulta gcloud design-center spaces catalogs templates revisions create.

  4. Condividere il catalogo con altri spazi.

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

    Sostituisci quanto segue:

    • SHARE: l'ID della condivisione che vuoi creare.
    • PROJECT: l'ID progetto di gestione.
    • CATALOG: il tuo ID catalogo.
    • LOCATION: il tuo ID sede.
    • SPACE: il tuo ID spazio.
    • DESTINATION_SPACE: l'ID dello spazio di destinazione.

    Per saperne di più, vedi gcloud design-center spaces catalogs shares create.

Crea un modello di applicazione utilizzando i componenti importati

Crea un modello di applicazione utilizzando i componenti importati e quelli forniti da Google.

  1. Crea un nuovo modello di applicazione.

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

    Sostituisci quanto segue:

    • APPLICATION_TEMPLATE: l'ID del modello per il modello di applicazione che vuoi creare.
    • PROJECT: l'ID progetto di gestione.
    • LOCATION: il tuo ID sede.
    • SPACE: il tuo ID spazio.

    Per saperne di più, vedi gcloud design-center spaces application-templates create.

  2. Identifica gli URI di revisione del modello per i componenti che vuoi aggiungere al modello.

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

    Sostituisci quanto segue:

    • PROJECT: l'ID progetto di gestione.
    • LOCATION: il tuo ID sede.
    • SPACE: il tuo ID spazio.

    Per saperne di più, consulta l'elenco dei modelli condivisi degli spazi del centro di progettazione gcloud.

  3. Aggiungi un componente al modello di applicazione.

      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
    

    Sostituisci quanto segue:

    • COMPONENT: l'ID del componente che vuoi aggiungere al modello.
    • PROJECT: l'ID progetto di gestione.
    • LOCATION: il tuo ID sede.
    • SPACE: il tuo ID spazio.
    • APPLICATION_TEMPLATE: l'ID del modello per il modello di applicazione in cui stai aggiungendo il componente.
    • SHARED_TEMPLATE_URI: l'URI del modello condiviso del componente. Ad esempio, projects/my-project/locations/us-central1/spaces/my-space/sharedTemplates/my-shared-template/revisions/rev1.

    Per saperne di più, consulta gcloud design-center spaces application-templates components create.

  4. Aggiungi un secondo componente al modello.

      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
    

    Sostituisci quanto segue:

    • COMPONENT_2: l'ID del secondo componente che vuoi aggiungere al modello.
    • PROJECT: l'ID progetto di gestione.
    • LOCATION: il tuo ID sede.
    • SPACE: il tuo ID spazio.
    • APPLICATION_TEMPLATE: l'ID del modello per il modello di applicazione in cui stai aggiungendo il componente.
    • SHARED_TEMPLATE_URI_2: Il secondo componente dell'URI del modello condiviso. Ad esempio, projects/my-project/locations/us-central1/spaces/my-space/sharedTemplates/my-shared-template/revisions/rev1.

    Per saperne di più, consulta gcloud design-center spaces application-templates components create.

  5. Crea una connessione tra i due componenti.

      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
    

    Sostituisci quanto segue:

    • CONNECTION: l'ID della connessione che vuoi aggiungere al modello.
    • PROJECT: l'ID progetto di gestione.
    • LOCATION: il tuo ID sede.
    • SPACE: il tuo ID spazio.
    • APPLICATION_TEMPLATE: l'ID del modello per il modello di applicazione in cui stai aggiungendo il componente.
    • SHARED_TEMPLATE_URI_2: Il secondo componente dell'URI del modello condiviso. Ad esempio, projects/my-project/locations/us-central1/spaces/my-space/sharedTemplates/my-shared-template/revisions/rev1.

    Per saperne di più, consulta gcloud design-center spaces application-templates components connections create.

Passaggi successivi