Importe componentes

O Application Design Center suporta vários Google Cloud produtos que pode adicionar como componentes à sua aplicação. Para usar a sua própria versão destes componentes ou adicionar outros componentes, importe os seus módulos do Terraform para o App Design Center.

Os módulos do Terraform são configurações reutilizáveis para produtos Google Cloud . A importação de módulos do Terraform ajuda a fazer o seguinte:

  • Acelere e governe o desenvolvimento de aplicações.
  • Reutilize as suas decisões de design existentes no Centro de design de apps.
  • Ajudar os programadores de aplicações a cumprir as suas políticas de design estabelecidas.

Quando importa um módulo do Terraform, o App Design Center cria um modelo de componente correspondente no catálogo do seu espaço. Em seguida, pode usar o modelo como um componente no design do modelo de aplicação.

Para saber mais sobre o Terraform no Google Cloud, consulte o seguinte:

Antes de começar

Peça ao administrador para lhe conceder uma das seguintes funções na pasta ou no projeto de gestão com a app ativada:

  • Administrador do centro de design de aplicações (roles/designcenter.admin).
  • Utilizador do Centro de design de aplicações (roles/designcenter.user).

Configure e importe os seus módulos

Conclua os passos seguintes para se ligar ao GitHub, criar um ficheiro de metadados e importar um módulo do Terraform.

Ligue-se ao seu repositório através do Developer Connect

Crie uma ligação do Developer Connect ao repositório do GitHub onde armazena os seus Google Cloud módulos do Terraform. Vai usar esta ligação quando importar.

  1. Crie uma ligação do Developer Connect.

    Para ver os passos, consulte o artigo Associar ao GitHub.

  2. Crie um link do repositório do Developer Connect.

    Para ver os passos, consulte o artigo Adicione links de repositórios a associações existentes.

Opcional: prepare os metadados do módulo do Terraform

Quando importa o seu módulo do Terraform, pode fornecer os seus próprios metadados ou permitir que o App Design Center crie um ficheiro de metadados para si.

Por exemplo, o seguinte é um ficheiro metadata.yaml que pode criar para uma conta de serviço:

  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

Importe do seu repositório

Pode criar um componente do App Design Center importando um módulo do Terraform baseado num único Google Cloud produto. Se fizer alterações ao módulo do Terraform no repositório, repita estes passos para importar as alterações.

Para importar o módulo do Terraform, faça o seguinte:

  1. Identifique o catálogo onde quer criar o componente.

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

    Substitua o seguinte:

    • PROJECT: o ID do seu projeto de gestão.
    • LOCATION: o ID da sua localização.
    • SPACE: o ID do seu espaço.

    Para mais informações, consulte o artigo gcloud design-center spaces catalogs list.

  2. Crie um modelo de catálogo no catálogo privado do seu espaço.

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

    Substitua o seguinte:

    • COMPONENT_TEMPLATE: o ID do modelo do modelo de componente que quer criar.
    • PROJECT: o ID do seu projeto de gestão.
    • CATALOG: o ID do catálogo.
    • LOCATION: o ID da sua localização.
    • SPACE: o ID do seu espaço.

    Para mais informações, consulte o artigo gcloud design-center spaces catalogs templates create.

  3. Crie uma revisão do modelo de catálogo com base no módulo do Terraform no seu repositório.

      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
    
    

    Substitua o seguinte:

    • REVISION: o ID de revisão da revisão que quer criar.
    • PROJECT: o ID do seu projeto de gestão.
    • CATALOG: o ID do catálogo.
    • LOCATION: o ID da sua localização.
    • SPACE: o ID do seu espaço.
    • COMPONENT_TEMPLATE: o ID do modelo que criou no passo anterior.
    • DEVELOPER_CONNECT_REPO: o repositório do Developer Connect a usar como origem. Por exemplo, projects/my-project/locations/us-central1/connections/my-connection/gitRepositoryLinks/my-repo.
    • DEVELOPER_CONNECT_REPO_REF: o ramo ou a etiqueta Git no repositório. Por exemplo, refs/tags/v1.0.0 ou refs/heads/main.
    • DEVELOPER_CONNECT_REPO_DIR: o diretório no repositório. Por exemplo, modules/my-product.
    • Para especificar os metadados do módulo Terraform, faça uma das seguintes ações:
      • Para usar o seu próprio ficheiro de metadados, substitua METADATA pelo seu ficheiro metadata.yaml.
      • Para gerar automaticamente um ficheiro de metadados no seu repositório, especifique a flag --use-repo.

    Para mais informações, consulte o artigo gcloud design-center spaces catalogs templates revisions create.

  4. Partilhe o seu catálogo com outros espaços.

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

    Substitua o seguinte:

    • SHARE: o ID da partilha para a partilha que quer criar.
    • PROJECT: o ID do seu projeto de gestão.
    • CATALOG: o ID do catálogo.
    • LOCATION: o ID da sua localização.
    • SPACE: o ID do seu espaço.
    • DESTINATION_SPACE: o ID do espaço de destino.

    Para mais informações, consulte o artigo gcloud design-center spaces catalogs shares create.

