Campos de especificação de aplicação do gcloud

Nesta página, explicamos os diferentes campos que podem ser definidos no arquivo de configuração do Anthos Config Management. Use esse arquivo ao configurar os componentes do Anthos Config Management com a ferramenta de linha de comando gcloud. O comando da ferramenta gcloud que você usa para aplicar o arquivo de configuração também tem documentação de referência.

O formato do arquivo usado com a ferramenta gcloud é semelhante ao formato do objeto ConfigManagement. No entanto, os formatos são diferentes e os dois não são intercambiáveis.

Configuração para o Config Sync

Chave Descrição
spec.configSync.enabled Se true, ativa o Config Sync. O padrão é false.
spec.configSync.syncRepo O URL do repositório Git para usar como fonte. É possível omitir esse campo se você não tiver um repositório Git preparado.
spec.configSync.syncBranch A ramificação do repositório com que sincronizar. Padrão: master.
spec.configSync.policyDir O caminho no repositório Git para o diretório raiz que contém a configuração que você quer sincronizar. Padrão: o diretório raiz do repositório
spec.configSync.syncWait Período em segundos entre sincronizações consecutivas. Padrão: 15.
spec.configSync.syncRev Revisão Git (tag ou hash) para check-out. HEAD padrão.
spec.configSync.preventDrift Se true, ativa o webhook de admissão do Config Sync para evitar desvios rejeitando as alterações conflitantes que estão sendo enviadas para clusters ativos. Padrão: false O Config Sync sempre corrige desvios, independentemente do valor desse campo. Esse campo é compatível com o Anthos Config Management versão 1.10.0 e posterior.
spec.git.auth O tipo de secret configurado para acesso ao repositório Git. Precisa ser ssh, cookiefile, gcenode, gcpserviceaccount, token ou none. A validação desse campo diferencia maiúsculas de minúsculas. Obrigatório.
spec.git.gcpServiceAccountEmail A conta de serviço do Google Cloud usada para anotar a conta de serviço do Kubernetes do controlador RootSync ou RepoSync. Este campo é usado apenas quando spec.git.auth é gcpserviceaccount.
spec.configSync.sourceFormat Quando definido como unstructured, configura um repositório não hierárquico. Padrão: hierarchy.

Configuração de proxy para o repositório Git

Se as políticas de segurança da sua organização exigirem o roteamento do tráfego por meio de um proxy HTTPS, use o URI do proxy para configurar o Config Sync para se comunicar com o host Git. O proxy só é compatível com o tipo de autorização cookiefile, none ou token.

Chave Descrição
spec.configSync.httpsProxy Define uma variável de ambiente HTTPS_PROXY usada para acessar o repositório Git.

Configuração do Policy Controller

Chave Descrição
spec.policyController.enabled Se true, ativa o Policy Controller. O padrão é false.
spec.policyController.templateLibraryInstalled Se true, instala uma biblioteca de modelos de restrição para tipos de política comuns. O padrão é true.
spec.policyController.referentialRulesEnabled Se true, ativa o suporte para restrições referenciais. Entenda as advertências sobre consistência posterior. O padrão é false.
spec.policyController.auditIntervalSeconds Período em segundos entre auditorias consecutivas de violações de restrições. Defina como 0 para desativar a auditoria. Padrão: 60.
spec.policyController.logDeniesEnabled Se true, registra todas as negações e falhas de simulação. O padrão é false.
spec.policyController.exemptableNamespaces Uma lista de namespaces a serem removidos da aplicação do webhook de admissão do Policy Controller. Todas as violações ainda serão informadas na auditoria. O padrão é uma lista vazia.

Configuração do controlador de hierarquia

Chave Descrição
spec.hierarchyController.enabled Se true, ativa o controlador de hierarquia. O padrão é false.
spec.hierarchyController.enableHierarchicalResourceQuota Se true, ativa cotas de recursos hierárquicas. O padrão é false.
spec.hierarchyController.enablePodTreeLabels Se true, ativa a observação hierárquica de cargas de trabalho. O padrão é false.

Exemplo de especificação do gcloud apply

applySpecVersion: 1
spec:
  configSync:
    enabled: true
    sourceFormat: unstructured
    syncRepo: https://github.com/GoogleCloudPlatform/anthos-config-management-samples
    syncBranch: main
    secretType: none
    policyDir: root-multirepo-unstructured
  policyController:
    enabled: false
  hierarchyController:
     enabled: false