Komponenten importieren

Wenn Sie benutzerdefinierte Terraform-Module in das Application Design Center importieren, können Sie Ihre eigenen wiederverwendbaren Google Cloud -Konfigurationen als Komponenten in Ihre Anwendungsvorlagen einfügen. Wenn Sie ein Terraform-Modul importieren, erstellt das App Design Center eine Komponentenvorlage im Katalog Ihres Bereichs, damit Entwickler Ihre festgelegten Designentscheidungen und Richtlinien wiederverwenden können.

Hintergrundinformationen zum Erstellen von Terraform-Modulen für Google Cloudfinden Sie hier:

Hinweis

Bitten Sie Ihren Administrator, Ihnen die erforderlichen Rollen für den für die Verwaltung von Anwendungen konfigurierten Ordner oder das Verwaltungsprojekt zuzuweisen, wie in der folgenden Tabelle aufgeführt, um die Aufgaben in diesem Dokument auszuführen:

Aufgabe Erforderliche Rollen
Terraform-Module als benutzerdefinierte Komponenten importieren Application Design Center Admin (roles/designcenter.admin) oder
Application Design Center User (roles/designcenter.user)

Weitere Informationen zu Rollen finden Sie unter Zugriffssteuerung mit IAM.

Module konfigurieren und importieren

Führen Sie die folgenden Schritte aus, um eine Verbindung zu GitHub herzustellen, eine Metadatendatei zu erstellen und ein Terraform-Modul zu importieren.

Über Developer Connect mit Ihrem Repository verbinden

Erstellen Sie eine Developer Connect-Verbindung zum GitHub-Repository, in dem Sie Ihre Google Cloud Terraform-Module speichern. Sie verwenden diese Verbindung beim Importieren.

  1. Erstellen Sie eine Developer Connect-Verbindung.

    Eine Anleitung finden Sie unter Verbindung zu GitHub herstellen.

  2. Erstellen Sie einen Developer Connect-Repository-Link.

    Eine Anleitung finden Sie unter Repository-Links zu vorhandenen Verbindungen hinzufügen.

Optional: Metadaten des Terraform-Moduls vorbereiten

Wenn Sie Ihr Terraform-Modul importieren, können Sie Ihre eigenen Metadaten angeben oder eine Metadatendatei vom App Design Center erstellen lassen.

Hier ist ein Beispiel für eine metadata.yaml-Datei, die Sie für ein Dienstkonto erstellen könnten:

  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

Aus Ihrem Repository importieren

Sie können eine App Design Center-Komponente erstellen, indem Sie ein Terraform-Modul importieren, das auf einem einzelnen Google Cloud -Produkt basiert. Wenn Sie Änderungen an Ihrem Terraform-Modul in Ihrem Repository vornehmen, wiederholen Sie diese Schritte, um Ihre Änderungen zu importieren.

So importieren Sie Ihr Terraform-Modul:

  1. Suchen Sie den Katalog, in dem Sie die Komponente erstellen möchten.

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

    Ersetzen Sie Folgendes:

    Weitere Informationen finden Sie unter gcloud design-center spaces catalogs list.

  2. Erstellen Sie eine Katalogvorlage im privaten Katalog Ihres Space.

      gcloud design-center spaces catalogs templates create COMPONENT_TEMPLATE \
      --project=PROJECT \
      --catalog=CATALOG \
      --location=LOCATION \
      --space=SPACE \
      --template-category=component-template
    

    Ersetzen Sie Folgendes:

    • COMPONENT_TEMPLATE: Die Vorlagen-ID für die Komponentenvorlage, die Sie erstellen möchten.
    • PROJECT: Die ID Ihres Verwaltungsprojekts.
    • CATALOG: Ihre Katalog-ID.
    • LOCATION: Ihre Standort-ID.
    • SPACE: Ihre Space-ID.

    Weitere Informationen finden Sie unter gcloud design-center spaces catalogs templates create.

  3. Erstellen Sie eine Katalogvorlagenversion basierend auf dem Terraform-Modul in Ihrem 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
    
    

    Ersetzen Sie Folgendes:

    • REVISION: Die Revisions-ID für die Version, die Sie erstellen möchten.
    • PROJECT: Die ID Ihres Verwaltungsprojekts.
    • CATALOG: Ihre Katalog-ID.
    • LOCATION: Ihre Standort-ID.
    • SPACE: Ihre Space-ID.
    • COMPONENT_TEMPLATE: Die Vorlagen-ID, die Sie im vorherigen Schritt erstellt haben.
    • DEVELOPER_CONNECT_REPO: Das Developer Connect-Repository, das als Quelle verwendet werden soll. Beispiel: projects/my-project/locations/us-central1/connections/my-connection/gitRepositoryLinks/my-repo.
    • DEVELOPER_CONNECT_REPO_REF: Der Git-Zweig oder das Git-Tag im Repository. Beispiel: refs/tags/v1.0.0 oder refs/heads/main
    • DEVELOPER_CONNECT_REPO_DIR: Das Verzeichnis im Repository. Beispiel: modules/my-product.
    • So geben Sie die Metadaten des Terraform-Moduls an:
      • Wenn Sie Ihre eigene Metadatendatei verwenden möchten, ersetzen Sie METADATA durch Ihre metadata.yaml-Datei.
      • Wenn Sie Metadatendateien in Ihrem Repository automatisch verwenden möchten, lassen Sie das Flag „--metadata“ unspezifiziert.

    Weitere Informationen finden Sie unter gcloud design-center spaces catalogs templates revisions create.

  4. Katalog für andere Gruppenbereiche freigeben

      gcloud design-center spaces catalogs shares create SHARE \
      --project=PROJECT \
      --catalog=CATALOG \
      --location=LOCATION \
      --space=SPACE \
      --destination-space=DESTINATION_SPACE
    

    Ersetzen Sie Folgendes:

    • SHARE: Die Freigabe-ID für die Freigabe, die Sie erstellen möchten.
    • PROJECT: Die ID Ihres Verwaltungsprojekts.
    • CATALOG: Ihre Katalog-ID.
    • LOCATION: Ihre Standort-ID.
    • SPACE: Ihre Space-ID.
    • DESTINATION_SPACE: Die ID des Ziel-Space.

    Weitere Informationen finden Sie unter gcloud design-center spaces catalogs shares create.

