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:
- Vista geral do Terraform.
- Práticas recomendadas para o estilo e a estrutura gerais.
- Práticas recomendadas para módulos reutilizáveis.
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.
Crie uma ligação do Developer Connect.
Para ver os passos, consulte o artigo Associar ao GitHub.
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:
Identifique o catálogo onde quer criar o componente.
gcloud design-center spaces catalogs list \ --project=PROJECT \ --location=LOCATION \ --space=SPACESubstitua 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.
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-templateSubstitua 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.
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-repoSubstitua 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.0ourefs/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
METADATApelo seu ficheirometadata.yaml. - Para gerar automaticamente um ficheiro de metadados no seu repositório, especifique a flag
--use-repo.
- Para usar o seu próprio ficheiro de metadados,
substitua
Para mais informações, consulte o artigo gcloud design-center spaces catalogs templates revisions create.
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_SPACESubstitua 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.
Crie um novo modelo de aplicação.
gcloud design-center spaces application-templates create APPLICATION_TEMPLATE \ --project=PROJECT \ --location=LOCATION \ --space=SPACESubstitua 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.
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 \ --uriSubstitua 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.
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_URISubstitua 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.
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_2Substitua 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.
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_2Substitua 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?
- Antes da implementação, crie uma aplicação.
- Implementar a partir da consola.
- Exporte o seu código do Terraform.