Uso de pipelines de configuração config-pipelines

Saiba como você pode usar pipelines de configuração para implantar diferentes configurações no AEM as a Cloud Service, como configurações de encaminhamento de logs, tarefas de manutenção relacionadas à limpeza e várias configurações de CDN.

Visão geral overview

Um pipeline de configuração do Cloud Manager implanta arquivos de configuração (criados no formato YAML) em um ambiente de destino. Vários recursos do AEM as a Cloud Service podem ser configurados dessa maneira, incluindo o encaminhamento de logs, tarefas de manutenção relacionadas à limpeza e vários recursos de CDN.

Os pipelines de configuração podem ser implantados por meio do Cloud Manager para tipos de ambiente de desenvolvimento, preparo e produção em programas de produção (não sandbox). Os arquivos de configuração podem ser implantados em ambientes de desenvolvimento rápido (RDEs) usando a ferramenta de linha de comando.

As seções a seguir deste documento fornecem uma visão geral de informações importantes sobre como os pipelines de configuração podem ser usados e como as configurações para eles devem ser estruturadas. Ele descreve conceitos gerais compartilhados entre todos ou um subconjunto dos recursos compatíveis com os pipelines de configuração.

Configurações suportadas configurations

A tabela a seguir oferece uma lista abrangente dessas configurações com links para a documentação dedicada descrevendo sua sintaxe de configuração distinta e outras informações.

Tipo
Valor kind YAML
Descrição
Regras de Filtro de Tráfego, incluindo o WAF
CDN
Declarar regras para bloquear tráfego mal-intencionado
Solicitar transformações
CDN
Declarar regras para transformar a forma da solicitação de tráfego
Transformações de Resposta
CDN
Declarar regras para transformar a forma da resposta para uma determinada solicitação
Redirecionamentos do lado do cliente
CDN
Declarar redirecionamentos no lado do cliente no estilo 301/302
Seletores de Origem
CDN
Declarar regras para rotear o tráfego para diferentes backends, incluindo aplicativos não-Adobe
Páginas de erro da CDN
CDN
Substitua a página de erro padrão se a origem do AEM não puder ser acessada, fazendo referência ao local do conteúdo estático auto-hospedado no arquivo de configuração
Limpeza da CDN
CDN
Declarar as chaves de API de limpeza usadas para limpar a CDN
Token HTTP CDN gerenciado pelo cliente
CDN
Declare o valor da X-AEM-Edge-Key necessária para chamar o CDN de Adobe de um CDN do cliente
Autenticação básica
CDN
Declarar os nomes de usuário e senhas para uma caixa de diálogo de autenticação básica que protege determinados URLs.
Tarefa de manutenção de limpeza de versão
MaintenanceTasks
Otimizar o repositório AEM declarando regras sobre quando as versões do conteúdo devem ser removidas
Tarefa de manutenção de limpeza de log de auditoria
MaintenanceTasks
Otimizar o log de auditoria do AEM para aumentar o desempenho, declarando regras sobre quando os logs devem ser removidos
Encaminhamento de logs
LogForwarding
Configure os pontos de extremidade e as credenciais para encaminhar logs para vários destinos, incluindo Armazenamento Azure Blob, Datadog, HTTPS, Elasticsearch, Splunk)

Criação e gerenciamento de pipelines de configuração creating-and-managing

Para obter informações sobre como criar e configurar pipelines, consulte o documento Pipelines de CI/CD.

Ao criar um pipeline de configuração no Cloud Manager, selecione uma Implantação direcionada em vez de Código de pilha completa ao configurar o pipeline.

Como observado anteriormente, a configuração de RDEs é implantada usando a ferramenta de linha de comando, em vez de um pipeline.

Sintaxe comum common-syntax

Cada arquivo de configuração começa com propriedades que se assemelham ao seguinte trecho de exemplo:

  kind: "LogForwarding"
  version: "1"
  metadata:
    envTypes: ["dev"]
Propriedade
Descrição
Padrão
kind
Uma string que determina o tipo de configuração, como encaminhamento de logs, regras de filtro de tráfego ou transformações de solicitações
Obrigatório, sem padrão
version
Uma string que representa a versão do esquema
Obrigatório, sem padrão
envTypes
Essa matriz de cadeias de caracteres é uma propriedade filho do nó metadata. Os valores possíveis são dev, stage, prod ou qualquer combinação e determina para quais tipos de ambiente a configuração será processada. Por exemplo, se a matriz incluir apenas dev, a configuração não será carregada em ambientes de preparo ou produção, mesmo se a configuração for implantada lá.
Todos os tipos de ambiente (dev, estágio, prod)

