U kunt geheime, versleutelde waarden toepassen op Terraform-configuraties die u toevoegt aan Cloud Assembly-cloudsjabloonontwerpen.

  1. Voeg in uw Git-opslagplaats een Terraform-configuratiebronbestand toe dat naar de geheime eigenschappen verwijst als variabelen.

    In dit voorbeeld van een Terraform-configuratiebron zijn API- en applicatiesleutels de geheime variabelen.

    variable "datadog_api_key" {
      description = "Datadog API Key"
    }
     
    variable "datadog_app_key" {
      description = "Datadog App Key"
    }
    provider "datadog" {
      api_key = "${var.datadog_api_key}"
      app_key = "${var.datadog_app_key}"
    }
     
    # Create a new monitor
    resource "datadog_monitor" "default" {
      # ...
    }
     
    # Create a new timeboard
    resource "datadog_timeboard" "default" {
      # ...
    }
  2. Ga in Cloud Assembly naar Infrastructuur > Beheer > Geheimen en voer de waarden van uw geheime eigenschap in.

    Voeg geheime namen en bijbehorende waarden toe. Voor de namen is het het gemakkelijkst om gewoon dezelfde naam als de naam van de variabele uit uw Terraform-bron in te voeren.

    Zie zo nodig Geheime Cloud Assembly-eigenschappen voor meer informatie.

    Lijst met geheimen
  3. Importeer in Cloud Assembly de Terraform-configuratie voor gebruik in een cloudsjabloon.

    Ga naar Ontwerp > Cloudsjablonen en klik op Nieuw van > Terraform.

    Opmerking: Hoewel de variabelen op de laatste pagina van de wizard kunnen worden geselecteerd, hoeft u de geheime variabelen niet als gevoelig in te stellen. Geheime Cloud Assembly-variabelen zijn al versleuteld en hebben de versleuteling nodig die de wizard toepast.

    Zie zo nodig Ontwerpen voor Terraform-configuraties in Cloud Assembly voor meer informatie.

    De cloudsjabloon zou op de volgende code moeten lijken:

    inputs:
      datadog_api_key:
        type: string
        description: Datadog API Key
      datadog_app_key:
        type: string
        description: Datadog App Key
    resources:
      terraform:
        type: Cloud.Terraform.Configuration
        properties:
          variables:
            datadog_api_key: '${input.datadog_api_key}'
            datadog_app_key: '${input.datadog_app_key}'
          providers: []
          terraformVersion: 0.12.29
          configurationSource:
            repositoryId: 0fbf8f5e-54e1-4da3-9508-2b701gf25f51
            commitId: ed12424b249aa50439kr1c268942a4616bd751b6
            sourceDirectory: datadog
  4. In de code-editor wijzigt u voor de geheime waarden handmatig de waarde input in secret zoals weergegeven.
    terraform:
      type: Cloud.Terraform.Configuration
      properties:
        variables:
          datadog_api_key: '${secret.datadog_api_key}'
          datadog_app_key: '${secret.datadog_app_key}'
  5. Verwijder in de sectie inputs: van de code de invoervermeldingen die zijn vervangen door de bindingen met geheime eigenschappen.