É possível aplicar valores secretos e criptografados às configurações do Terraform que você adiciona aos designs de modelo de nuvem do Cloud Assembly.

  1. No seu repositório git, adicione um arquivo de origem de configuração do Terraform que faz referência às propriedades secretas como variáveis.

    Neste exemplo de fonte de configuração do Terraform, as chaves de API e de aplicativo são as variáveis secretas.

    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. No Cloud Assembly, vá para Infraestrutura > Administração > Segredos e insira seus valores de propriedade secreta.

    Adicione nomes secretos e valores correspondentes. Para os nomes, é mais fácil simplesmente inserir o mesmo nome que o nome da variável da origem do Terraform.

    Se necessário, consulte Propriedades secretas do Cloud Assembly para obter mais detalhes.

    Lista de segredos
  3. No Cloud Assembly, importe a configuração do Terraform para uso em um modelo de nuvem.

    Acesse Design > Modelos de Nuvem e clique em Novo a Partir de > Terraform.

    Observação: Mesmo que as variáveis apareçam para seleção na última página do assistente, você não precisa definir as variáveis secretas como confidenciais. As variáveis secretas do Cloud Assembly já serão criptografadas e não precisarão da criptografia aplicada pelo assistente.

    Se necessário, consulte Projetando para configurações do Terraform no Cloud Assembly para obter mais detalhes.

    O modelo de nuvem de exemplo deve ser semelhante ao seguinte código:

    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. No editor de códigos, para os valores secretos, altere manualmente input para secret conforme mostrado.
    terraform:
      type: Cloud.Terraform.Configuration
      properties:
        variables:
          datadog_api_key: '${secret.datadog_api_key}'
          datadog_app_key: '${secret.datadog_app_key}'
  5. Na seção inputs: do código, remova as entradas que foram substituídas pelas vinculações para propriedades secretas.