O App Design Center é compatível com vários Google Cloud produtos que podem ser adicionados como componentes ao seu aplicativo. Para usar sua própria versão desses componentes ou adicionar outros, importe seus módulos do Terraform para o App Design Center.
Os módulos do Terraform são configurações reutilizáveis para produtos do Google Cloud . A importação de módulos do Terraform ajuda você a:
- Acelere e governe o desenvolvimento de aplicativos.
- Reutilize suas decisões de design no App Design Center.
- Ajude os desenvolvedores de aplicativos a obedecer às políticas de design estabelecidas.
Ao importar um módulo do Terraform, o App Design Center cria um modelo de componente correspondente no catálogo do seu espaço. Em seguida, use o modelo como um componente no design do modelo de aplicativo.
Para saber mais sobre o Terraform no Google Cloud, consulte:
- Visão geral do Terraform.
- Práticas recomendadas para estilo e estrutura geral.
- Práticas recomendadas para módulos reutilizáveis.
Antes de começar
Peça ao administrador para conceder a você um dos seguintes papéis na pasta ou no projeto de gerenciamento ativado para apps:
- Administrador do App Design Center (
roles/designcenter.admin). - Usuário do Application Design Center (
roles/designcenter.user).
Configurar e importar seus módulos
Conclua as etapas a seguir para se conectar ao GitHub, criar um arquivo de metadados e importar um módulo do Terraform.
Conectar-se ao repositório usando o Developer Connect
Crie uma conexão do Developer Connect com o repositório do GitHub onde você armazena seus módulos do Google Cloud Terraform. Você vai usar essa conexão ao importar.
Crie uma conexão do Developer Connect.
Para conferir as etapas, consulte Conectar-se ao GitHub.
Crie um link de repositório do Developer Connect.
Para ver as etapas, consulte Adicionar links de repositório a conexões atuais.
Opcional: preparar os metadados do módulo do Terraform
Ao importar seu módulo do Terraform, você pode fornecer seus próprios metadados ou deixar que o Centro de design de apps crie um arquivo de metadados para você.
Por exemplo, este é um arquivo metadata.yaml que você 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
Importar do seu repositório
É possível criar um componente do App Design Center importando um módulo do Terraform baseado em um único produto Google Cloud . Se você fizer mudanças no módulo do Terraform no repositório, repita essas etapas para importar as mudanças.
Para importar seu módulo do Terraform, faça o seguinte:
Identifique o catálogo em que você quer criar o componente.
gcloud design-center spaces catalogs list \ --project=PROJECT \ --location=LOCATION \ --space=SPACESubstitua:
PROJECT: o ID do projeto de gerenciamento.LOCATION: o ID do local.SPACE: o ID do seu espaço.
Para mais informações, consulte gcloud design-center spaces catalogs list.
Crie um modelo de catálogo no catálogo particular 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:
COMPONENT_TEMPLATE: o ID do modelo do componente que você quer criar.PROJECT: o ID do projeto de gerenciamento.CATALOG: o ID do catálogo.LOCATION: o ID do local.SPACE: o ID do seu espaço.
Para mais informações, consulte gcloud design-center spaces catalogs templates create.
Crie uma revisão de modelo do 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:
REVISION: o ID da revisão que você quer criar.PROJECT: o ID do projeto de gerenciamento.CATALOG: o ID do catálogo.LOCATION: o ID do local.SPACE: o ID do seu espaço.COMPONENT_TEMPLATE: o ID do modelo que você criou na etapa anterior.DEVELOPER_CONNECT_REPO: o repositório do Developer Connect a ser usado como origem. Por exemplo,projects/my-project/locations/us-central1/connections/my-connection/gitRepositoryLinks/my-repo.DEVELOPER_CONNECT_REPO_REF: a ramificação ou tag do 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 do Terraform, faça o seguinte:
- Para usar seu próprio arquivo de metadados,
substitua
METADATApelo arquivometadata.yaml. - Para gerar automaticamente um arquivo de metadados no seu repositório, especifique
a flag
--use-repo.
- Para usar seu próprio arquivo de metadados,
substitua
Para mais informações, consulte gcloud design-center spaces catalogs templates revisions create.
Compartilhe 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:
SHARE: o ID do compartilhamento que você quer criar.PROJECT: o ID do projeto de gerenciamento.CATALOG: o ID do catálogo.LOCATION: o ID do local.SPACE: o ID do seu espaço.DESTINATION_SPACE: o ID do espaço de destino.
Para mais informações, consulte gcloud design-center spaces catalogs shares create.
Criar um modelo de aplicativo usando componentes importados
Crie um modelo de aplicativo usando os componentes importados e os fornecidos pelo Google.
Crie um modelo de aplicativo.
gcloud design-center spaces application-templates create APPLICATION_TEMPLATE \ --project=PROJECT \ --location=LOCATION \ --space=SPACESubstitua:
APPLICATION_TEMPLATE: o ID do modelo de aplicativo que você quer criar.PROJECT: o ID do projeto de gerenciamento.LOCATION: o ID do local.SPACE: o ID do seu espaço.
Para mais informações, consulte gcloud design-center spaces application-templates create.
Identifique os URIs de revisão do modelo para os componentes que você quer adicionar ao modelo.
gcloud design-center spaces shared-templates list \ --project=PROJECT \ --location=LOCATION \ --space=SPACE \ --uriSubstitua:
PROJECT: o ID do projeto de gerenciamento.LOCATION: o ID do local.SPACE: o ID do seu espaço.
Para mais informações, consulte gcloud design-center spaces shared-templates list.
Adicione um componente ao modelo de aplicativo.
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:
COMPONENT: o ID do componente que você quer adicionar ao modelo.PROJECT: o ID do projeto de gerenciamento.LOCATION: o ID do local.SPACE: o ID do seu espaço.APPLICATION_TEMPLATE: o ID do modelo do aplicativo em que você está adicionando o componente.SHARED_TEMPLATE_URI: o URI do modelo compartilhado do componente. Por exemplo,projects/my-project/locations/us-central1/spaces/my-space/sharedTemplates/my-shared-template/revisions/rev1.
Para mais informações, consulte 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:
COMPONENT_2: o ID do componente do segundo componente que você quer adicionar ao modelo.PROJECT: o ID do projeto de gerenciamento.LOCATION: o ID do local.SPACE: o ID do seu espaço.APPLICATION_TEMPLATE: o ID do modelo do aplicativo em que você está adicionando o componente.SHARED_TEMPLATE_URI_2: o segundo componente do URI do modelo compartilhado. Por exemplo,projects/my-project/locations/us-central1/spaces/my-space/sharedTemplates/my-shared-template/revisions/rev1.
Para mais informações, consulte gcloud design-center spaces application-templates components create.
Crie uma conexã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:
CONNECTION: o ID da conexão que você quer adicionar ao modelo.PROJECT: o ID do projeto de gerenciamento.LOCATION: o ID do local.SPACE: o ID do seu espaço.APPLICATION_TEMPLATE: o ID do modelo do aplicativo em que você está adicionando o componente.SHARED_TEMPLATE_URI_2: o segundo componente do URI do modelo compartilhado. Por exemplo,projects/my-project/locations/us-central1/spaces/my-space/sharedTemplates/my-shared-template/revisions/rev1.
Para mais informações, consulte gcloud design-center spaces application-templates components connections create.
A seguir
- Antes de implantar, crie um aplicativo.
- Implantar a partir do console.
- Exporte seu código do Terraform.