Arquivo de configuração da VM
Em uma VM Linux, o conector lê/etc/clicklink/config.yaml. O clicklink clctl init o grava e o preserva entre novas execuções, a menos que você informe --force. As chaves omitidas do arquivo usam os padrões compilados abaixo. O init não grava credenciais nele: as HMAC keys ficam nos caminhos *_file e o certificado do cliente em /etc/clicklink/tls.
Chaves de nível superior
| Chave | Padrão | Significado |
|---|---|---|
pcm_infra_uuid | gerado por init | Identificador único desta implantação do conector, enviado em cada solicitação upstream. Preservado entre reexecuções, inclusive com --force. Não edite. |
cloud | detectado por init | Rótulo do provedor de Cloud deste host. Obrigatório; os daemons não iniciam se estiver vazio. |
region | detectada por init | Rótulo da região deste host. Obrigatório; os daemons não iniciam se estiver vazio. |
namespace_prefix | ns- | Prefixo dos espaços de nomes do Kubernetes em que os serviços gerenciados residem (<prefix><service>). Todos os daemons derivam os espaços de nomes dele. |
report_infra_meta | true | Reporta o nome, a região e a conta do cluster gerenciado ao ClickHouse Cloud a cada heartbeat. Equivalente na VM ao cluster.reportInfraMeta do chart. |
token_renew.sweep_interval | 10m | Com que frequência o executor e o scraper verificam a renovação dos tokens de ServiceAccount do pacote de acesso. |
token_renew.requested_ttl | 24h | Tempo de vida do token solicitado na renovação. O API server pode limitá-lo a um valor menor. |
api | Bloco de conexão com a API upstream; consulte api. | |
scraper | Bloco do daemon scraper; consulte scraper. | |
troubleshooter | Bloco do daemon solucionador de problemas; consulte troubleshooter. | |
executor | Bloco do daemon executor (modo gerenciado); consulte executor. | |
observability | Bloco compartilhado de logging e porta; consulte observability. |
instances: neste arquivo. As instâncias residem no registro de instâncias.
api
| Chave | Padrão | Significado |
|---|---|---|
api.endpoint | do pacote de inscrição | O endpoint do seu conector, https://<subdomain>.<connector-domain>. |
api.access_key_file | /etc/clicklink/access-key (gravado por init) | Arquivo que contém a chave de acesso HMAC (modo 0600). |
api.secret_key_file | /etc/clicklink/secret-key (gravado por init) | Arquivo que contém a chave secreta HMAC (modo 0600). |
api.access_key, api.secret_key | não definido | Chaves HMAC inline, apenas para desenvolvimento. O init nunca as grava; um arquivo que as contenha precisa da mesma proteção 0600 dos arquivos de chave. Os daemons recusam um arquivo com ambos os formatos definidos. |
api.tls.enabled | true | Apresenta o certificado de cliente mTLS nas conexões com a API. |
api.tls.cert_file | /etc/clicklink/tls/client.crt | Certificado de cliente mTLS; os daemons o regravam na renovação. |
api.tls.key_file | /etc/clicklink/tls/client.key | Chave privada do cliente mTLS. |
api.tls.ca_file | /etc/clicklink/tls/ca.crt | Cadeia de CA adicional às raízes do sistema para verificação do servidor; init instala aqui a cadeia do pacote de inscrição. |
api.retry.max_retries | 5 | Tentativas de repetição por solicitação de API. |
api.retry.initial_delay | 1s | Atraso inicial de backoff para repetição. |
api.retry.max_delay | 30s | Limite máximo de backoff. |
api.retry.jitter_factor | 0.25 | Jitter aleatório aplicado aos atrasos de backoff. |
Registro de instâncias
As instâncias ficam em/var/lib/clicklink/instances.yaml, um map instances: de nível superior indexado por nome. O init faz o seed dele e o executor o mantém; o scraper monitora o arquivo, portanto as edições são aplicadas sem reinicialização. Cada entrada descreve um destino do protocolo nativo do ClickHouse:
| Chave | Padrão | Significado |
|---|---|---|
host | Nome do host ou IP do listener nativo do ClickHouse. | |
port | Porta do protocolo nativo (normalmente 9440 com TLS e 9000 em texto simples). | |
database | Banco de dados padrão das sessões do conector. | |
secure | false | Usa TLS na conexão nativa. |
max_open_conns | não definido | Limite de conexões abertas com esta instância. |
max_idle_conns | não definido | Limite de conexões ociosas no pool desta instância. |
namespace | Espaço de nomes do Kubernetes da instância, usado para delimitar as leituras do Kubernetes pelo solucionador de problemas. | |
cluster | default | Nome do cluster do ClickHouse usado para consultas distribuídas. |
scraper
| Chave | Padrão | Significado |
|---|---|---|
scraper.enabled | false (init grava true) | Executa o daemon do scraper. |
scraper.labels.platform | Rótulo inserido em cada métrica emitida. Obrigatório quando o scraper está habilitado. | |
scraper.labels.env | Rótulo de ambiente, por exemplo, production. Obrigatório. | |
scraper.labels.region | Rótulo de região. Obrigatório. | |
scraper.scrape.interval | 2m | Frequência com que cada instância é coletada. |
scraper.scrape.timeout | 30s | Tempo limite da consulta por coleta. Deve ser menor que interval. |
scraper.scrape.max_scrape_window | 30m | Quão distante no passado a primeira coleta alcança quando nenhum cursor foi persistido. |
scraper.scrape.grace_period | 35s | Quanto tempo antes do momento atual cada janela de coleta termina, para que linhas gravadas com atraso não sejam ignoradas. |
scraper.scrape.tables | veja abaixo | Tabelas de sistema coletadas por instância. O conjunto padrão é metric_log, asynchronous_metric_log, tables, warnings, server_settings. query_log é excluída propositalmente, para que o texto SQL bruto não ultrapasse sua fronteira por padrão. |
scraper.buffer.path | /var/lib/clicklink/buffer | Área temporária em disco para entrega pelo menos uma vez enquanto o endpoint do seu connector estiver inacessível. |
scraper.buffer.retention | 168h | Idade máxima dos dados na área temporária. |
scraper.buffer.max_size_mb | 1024 | Limite de tamanho da área temporária em MB. |
scraper.buffer.max_segments | 0 (ilimitado) | Limite de arquivos de segmento da área temporária em disco. |
scraper.sender.bandwidth_limit_mb | 1.0 | Limite de taxa de upload em MB/s. |
scraper.instance_sync.interval | 0 (30s) | Frequência com que o scraper reporta o estado do ClickHouseCluster de cada instância registrada ao ClickHouse Cloud. |
scraper.backup_sync.interval | 0 (30s) | Frequência com que o scraper reporta o status de backup ao ClickHouse Cloud. |
scraper.observability.health_port | 8082 | Porta de saúde e métricas do scraper. |
scraper.access_directory | /etc/clicklink/access/scraper | Diretório raiz dos pacotes de acesso por instância do scraper. |
solucionador de problemas
| Chave | Padrão | Significado |
|---|---|---|
troubleshooter.enabled | false (init grava true) | Executa o daemon do troubleshooter. |
troubleshooter.poll_interval | 5s | Intervalo de sondagem do estado da sessão. |
troubleshooter.command_timeout | 60s | Tempo limite de execução por comando. |
troubleshooter.session_timeout | 4h | Duração padrão da sessão de suporte. |
troubleshooter.session_file_path | /var/lib/clicklink/session.json | Arquivo de estado da sessão compartilhado com os comandos clicklink clctl troubleshoot session. |
troubleshooter.access_directory | /etc/clicklink/access/troubleshooter | Diretório raiz dos pacotes de acesso por instância do troubleshooter. |
troubleshooter.allowed_tables | veja a lista de permissões de tabelas padrão | Tabelas do sistema das quais o troubleshooter pode executar SELECT. As entradas devem ser schema.table. O daemon se recusa a iniciar se query_log ou text_log estiverem listadas. |
troubleshooter.max_open_conns | 5 | Limite de conexões abertas com o ClickHouse. |
troubleshooter.max_idle_conns | 5 | Limite de conexões ociosas no pool. |
troubleshooter.redaction.workers | 4 | Workers paralelos de mascaramento. |
troubleshooter.redaction.patterns_file | /etc/clicklink/redaction-patterns.yaml | Padrões de mascaramento editáveis pelo cliente; o daemon se recusa a iniciar se o arquivo estiver presente, mas for inválido. |
troubleshooter.redaction.metrics_per_pattern | false | Emite uma métrica de contagem de correspondências por padrão. |
troubleshooter.redaction.metrics_per_pattern_cap | 50 | Limite de nomes de padrões distintos na métrica por padrão. |
troubleshooter.audit_log.path | /var/log/clicklink/troubleshoot-audit.log | Log de auditoria NDJSON somente de acréscimo para todos os comandos aceitos ou bloqueados. |
troubleshooter.audit_log.max_size_mb | 128 | Rotaciona o arquivo de log ativo quando ultrapassa este tamanho. |
troubleshooter.audit_log.max_files | 5 | Número de arquivos rotacionados mantidos. |
troubleshooter.audit_log.max_age | 168h | Arquivos rotacionados mais antigos que esse período são removidos. |
troubleshooter.gateway.enabled | false | Disponibiliza o gateway de sessão (sessões de suporte via OIDC). |
troubleshooter.gateway.listen_addr | nenhum (init grava ":8443") | Endereço de escuta do gateway. Obrigatório quando o gateway está habilitado. |
troubleshooter.gateway.audience | nenhum (init grava clicklink-clctl) | Claim de audiência exigida nos tokens de operador. Obrigatória quando o gateway está habilitado. |
troubleshooter.gateway.required_hosted_domain | "" | Validação opcional da claim de domínio hospedado; o gateway rejeita tokens de fora do domínio antes da consulta à lista de permissões. |
troubleshooter.gateway.allowed_operators_file | /etc/clicklink/allowed-operators.txt (gravado por init) | Lista de permissões de e-mails de operadores, com um e-mail por linha. Vazia significa que o acesso é bloqueado. Obrigatória quando o gateway está habilitado; o daemon se recusa a iniciar sem ela. |
troubleshooter.gateway.require_verified_email | true | Exige a claim email_verified nos tokens de operador. false só é respeitado com jwks_uri e issuer definidos. |
troubleshooter.gateway.rate_limit_per_minute | 0 (desabilitado) | Limite de taxa de solicitações por operador. |
troubleshooter.gateway.handler_timeout | 15s | Tempo limite de solicitação no servidor. |
troubleshooter.gateway.jwks_uri | "" | Endpoint JWKS para um provedor de identidade que não seja o Google; vazio usa o do Google. |
troubleshooter.gateway.issuer | "" | Claim de emissor a ser fixada quando jwks_uri estiver definido. |
troubleshooter.gateway.tls.enabled | false (init grava true em uma VM quando as sessões de suporte estão habilitadas) | Disponibiliza o gateway via TLS. O daemon gera um certificado autossinado quando não existe nenhum; os operadores fixam sua impressão digital. |
troubleshooter.gateway.tls.cert_file | /var/lib/clicklink/gateway/tls/server.crt | Certificado usado pelo gateway. |
troubleshooter.gateway.tls.key_file | /var/lib/clicklink/gateway/tls/server.key | Chave usada pelo gateway. |
troubleshooter.gateway.tls.ca_file | "" | CA à qual os certificados de cliente do operador devem se encadear. Quando definido, exige mTLS além do bearer OIDC. |
troubleshooter.gateway.tls.self_signed_dns_names | [] (init preenche previamente o host) | SANs do certificado autossinado; entradas interpretadas como endereços IP tornam-se SANs de IP. |
executor
O executor é executado em modo gerenciado. Oinit --managed grava enabled: true e a identidade do cluster; o restante assume os valores padrão.
| Key | Default | Significado |
|---|---|---|
executor.enabled | false (init --managed grava true) | Executa o daemon do executor. |
executor.cluster.name | gravado pelo init | Nome do único EKS cluster que este executor gerencia. Obrigatório quando o executor está habilitado. |
executor.cluster.region | gravado pelo init | A region AWS do cluster. Obrigatório. |
executor.cluster.account_id | gravado pelo init | A AWS account do cluster. Obrigatório. |
executor.cluster.kubeconfig_path | não definido | Kubeconfig com o qual o executor se autentica. Se não definido, todos os comandos de serviço são executados sobre os pacotes de acesso em /etc/clicklink/access/executor. |
executor.cluster.in_cluster | false | Autentica como o próprio ServiceAccount do pod em vez de usar um kubeconfig; é o formato da instalação em Kubernetes, mutuamente exclusivo com kubeconfig_path. |
executor.cluster.delete_instance_data.enabled | false | Define se o clicklink clctl executor teardown exclui os dados de um serviço desativado sem --delete-data. O daemon do executor em si não exclui dado algum. |
executor.target_cluster | executor.cluster.name | Cluster para o qual os comandos de entrada são encaminhados. Deixe sem definir; qualquer outro valor é fatal na inicialização. |
executor.poll_interval | 5m | Intervalo de poll. Deve ser positivo. |
executor.sync_interval | 30s | Com que frequência o status dos serviços é atualizado a partir do cluster. Deve ser positivo. |
executor.stop_wait_timeout | 8m | Quanto tempo uma exclusão aguarda a parada dos servidores antes de tentar novamente. |
executor.create_retry_horizon | 30m | Por quanto tempo uma criação é repetida, contado a partir de seu último relatório de progresso. |
executor.delete_retry_horizon | 2h | Por quanto tempo uma exclusão é repetida, contado a partir de seu último relatório de progresso. |
executor.db_path | /var/lib/clicklink/executor.db | Banco de dados local de comandos. |
executor.api_port | 9999 | Porta da API local, vinculada somente ao loopback. |
executor.observability.health_port | 8086 | Porta de saúde e métricas do executor. |
executor.cluster é um único mapeamento: um cluster por executor. O carregador converte em cluster uma lista clusters: legada com uma única entrada e sem mapeamento cluster:. Ele rejeita uma lista com mais de uma entrada, ou uma lista acompanhada de uma chave cluster:, quando o executor está habilitado.
observabilidade
| Chave | Padrão | Significado |
|---|---|---|
observability.enabled | true | Expõe endpoints de integridade e métricas. |
observability.log_level | info | Nível de log. |
observability.health_port | 8080 | Porta base compartilhada para verificações de integridade. |
/livez (um corpo JSON de status), /readyz, /healthz e /metrics em um único listener; não há uma porta de métricas separada. Os blocos observability específicos de cada componente substituem essa configuração base: o scraper usa 8082, o solucionador de problemas usa 8084, o executor usa 8086 e o gateway escuta na porta 8443 quando habilitado. Uma chave metrics_port de uma configuração mais antiga ainda é carregada, mas não vincula nada.
Lista de permissões padrão de tabelas
O conjunto padrãoallowed_tables do troubleshooter, idêntico ao padrão troubleshooter.allowedTables do chart:
system.build_options system.clusters system.columns
system.databases system.tables system.parts
system.parts_columns system.parts_summary system.detached_parts
system.processes system.merges system.mutations
system.replicas system.replication_queue
system.metrics system.events system.asynchronous_metrics
system.disks system.storage_policies
system.settings system.settings_profiles
system.settings_profile_elements
system.functions system.formats system.table_engines
system.users system.roles system.grants
Valores do Chart do Helm
No Kubernetes, o conector é configurado pelos valores do Chartclicklink-connector. O comando clicklink clctl init prepara uma sobreposição clicklink-values.yaml com todos os itens abaixo preenchidos e a preserva entre execuções, a menos que você use a opção --force. As tabelas listam os valores padrão do Chart. As configurações padrão de workload (resources, nodeSelector, tolerations, affinity, serviceAccount.annotations, env) estão disponíveis em cada componente, com valores padrão vazios, e não são repetidas em cada tabela.
Chaves de nível superior
| Chave | Padrão | Significado |
|---|---|---|
imagePullSecrets | [] | Secrets de pull de imagem compartilhados por todos os componentes. |
instances | {} | Registro de instâncias do ClickHouse que você mesmo executa, com os mesmos campos do registro de instâncias de VM, renderizado no ConfigMap clicklink-instance-registry. Deve estar vazio quando executor.enabled for true; caso contrário, a renderização falha. |
podSecurityContext | non-root, uid 65532, seccomp RuntimeDefault | Contexto de segurança do pod do Kubernetes compartilhado por todos os componentes. |
securityContext | sem escalonamento de privilégios, filesystem raiz read-only, todas as capabilities removidas | Contexto de segurança do contêiner compartilhado por todos os componentes. |
serviceMonitor.enabled | false | Renderiza um ServiceMonitor do Prometheus Operator para os Services dos componentes. namespace, interval (30s), scrapeTimeout (10s) e labels determinam seu formato. |
externalSecrets.enabled | false | Materializa os Secrets de mTLS, HMAC e pacote de acesso por meio do External Secrets Operator, em vez de Secrets criados previamente. secretStoreRef, refreshInterval (1h), mtlsRemoteKey, hmacRemoteKey e accessBundles indicam o armazenamento remoto e as chaves. |
cluster
| Chave | Padrão | Significado |
|---|---|---|
cluster.pcmInfraUuid | "" (init o preenche) | Identificador único desta implantação do conector. Obrigatório quando qualquer componente estiver habilitado; preservado entre execuções. |
cluster.region | "" (init o preenche) | Rótulo da região. Obrigatório. |
cluster.cloud | "" (init o preenche) | Rótulo do provedor de Cloud. Obrigatório. |
cluster.namespacePrefix | ns- | Prefixo dos espaços de nomes do Kubernetes em que os serviços gerenciados residem (<prefix><service>). |
cluster.reportInfraMeta | true | Reporta o nome, a região e a conta do cluster gerenciado ao ClickHouse Cloud a cada heartbeat, para triagem. Defina false para desativar. |
imagem
| Chave | Padrão | Significado |
|---|---|---|
image.repository | predefinido no chart publicado | Repositório da imagem do conector. O chart publicado aponta para a imagem do registro público (multiarquitetura, assinada com cosign); defina-o apenas para substituí-la, por exemplo, por um mirror dentro do perímetro. Inspecione o valor publicado com helm show values. |
image.tag | "" (acompanha o appVersion do chart; init fixa a versão da CLI) | Tag da imagem. |
image.pullPolicy | IfNotPresent | Política de pull de imagem do Kubernetes. |
api
| Chave | Padrão | Significado |
|---|---|---|
api.endpoint | "" (preenchido por init) | Endpoint do seu conector, compartilhado por todos os componentes. |
api.tls.enabled | true | Apresenta o certificado de cliente mTLS nas conexões com a API. |
api.tls.caFile | "" (raízes do sistema) | CA adicionada às raízes do sistema para verificar o servidor. Defina como /etc/clicklink/secrets/mtls/ca.crt (ou execute init novamente com --api-private-ca) quando o endpoint apresentar um certificado de uma CA privada. |
secrets
O chart usa Secrets criados previamente;init os cria antes da instalação.
| Chave | Padrão | Significado |
|---|---|---|
secrets.mtlsSecretName | clicklink-mtls | Secret kubernetes.io/tls que armazena a chave de cliente mTLS, o certificado e a cadeia de CA. |
secrets.hmacSecretName | clicklink-hmac | Secret opaco que armazena access-key e secret-key para assinatura de requisições. |
secrets.mtlsWriteback | true | Permite que os daemons gravem novamente o certificado mTLS final renovado automaticamente no Secret mTLS. Concede às ServiceAccounts do componente a permissão update nesse único Secret, pelo nome exato; sem isso, não há um local persistente para armazenar os certificados renovados. Ignorado quando externalSecrets.enabled é true. |
scraper
| Chave | Padrão | Significado |
|---|---|---|
scraper.enabled | false (init grava true) | Implanta o scraper. |
scraper.replicaCount | 1 | Réplicas do scraper. |
scraper.logLevel | info | Nível de log. |
scraper.ports.health | 8082 | Porta de saúde e métricas. |
scraper.labels.platform, scraper.labels.env, scraper.labels.region | "" | Labels inseridos em cada métrica emitida. Os três são obrigatórios quando o scraper está habilitado; caso contrário, o chart gera um erro durante a renderização. |
scraper.config | {} | Encaminhamento para qualquer chave de configuração do scraper não modelada acima (intervalo de scrape, buffer, sender e assim por diante, com o mesmo schema do bloco scraper da VM). |
scraper.bufferSizeLimit | 2Gi | Limite de tamanho do volume temporário do scraper; o scraper não tem estado persistente em disco. |
scraper.rbac.extraSecretNames | [] | Nomes adicionais de Secret aos quais a ServiceAccount do scraper pode aplicar get, somente nomes exatos. |
scraper.accessBundles | {} | Pacotes de acesso por instância, identificados pelo nome da instância, cada um com secretName e serviceAccountName. Montados em /etc/clicklink/access/scraper/<instance>/; criados por clicklink clctl scraper access provision --target helm. |
solucionador de problemas
| Chave | Padrão | Significado |
|---|---|---|
troubleshooter.enabled | false (init grava true) | Implante o solucionador de problemas (um StatefulSet com uma única réplica). |
troubleshooter.logLevel | info | Nível de log. |
troubleshooter.ports.health | 8084 | Porta de saúde e métricas. |
troubleshooter.sessionTimeout | 4h | Duração padrão da sessão de suporte. |
troubleshooter.allowedTables | a lista de permissões de tabelas padrão | Tabelas que o usuário do ClickHouse do solucionador de problemas pode SELECT. Esta é a superfície de revisão de segurança a ser editada em sua sobreposição. O chart se recusa a renderizar, e o daemon se recusa a iniciar, se query_log ou text_log estiverem listados. |
troubleshooter.auditLog.path | /var/log/clicklink/troubleshoot-audit.log | Localização do log de auditoria no volume de estado, para que o histórico sobreviva ao reagendamento do pod do Kubernetes. |
troubleshooter.auditLog.maxSizeMb | 128 | Rotacione ao exceder este tamanho. |
troubleshooter.auditLog.maxFiles | 5 | Quantidade de arquivos rotacionados mantidos. |
troubleshooter.auditLog.maxAge | 168h | Arquivos rotacionados mais antigos que este período são removidos. |
troubleshooter.redaction.workers | 4 | Workers paralelos de mascaramento. |
troubleshooter.redaction.patternsConfigMap | "" | Nome de um ConfigMap cuja chave redaction-patterns.yaml contém padrões personalizados; o chart o monta em /etc/clicklink/redaction-patterns.yaml. Quando vazio, apenas os padrões integrados são aplicados. |
troubleshooter.redaction.metricsPerPattern | false | Emite uma métrica de contador de correspondências por padrão. |
troubleshooter.redaction.metricsPerPatternCap | 50 | Limite de nomes de padrões distintos na métrica por padrão. |
troubleshooter.config | {} | Encaminhamento de quaisquer chaves de configuração de troubleshooter não modeladas acima (intervalo de poll, timeout de comando, limites de conexão etc.). |
troubleshooter.rbac.extraSecretNames | [] | Nomes adicionais de Secrets que a ServiceAccount do solucionador de problemas pode get; somente nomes exatos. |
troubleshooter.accessBundles | {} | Pacotes de acesso por instância, com o mesmo formato de scraper.accessBundles, montados em /etc/clicklink/access/troubleshooter/<instance>/. |
executor
O executor para o modo gerenciado: uma Implantação de réplica única sobre um PersistentVolumeClaim. Oinit --managed o prepara já habilitado, com a identidade do cluster preenchida.
| Chave | Padrão | Significado |
|---|---|---|
executor.enabled | false (init --managed grava true) | Implanta o executor. |
executor.logLevel | info | Nível de log. |
executor.pollInterval | 30s | Intervalo de poll. |
executor.syncInterval | 30s | Com que frequência o status do serviço é atualizado a partir do cluster. |
executor.apiPort | 9999 | Porta local da API. Vinculada a 127.0.0.1 no pod do Kubernetes e não exposta pelo Service; acesse-a com kubectl port-forward. |
executor.ports.health | 8086 | Porta de saúde e métricas. |
executor.cluster.name | "" (o init preenche) | Nome do único EKS cluster que este executor gerencia. Obrigatório quando o executor está habilitado. |
executor.cluster.region | "" (o init preenche) | A region AWS do cluster. Obrigatório. |
executor.cluster.accountId | "" (o init preenche) | A AWS account do cluster. Obrigatório; a grafia em snake_case account_id também é aceita. |
executor.cluster.inCluster | false (o init grava true) | Autentica como a ServiceAccount do pod do Kubernetes, o formato da instalação em Kubernetes; não existe pacote de acesso dentro do pod do Kubernetes. |
executor.cluster.delete_instance_data.enabled | false | Define se o clicklink clctl executor teardown exclui os dados de um serviço desativado sem --delete-data. O init deixa essa chave sem definição. As demais chaves por cluster são repassadas literalmente na grafia snake_case do binário. |
executor.targetCluster | "" (derivado de cluster.name) | Cluster para o qual os comandos de entrada são encaminhados. Deixe sem definir; um valor que não corresponda a cluster.name falha na renderização. |
executor.config | {} | Passagem direta para qualquer chave de configuração do executor não modelada acima, como os horizontes de repetição no bloco executor da VM. |
executor.platformBundleSecret | clicklink-platform-bundle | Secret que contém o pacote de aprovação da plataforma, montado como read-only em /etc/clicklink/access/executor/_platform; quem o grava é o clicklink clctl platform approve --secret-namespace. A montagem é opcional, de modo que o pod do Kubernetes inicia antes da primeira aprovação. Um valor vazio desativa a montagem. |
executor.serviceAccount.create | false | Define se o chart cria a ServiceAccount do executor. Desativado por padrão: o init --managed concede o RBAC do executor fora de banda para um nome fixo, e o chart se vincula a ele. |
executor.serviceAccount.name | pcm-executor | ServiceAccount sob a qual o executor é executado. Obrigatório quando create é false. |
executor.persistence.enabled | true | Respalda /var/lib/clicklink (banco de dados de comandos e registro de instâncias) com um PersistentVolumeClaim. |
executor.persistence.storageClass | "" (padrão do cluster) | StorageClass do claim; o init a preenche a partir de --storage-class ou do padrão detectado. |
executor.persistence.size | 5Gi | Tamanho do claim. |
executor.persistence.accessModes | [ReadWriteOnce] | Modos de acesso do claim. |
executor.cluster é um mapeamento único: um cluster por executor. Uma lista clusters faz a renderização falhar.
persistência
| Chave | Padrão | Significado |
|---|---|---|
persistence.enabled | true | Usa um PersistentVolumeClaim para armazenar o diretório de estado do troubleshooter, garantindo que o estado da sessão e o registro de auditoria sobrevivam a reinicializações. |
persistence.storageClass | "" (padrão do cluster) | StorageClass da claim; init a preenche com base em --storage-class ou na padrão detectada. |
persistence.size | 5Gi | Tamanho da claim. |
persistence.accessModes | [ReadWriteOnce] | Modos de acesso da claim. |
clctl.gateway
O gateway de sessão para sessões de suporte.| Chave | Padrão | Significado |
|---|---|---|
clctl.gateway.enabled | false | Disponibiliza o gateway de sessão no solucionador de problemas. |
clctl.gateway.listenAddr | ":8443" | Endereço de escuta local ao pod. |
clctl.gateway.port | 8443 | Porta do Container exposta pelo Service e pela Entrada do solucionador de problemas; corresponde à porta de listenAddr. |
clctl.gateway.audience | clicklink-clctl | Claim de audiência exigida nos tokens de operador. Por padrão, o cliente de sessão usa o mesmo valor; portanto, só é necessário coordená-los quando esse valor for alterado. |
clctl.gateway.requiredHostedDomain | "" | Claim opcional de domínio hospedado exigida pelo gateway; ela rejeita tokens fora do seu workspace antes da consulta à lista de permissões. |
clctl.gateway.allowedOperators | [] (fechada) | Lista de permissões de e-mails de operadores, renderizada em um ConfigMap; a rotação exige uma alteração em values e helm upgrade. |
clctl.gateway.requireVerifiedEmail | true | Exige a claim email_verified nos tokens de operador. false sem jwksUri e issuer faz a renderização falhar. |
clctl.gateway.jwksUri | "" | Substituição do endpoint JWKS para provedores de identidade que não sejam do Google; se vazio, usa o do Google. |
clctl.gateway.issuer | "" | Claim de emissor a ser fixada. Obrigatória para qualquer implantação real que defina jwksUri. |
clctl.gateway.jwksEgressCIDRs | [] | CIDRs que o gateway precisa alcançar para validar JWKS sob a NetworkPolicy de negação por padrão; se vazio, bloqueia todas as verificações de token. |
clctl.gateway.ingressFromSelector | {} | Origem de Entrada da NetworkPolicy para a porta do gateway; se vazio, permite qualquer pod do Kubernetes no espaço de nomes do chart. Defina-o como o label do espaço de nomes do controller de Entrada ao usar uma Entrada. |
clctl.gateway.rateLimit.requestsPerMinute | 30 | Limite de taxa de requests por operador. |
clctl.gateway.ingress.enabled | false | Renderiza uma Entrada para o gateway. Quando desabilitada, os operadores acessam o gateway com kubectl port-forward; não é necessário ter um controller de Entrada nem o cert-manager. |
clctl.gateway.ingress.className, hosts, tls, annotations | "", [], [], {} | Campos padrão de Entrada; tls referencia Secrets kubernetes.io/tls. |
networkPolicy
| Chave | Padrão | Significado |
|---|---|---|
networkPolicy.enabled | true | Cria uma NetworkPolicy de negação por padrão com uma lista de permissões de saída. A aplicação dessa política requer uma CNI que a imponha. |
networkPolicy.allowEgressCIDRs | [] (init --egress-cidrs preenche) | CIDRs por trás do endpoint do conector. No modo gerenciado, quando os charts da plataforma estão no Amazon ECR, também os intervalos regionais do ECR e do STS, ou o intervalo do seu mirror. Com uma CNI que imponha a política, o conector não terá tráfego de saída até que este campo seja preenchido; o init prepara a política habilitada apenas quando esses valores são conhecidos. |
networkPolicy.allowEgressPorts | [443] | Portas abertas para allowEgressCIDRs; substitua-as quando o endpoint estiver escutando em uma porta diferente da padrão. |
networkPolicy.clickhouseNamespaces | [] | Espaços de nomes dos seus serviços do ClickHouse, correspondidos pelo rótulo kubernetes.io/metadata.name. Espaços de nomes criados pelo executor são admitidos de qualquer forma, pelo rótulo clicklink.clickhouse.com/managed-by=executor que ele aplica a eles, de modo que uma instalação gerenciada lista apenas os espaços de nomes criados fora do executor. Quando vazio, a política do solucionador de problemas recorre aos valores de namespace do mapa instances de nível superior; a política do scraper não tem fallback, portanto liste aqui os espaços de nomes para coleta. |
networkPolicy.metricsScrapeSelector | {} | Restringe o tráfego de entrada para coleta de métricas a um espaço de nomes específico do Prometheus por rótulo; vazio permite a coleta de qualquer pod do Kubernetes no espaço de nomes do chart. |
networkPolicy.kubeletProbeCIDRs | [] | CIDRs de origem das verificações de integridade do agente de nó do Kubernetes (IPs dos nós). Vazio permite tráfego de entrada para verificações de qualquer origem, conforme a isenção do kubelet na maioria das CNIs; defina explicitamente em configurações estritas de negação por padrão. |
networkPolicy.apiserverCIDRs | [] (init --managed preenche a partir da VPC do cluster) | CIDRs do servidor da API do Kubernetes. Vazio não cria nenhuma regra de saída para o servidor da API, e os daemons falham na primeira solicitação de token em Kubernetes gerenciado até que este campo seja definido. Fixe os intervalos da VPC, e não os endereços do próprio servidor da API, que mudam ao longo da vida do cluster. |