Crie um modelo de aplicação com componentes importados

Crie um modelo de aplicação com os seus componentes importados e os componentes fornecidos pela Google.

  1. Crie um novo modelo de aplicação.

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

    Substitua o seguinte:

    • APPLICATION_TEMPLATE: o ID do modelo do modelo de aplicação que quer criar.
    • PROJECT: o ID do seu projeto de gestão.
    • LOCATION: o ID da sua localização.
    • SPACE: o ID do seu espaço.

    Para mais informações, consulte o artigo gcloud design-center spaces application-templates create.

  2. Identifique os URIs de revisão do modelo para os componentes que quer adicionar ao modelo.

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

    Substitua o seguinte:

    • PROJECT: o ID do seu projeto de gestão.
    • LOCATION: o ID da sua localização.
    • SPACE: o ID do seu espaço.

    Para mais informações, consulte o artigo gcloud design-center spaces shared-templates list.

  3. Adicione um componente ao modelo de aplicação.

      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
    

    Substitua o seguinte:

    • COMPONENT: o ID do componente que quer adicionar ao modelo.
    • PROJECT: o ID do seu projeto de gestão.
    • LOCATION: o ID da sua localização.
    • SPACE: o ID do seu espaço.
    • APPLICATION_TEMPLATE: o ID do modelo do modelo de aplicação onde está a adicionar o componente.
    • SHARED_TEMPLATE_URI: O URI do modelo partilhado do componente. Por exemplo, projects/my-project/locations/us-central1/spaces/my-space/sharedTemplates/my-shared-template/revisions/rev1.

    Para mais informações, consulte o artigo gcloud design-center spaces application-templates components create.

  4. Adicione um segundo componente ao modelo.

      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
    

    Substitua o seguinte:

    • COMPONENT_2: o ID do componente do segundo componente que quer adicionar ao modelo.
    • PROJECT: o ID do seu projeto de gestão.
    • LOCATION: o ID da sua localização.
    • SPACE: o ID do seu espaço.
    • APPLICATION_TEMPLATE: o ID do modelo do modelo de aplicação onde está a adicionar o componente.
    • SHARED_TEMPLATE_URI_2: o segundo componente do URI do modelo partilhado. Por exemplo, projects/my-project/locations/us-central1/spaces/my-space/sharedTemplates/my-shared-template/revisions/rev1.

    Para mais informações, consulte o artigo gcloud design-center spaces application-templates components create.

  5. Crie uma ligação entre os dois 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
    

    Substitua o seguinte:

    • CONNECTION: o ID da associação que quer adicionar ao modelo.
    • PROJECT: o ID do seu projeto de gestão.
    • LOCATION: o ID da sua localização.
    • SPACE: o ID do seu espaço.
    • APPLICATION_TEMPLATE: o ID do modelo do modelo de aplicação onde está a adicionar o componente.
    • SHARED_TEMPLATE_URI_2: o segundo componente do URI do modelo partilhado. Por exemplo, projects/my-project/locations/us-central1/spaces/my-space/sharedTemplates/my-shared-template/revisions/rev1.

    Para mais informações, consulte o artigo gcloud design-center spaces application-templates components connections create.

O que se segue?