Importer des composants

App Design Center est compatible avec plusieurs Google Cloud produits 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 Google Cloud produits. L'importation de modules Terraform vous permet d'effectuer les opérations suivantes :

  • Accélérer et contrôler le développement d'applications.
  • Réutiliser vos décisions de conception existantes dans App Design Center.
  • Aider 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 comme composant dans la conception de votre modèle d'application.

Pour en savoir plus sur Terraform sur Google Cloud, consultez les ressources suivantes :

Avant de commencer

Pour effectuer les tâches décrites dans ce document, demandez à votre administrateur de vous accorder les rôles nécessaires dans le dossier compatible avec les applications ou le projet de gestion, comme indiqué dans le tableau suivant :

Tâche Rôles requis
Importer des modules Terraform en tant que composants personnalisés Administrateur App Design Center (roles/designcenter.admin) ou
utilisateur App Design Center (roles/designcenter.user)

Pour en savoir plus sur les rôles, consultez la page Contrôle des accès avec IAM.

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 Google Cloud modules Terraform. Vous utiliserez cette connexion lors de l'importation.

  1. Créez une connexion Developer Connect.

    Pour connaître la procédure à suivre, consultez Se connecter à GitHub.

  2. Créez un lien de 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éparer 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.

Voici un exemple de 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 Google Cloud produit. 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 :

  1. Identifiez le catalogue dans lequel vous souhaitez créer votre composant.

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

    Remplacez 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.

  2. 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-template
    

    Remplacez 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.

  3. 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
    
    

    Remplacez les éléments suivants :

    • REVISION: ID 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. Par exemple, projects/my-project/locations/us-central1/connections/my-connection/gitRepositoryLinks/my-repo.
    • DEVELOPER_CONNECT_REPO_REF: branche ou tag Git dans le dépôt. Par exemple, refs/tags/v1.0.0 ou refs/heads/main.
    • DEVELOPER_CONNECT_REPO_DIR: répertoire dans le dépôt. Par exemple, modules/my-product.
    • Pour spécifier les métadonnées du module Terraform, effectuez l'une des opérations suivantes :
      • Pour utiliser votre propre fichier de métadonnées, remplacez METADATA par votre fichier metadata.yaml.
      • Pour utiliser automatiquement les fichiers de métadonnées situés dans votre dépôt, ne spécifiez pas l'option --metadata.

    Pour en savoir plus, consultez gcloud design-center spaces catalogs templates revisions create.

  4. 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_SPACE
    

    Remplacez 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 des composants fournis par Google.

  1. Créez un modèle d'application.

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

    Remplacez 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.

  2. Identifiez les URI de révision de 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 \
      --uri
    

    Remplacez 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.

  3. 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_URI
    

    Remplacez 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. Par 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.

  4. 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_2
    

    Remplacez 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: URI du modèle partagé du deuxième composant. Par 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.

  5. 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_2
    

    Remplacez 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: URI du modèle partagé du deuxième composant. Par 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.

Étape suivante