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:
- Panoramica di Terraform.
- Best practice per lo stile e la struttura generali.
- Best practice per i moduli riutilizzabili.
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.
Crea una connessione Developer Connect.
Per i passaggi, vedi Connettiti a GitHub.
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:
Identifica il catalogo in cui vuoi creare il componente.
gcloud design-center spaces catalogs list \ --project=PROJECT \ --location=LOCATION \ --space=SPACESostituisci 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.
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-templateSostituisci 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.
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-repoSostituisci 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.0orefs/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
METADATAcon il tuo filemetadata.yaml. - Per generare automaticamente un file di metadati nel repository, specifica
il flag
--use-repo.
- Per utilizzare il tuo file di metadati,
sostituisci
Per saperne di più, consulta gcloud design-center spaces catalogs templates revisions create.
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_SPACESostituisci 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.
Crea un nuovo modello di applicazione.
gcloud design-center spaces application-templates create APPLICATION_TEMPLATE \ --project=PROJECT \ --location=LOCATION \ --space=SPACESostituisci 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.
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 \ --uriSostituisci 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.
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_URISostituisci 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.
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_2Sostituisci 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.
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_2Sostituisci 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
- Prima del deployment, crea un'applicazione.
- Esegui il deployment dalla console.
- Esporta il codice Terraform.