Você pode usar o utilitário yq para validar localmente a formatação YAML do seu arquivo de configuração (por exemplo, yq cdn.yaml).

Estrutura da pasta folder-structure

Uma pasta chamada /config ou semelhante deve estar na parte superior da árvore, com mais um arquivo YAML em algum lugar em uma árvore abaixo dela.

Por exemplo:

/config
  cdn.yaml

ou

/config
  /dev
    cdn.yaml

Os nomes de pasta e arquivos abaixo de /config são arbitrários. Entretanto, o arquivo YAML deve incluir um valor de propriedade kind válido.

Normalmente, as configurações são implantadas em todos os ambientes. Se todos os valores de propriedade forem idênticos para cada ambiente, um único arquivo YAML será suficiente. No entanto, é comum que os valores de propriedade sejam diferentes entre os ambientes, por exemplo, ao testar um ambiente mais baixo.

As seções a seguir ilustram algumas estratégias para estruturar seus arquivos.

Um único arquivo de configuração para todos os ambientes single-file

A estrutura do arquivo será semelhante ao seguinte:

/config
  cdn.yaml
  logForwarding.yaml

Use essa estrutura quando a mesma configuração for suficiente para todos os ambientes e para todos os tipos de configuração (CDN, encaminhamento de logs etc.). Neste cenário, a propriedade de matriz envTypes incluiria todos os tipos de ambiente.

   kind: "cdn"
   version: "1"
   metadata:
     envTypes: ["dev", "stage", "prod"]

Usando variáveis de ambiente do tipo secreto, é possível que propriedades secretas variem de acordo com o ambiente, conforme ilustrado pela referência ${{SPLUNK_TOKEN}}

kind: "LogForwarding"
version: "1"
metadata:
  envTypes: ["dev"]
data:
  splunk:
    default:
      enabled: true
      host: "splunk-host.example.com"
      token: "${{SPLUNK_TOKEN}}"
      index: "AEMaaCS"

Um Arquivo Separado Por Tipo De Ambiente file-per-env

A estrutura do arquivo será semelhante ao seguinte:

/config
  cdn-dev.yaml
  cdn-stage.yaml
  cdn-prod.yaml
  logForwarding-dev.yaml
  logForwarding-stage.yaml
  logForwarding-prod.yaml

Use esta estrutura quando houver diferenças nos valores de propriedade. Nos arquivos, é de se esperar que o valor da matriz envTypes corresponda ao sufixo, por exemplo
cdn-dev.yaml e logForwarding-dev.yaml com um valor de ["dev"], cdn-stage.yaml e logForwarding-stage.yaml com um valor de ["stage"], e assim por diante.

Uma Pasta Por Ambiente folder-per-env

Nesta estratégia, há uma pasta config separada por ambiente, com um pipeline separado declarado no Cloud Manager para cada uma.

Essa abordagem é particularmente útil se você tiver vários ambientes de desenvolvimento, em que cada um tem valores de propriedade exclusivos.

A estrutura do arquivo será semelhante ao seguinte:

/config/dev1
  cdn.yaml
  logForwarding.yaml
/config/dev2
  cdn.yaml
  logForwarding.yaml
/config/prod
  cdn.yaml
  logForwarding.yaml

Uma variação dessa abordagem é manter uma ramificação separada por ambiente.

Variáveis de ambiente secreto secret-env-vars

Para que informações confidenciais não precisem ser armazenadas no controle do código-fonte, os arquivos de configuração dão suporte a variáveis de ambiente do Cloud Manager do tipo secret. Para algumas configurações, incluindo o encaminhamento de logs, as variáveis de ambiente secretas são obrigatórias para determinadas propriedades.

O trecho abaixo é um exemplo de como a variável de ambiente secreta ${{SPLUNK_TOKEN}} é usada na configuração.

kind: "LogForwarding"
version: "1"
metadata:
  envTypes: ["dev"]
data:
  splunk:
    default:
      enabled: true
      host: "splunk-host.example.com"
      token: "${{SPLUNK_TOKEN}}"
      index: "AEMaaCS"

Consulte o documento Variáveis de ambiente do Cloud Manager para obter detalhes sobre como usar as variáveis de ambiente.

recommendation-more-help
fbcff2a9-b6fe-4574-b04a-21e75df764ab