Importer des composants

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 :

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.

  1. Créez une connexion Developer Connect.

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

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

  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 | --use-repo
    
    

    Remplacez 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-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 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 METADATA par votre fichier metadata.yaml.
      • Pour générer automatiquement un fichier de métadonnées dans votre dépôt, spécifiez l'indicateur --use-repo.

    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 de ceux 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 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 \
      --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. 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 : 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.

  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 : 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