Application Design Center est compatible avec plusieurs produits Google Cloud que vous pouvez ajouter en tant que composants à votre application. Pour utiliser votre propre version de ces composants ou en ajouter d'autres, importez vos modules Terraform dans App Design Center.
Les modules Terraform sont des configurations réutilisables pour les produits Google Cloud . L'importation de modules Terraform vous permet d'effectuer les opérations suivantes :
- Accélérez et contrôlez le développement d'applications.
- Réutilisez vos décisions de conception existantes dans App Design Center.
- Aidez les développeurs d'applications à respecter vos règles de conception établies.
Lorsque vous importez un module Terraform, App Design Center crée un modèle de composant correspondant dans le catalogue de votre espace. Vous pouvez ensuite utiliser le modèle en tant que composant dans la conception de votre modèle d'application.
Pour en savoir plus sur Terraform sur Google Cloud, consultez les ressources suivantes :
- Présentation de Terraform
- Bonnes pratiques concernant le style et la structure généraux
- Bonnes pratiques pour les modules réutilisables
Avant de commencer
Demandez à votre administrateur de vous attribuer l'un des rôles suivants dans le dossier ou le projet de gestion pour lequel les applications sont activées :
- Administrateur App Design Center (
roles/designcenter.admin) - Utilisateur Application Design Center (
roles/designcenter.user)
Configurer et importer vos modules
Pour vous connecter à GitHub, créer un fichier de métadonnées et importer un module Terraform, procédez comme suit.
Se connecter à votre dépôt à l'aide de Developer Connect
Créez une connexion Developer Connect au dépôt GitHub dans lequel vous stockez vos modules Terraform Google Cloud . Vous utiliserez cette connexion lors de l'importation.
Créez une connexion Developer Connect.
Pour connaître la procédure à suivre, consultez Se connecter à GitHub.
Créez un lien vers un dépôt Developer Connect.
Pour connaître la procédure à suivre, consultez Ajouter des liens de dépôt à des connexions existantes.
Facultatif : Préparez les métadonnées de votre module Terraform
Lorsque vous importez votre module Terraform, vous pouvez fournir vos propres métadonnées ou laisser App Design Center créer un fichier de métadonnées pour vous.
Par exemple, voici un fichier metadata.yaml que vous pouvez créer pour un compte de service :
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
Importer depuis votre dépôt
Vous pouvez créer un composant App Design Center en important un module Terraform basé sur un seul produit Google Cloud . Si vous apportez des modifications à votre module Terraform dans votre dépôt, répétez ces étapes pour importer vos modifications.
Pour importer votre module Terraform, procédez comme suit :
Identifiez le catalogue dans lequel vous souhaitez créer votre composant.
gcloud design-center spaces catalogs list \ --project=PROJECT \ --location=LOCATION \ --space=SPACERemplacez les éléments suivants :
PROJECT: ID de votre projet de gestion.LOCATION: ID de votre emplacement.SPACE: ID de votre espace.
Pour en savoir plus, consultez gcloud design-center spaces catalogs list.
Créez un modèle de catalogue dans le catalogue privé de votre espace.
gcloud design-center spaces catalogs templates create COMPONENT_TEMPLATE \ --project=PROJECT \ --catalog=CATALOG \ --location=LOCATION \ --space=SPACE \ --template-category=component-templateRemplacez les éléments suivants :
COMPONENT_TEMPLATE: ID du modèle de composant que vous souhaitez créer.PROJECT: ID de votre projet de gestion.CATALOG: ID de votre catalogue.LOCATION: ID de votre emplacement.SPACE: ID de votre espace.
Pour en savoir plus, consultez gcloud design-center spaces catalogs templates create.
Créez une révision de modèle de catalogue basée sur le module Terraform de votre dépôt.
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-repoRemplacez les éléments suivants :
REVISION: ID de révision de la révision que vous souhaitez créer.PROJECT: ID de votre projet de gestion.CATALOG: ID de votre catalogue.LOCATION: ID de votre emplacement.SPACE: ID de votre espace.COMPONENT_TEMPLATE: ID du modèle que vous avez créé à l'étape précédente.DEVELOPER_CONNECT_REPO: dépôt Developer Connect à utiliser comme source. Exemple :projects/my-project/locations/us-central1/connections/my-connection/gitRepositoryLinks/my-repoDEVELOPER_CONNECT_REPO_REF: branche ou tag Git dans le dépôt. Par exemple,refs/tags/v1.0.0ourefs/heads/main.DEVELOPER_CONNECT_REPO_DIR: répertoire du dépôt. Exemple :modules/my-product- Pour spécifier les métadonnées du module Terraform, procédez de l'une des manières suivantes :
- Pour utiliser votre propre fichier de métadonnées, remplacez
METADATApar votre fichiermetadata.yaml. - Pour générer automatiquement un fichier de métadonnées dans votre dépôt, spécifiez l'indicateur
--use-repo.
- Pour utiliser votre propre fichier de métadonnées, remplacez
Pour en savoir plus, consultez gcloud design-center spaces catalogs templates revisions create.
Partagez votre catalogue avec d'autres espaces.
gcloud design-center spaces catalogs shares create SHARE \ --project=PROJECT \ --catalog=CATALOG \ --location=LOCATION \ --space=SPACE \ --destination-space=DESTINATION_SPACERemplacez les éléments suivants :
SHARE: ID du partage que vous souhaitez créer.PROJECT: ID de votre projet de gestion.CATALOG: ID de votre catalogue.LOCATION: ID de votre emplacement.SPACE: ID de votre espace.DESTINATION_SPACE: ID de l'espace de destination.
Pour en savoir plus, consultez gcloud design-center spaces catalogs shares create.
Créer un modèle d'application à l'aide de composants importés
Créez un modèle d'application à l'aide de vos composants importés et de ceux fournis par Google.
Créez un modèle d'application.
gcloud design-center spaces application-templates create APPLICATION_TEMPLATE \ --project=PROJECT \ --location=LOCATION \ --space=SPACERemplacez les éléments suivants :
APPLICATION_TEMPLATE: ID du modèle d'application que vous souhaitez créer.PROJECT: ID de votre projet de gestion.LOCATION: ID de votre emplacement.SPACE: ID de votre espace.
Pour en savoir plus, consultez gcloud design-center spaces application-templates create.
Identifiez les URI de révision du modèle pour les composants que vous souhaitez ajouter au modèle.
gcloud design-center spaces shared-templates list \ --project=PROJECT \ --location=LOCATION \ --space=SPACE \ --uriRemplacez les éléments suivants :
PROJECT: ID de votre projet de gestion.LOCATION: ID de votre emplacement.SPACE: ID de votre espace.
Pour en savoir plus, consultez gcloud design-center spaces shared-templates list.
Ajoutez un composant à votre modèle d'application.
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_URIRemplacez les éléments suivants :
COMPONENT: ID du composant que vous souhaitez ajouter au modèle.PROJECT: ID de votre projet de gestion.LOCATION: ID de votre emplacement.SPACE: ID de votre espace.APPLICATION_TEMPLATE: ID du modèle d'application auquel vous ajoutez le composant.SHARED_TEMPLATE_URI: URI du modèle partagé du composant. Exemple :projects/my-project/locations/us-central1/spaces/my-space/sharedTemplates/my-shared-template/revisions/rev1
Pour en savoir plus, consultez gcloud design-center spaces application-templates components create.
Ajoutez un deuxième composant à votre modèle.
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_2Remplacez les éléments suivants :
COMPONENT_2: ID du deuxième composant que vous souhaitez ajouter au modèle.PROJECT: ID de votre projet de gestion.LOCATION: ID de votre emplacement.SPACE: ID de votre espace.APPLICATION_TEMPLATE: ID du modèle d'application auquel vous ajoutez le composant.SHARED_TEMPLATE_URI_2: deuxième composant de l'URI du modèle partagé. Exemple :projects/my-project/locations/us-central1/spaces/my-space/sharedTemplates/my-shared-template/revisions/rev1
Pour en savoir plus, consultez gcloud design-center spaces application-templates components create.
Créez une connexion entre les deux composants.
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_2Remplacez les éléments suivants :
CONNECTION: ID de la connexion que vous souhaitez ajouter au modèle.PROJECT: ID de votre projet de gestion.LOCATION: ID de votre emplacement.SPACE: ID de votre espace.APPLICATION_TEMPLATE: ID du modèle d'application auquel vous ajoutez le composant.SHARED_TEMPLATE_URI_2: deuxième composant de l'URI du modèle partagé. Exemple :projects/my-project/locations/us-central1/spaces/my-space/sharedTemplates/my-shared-template/revisions/rev1
Pour en savoir plus, consultez gcloud design-center spaces application-templates components connections create.
Étapes suivantes
- Avant de déployer, créez une application.
- Déployez-la depuis la console.
- Exportez votre code Terraform.