Anwendungsvorlage mit importierten Komponenten erstellen

Erstellen Sie eine Anwendungsvorlage mit Ihren importierten Komponenten und den von Google bereitgestellten Komponenten.

  1. Neue Anwendungsvorlage erstellen

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

    Ersetzen Sie Folgendes:

    • APPLICATION_TEMPLATE: Die Vorlagen-ID für die Anwendungsvorlage, die Sie erstellen möchten.
    • PROJECT: Die ID Ihres Verwaltungsprojekts.
    • LOCATION: Ihre Standort-ID.
    • SPACE: Ihre Space-ID.

    Weitere Informationen finden Sie unter gcloud design-center spaces application-templates create.

  2. Ermitteln Sie die Vorlagenversions-URIs für die Komponenten, die Sie der Vorlage hinzufügen möchten.

      gcloud design-center spaces shared-templates list \
      --project=PROJECT \
      --location=LOCATION \
      --space=SPACE \
      --uri
    

    Ersetzen Sie Folgendes:

    Weitere Informationen finden Sie unter gcloud design-center spaces shared-templates list.

  3. Fügen Sie Ihrer Anwendungsvorlage eine Komponente hinzu.

      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
    

    Ersetzen Sie Folgendes:

    • COMPONENT: Die Komponenten-ID für die Komponente, die Sie der Vorlage hinzufügen möchten.
    • PROJECT: Die ID Ihres Verwaltungsprojekts.
    • LOCATION: Ihre Standort-ID.
    • SPACE: Ihre Space-ID.
    • APPLICATION_TEMPLATE: Die Vorlagen-ID für die Anwendungsvorlage, der Sie die Komponente hinzufügen.
    • SHARED_TEMPLATE_URI: Der URI der geteilten Vorlage der Komponente. Beispiel: projects/my-project/locations/us-central1/spaces/my-space/sharedTemplates/my-shared-template/revisions/rev1.

    Weitere Informationen finden Sie unter gcloud design-center spaces application-templates components create.

  4. Fügen Sie Ihrer Vorlage eine zweite Komponente hinzu.

      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
    

    Ersetzen Sie Folgendes:

    • COMPONENT_2: Die Komponenten-ID für die zweite Komponente, die Sie der Vorlage hinzufügen möchten.
    • PROJECT: Die ID Ihres Verwaltungsprojekts.
    • LOCATION: Ihre Standort-ID.
    • SPACE: Ihre Space-ID.
    • APPLICATION_TEMPLATE: Die Vorlagen-ID für die Anwendungsvorlage, der Sie die Komponente hinzufügen.
    • SHARED_TEMPLATE_URI_2: Der URI der zweiten Komponente der geteilten Vorlage. Beispiel: projects/my-project/locations/us-central1/spaces/my-space/sharedTemplates/my-shared-template/revisions/rev1.

    Weitere Informationen finden Sie unter gcloud design-center spaces application-templates components create.

  5. Erstellen Sie eine Verbindung zwischen den beiden Komponenten.

      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
    

    Ersetzen Sie Folgendes:

    • CONNECTION: Die Verbindungs-ID für die Verbindung, die Sie der Vorlage hinzufügen möchten.
    • PROJECT: Die ID Ihres Verwaltungsprojekts.
    • LOCATION: Ihre Standort-ID.
    • SPACE: Ihre Space-ID.
    • APPLICATION_TEMPLATE: Die Vorlagen-ID für die Anwendungsvorlage, der Sie die Komponente hinzufügen.
    • SHARED_TEMPLATE_URI_2: Der URI der zweiten Komponente der geteilten Vorlage. Beispiel: projects/my-project/locations/us-central1/spaces/my-space/sharedTemplates/my-shared-template/revisions/rev1.

    Weitere Informationen finden Sie unter gcloud design-center spaces application-templates components connections create.

Nächste Schritte