> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-revert-104359-revert-104251-parquet-single.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Referencia de configuración

> Todas las claves de configuración de ClickHouse Connector: el archivo config.yaml de la VM y los valores del gráfico de Helm, con sus valores predeterminados

export const PrivatePreviewBadge = () => {
  return <div className="privatePreviewBadge">
            <div className="privatePreviewIcon">
            <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
                <path d="M5.33301 6.66667V4.66667V4.66667C5.33301 3.194 6.52701 2 7.99967 2V2C9.47234 2 10.6663 3.194 10.6663 4.66667V4.66667V6.66667" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" />
                <path d="M8.00033 9.33337V11.3334" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" />
                <path fillRule="evenodd" clipRule="evenodd" d="M11.333 14H4.66634C3.92967 14 3.33301 13.4033 3.33301 12.6666V7.99996C3.33301 7.26329 3.92967 6.66663 4.66634 6.66663H11.333C12.0697 6.66663 12.6663 7.26329 12.6663 7.99996V12.6666C12.6663 13.4033 12.0697 14 11.333 14Z" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" />
            </svg>
        </div>
            {'Vista previa privada'}
        </div>;
};

<PrivatePreviewBadge />

Esta página enumera todas las claves de configuración que podría necesitar modificar, junto con su valor predeterminado y significado: primero, el archivo de configuración de la VM y, después, los valores del gráfico de Helm. Para obtener instrucciones orientadas a tareas, consulte la [guía de configuración](/es/products/bring-your-own-cloud/connector/configuration).

<h2 id="vm-configuration-file">
  Archivo de configuración de la VM
</h2>

En una VM Linux, el conector lee `/etc/clicklink/config.yaml`. `clicklink clctl init` lo escribe y lo conserva entre ejecuciones posteriores, salvo que se use `--force`. Las claves que se omitan del archivo usarán los valores predeterminados compilados que se indican a continuación. `init` no escribe credenciales en él: las claves HMAC se encuentran en las rutas `*_file` y el certificado de cliente en `/etc/clicklink/tls`.

<h3 id="vm-top-level">
  Claves de nivel superior
</h3>

| Clave | Valor predeterminado | Significado |
| - | - | - |
| `pcm_infra_uuid` | generado por `init` | Identificador único de esta implementación del conector, incluido en cada solicitud al upstream. Se conserva entre ejecuciones posteriores, incluso con `--force`. No lo edite. |
| `cloud` | detectado por `init` | Etiqueta del proveedor de Cloud para este host. Obligatorio; los demonios no se inician si está vacío. |
| `region` | detectada por `init` | Etiqueta de región para este host. Obligatorio; los demonios no se inician si está vacía. |
| `namespace_prefix` | `ns-` | Prefijo de los espacios de nombres de Kubernetes en los que residen los managed services (`<prefix><service>`). Todos los demonios derivan de él sus espacios de nombres. |
| `report_infra_meta` | `true` | Informa el nombre, la región y la cuenta del cluster gestionado a ClickHouse Cloud en cada heartbeat. El equivalente en la VM de `cluster.reportInfraMeta` del chart. |
| `token_renew.sweep_interval` | `10m` | Con qué frecuencia el executor y el scraper comprueban los tokens de ServiceAccount de su paquete de acceso para su renovación. |
| `token_renew.requested_ttl` | `24h` | Duración del token solicitada en la renovación. El API server puede limitarla a un valor menor. |
| `api` | | Bloque de conexión con la API upstream; consulte [api](#vm-api). |
| `scraper` | | Bloque del demonio scraper; consulte [scraper](#vm-scraper). |
| `troubleshooter` | | Bloque del demonio solucionador de problemas; consulte [troubleshooter](#vm-troubleshooter). |
| `executor` | | Bloque del demonio executor (modo gestionado); consulte [executor](#vm-executor). |
| `observability` | | Bloque compartido de logging y puertos; consulte [observability](#vm-observability). |

Los demonios ignoran una sección `instances:` en este archivo. Las instancias residen en el [registro de instancias](#vm-instances).

<h3 id="vm-api">
  api
</h3>

| Clave | Valor predeterminado | Significado |
| - | - | - |
| `api.endpoint` | del paquete de inscripción | Su endpoint del conector: `https://<subdomain>.<connector-domain>`. |
| `api.access_key_file` | `/etc/clicklink/access-key` (escrito por `init`) | Archivo que contiene la clave de acceso HMAC (modo 0600). |
| `api.secret_key_file` | `/etc/clicklink/secret-key` (escrito por `init`) | Archivo que contiene la clave secreta HMAC (modo 0600). |
| `api.access_key`, `api.secret_key` | sin definir | Claves HMAC en línea, solo para desarrollo. `init` nunca las escribe; un archivo que las contenga necesita la misma protección `0600` que los archivos de claves. Los demonios rechazan un archivo con ambas formas definidas. |
| `api.tls.enabled` | `true` | Presenta el certificado de cliente mTLS en las conexiones de API. |
| `api.tls.cert_file` | `/etc/clicklink/tls/client.crt` | Certificado de cliente mTLS; los demonios lo reescriben durante la renovación. |
| `api.tls.key_file` | `/etc/clicklink/tls/client.key` | Clave privada de cliente mTLS. |
| `api.tls.ca_file` | `/etc/clicklink/tls/ca.crt` | Cadena de CA adicional que se añade a las raíces del sistema para verificar el servidor; `init` instala aquí la cadena del paquete de inscripción. |
| `api.retry.max_retries` | `5` | Intentos de reintento por solicitud de API. |
| `api.retry.initial_delay` | `1s` | Retraso inicial de backoff para los reintentos. |
| `api.retry.max_delay` | `30s` | Límite máximo de backoff. |
| `api.retry.jitter_factor` | `0.25` | Variación aleatoria aplicada a los retrasos de backoff. |

<h3 id="vm-instances">
  Registro de instancias
</h3>

Las instancias residen en `/var/lib/clicklink/instances.yaml`, un mapa `instances:` de nivel superior con clave por nombre. `init` lo inicializa y el executor lo mantiene; el scraper vigila el archivo, por lo que las ediciones se aplican sin reiniciar. Cada entrada describe un destino del protocolo nativo de ClickHouse:

| Clave | Predeterminado | Significado |
| - | - | - |
| `host` | | Nombre de host o dirección IP del listener nativo de ClickHouse. |
| `port` | | Puerto del protocolo nativo (normalmente, `9440` con TLS y `9000` sin cifrado). |
| `database` | | Base de datos predeterminada para las sesiones del conector. |
| `secure` | `false` | Usa TLS en la conexión nativa. |
| `max_open_conns` | no establecido | Límite de conexiones abiertas a esta instancia. |
| `max_idle_conns` | no establecido | Límite de conexiones inactivas agrupadas en esta instancia. |
| `namespace` | | Espacio de nombres de Kubernetes de la instancia, utilizado para delimitar las lecturas de Kubernetes del solucionador de problemas. |
| `cluster` | `default` | Nombre del cluster de ClickHouse utilizado para consultas distribuidas. |

<h3 id="vm-scraper">
  scraper
</h3>

| Clave | Predeterminado | Significado |
| - | - | - |
| `scraper.enabled` | `false` (`init` escribe `true`) | Ejecuta el demonio del scraper. |
| `scraper.labels.platform` | | Etiqueta que se inyecta en cada métrica emitida. Obligatoria cuando el scraper está habilitado. |
| `scraper.labels.env` | | Etiqueta de entorno, por ejemplo, `production`. Obligatoria. |
| `scraper.labels.region` | | Etiqueta de región. Obligatoria. |
| `scraper.scrape.interval` | `2m` | Frecuencia de recopilación de cada instancia. |
| `scraper.scrape.timeout` | `30s` | Tiempo de espera de consulta por recopilación. Debe ser menor que `interval`. |
| `scraper.scrape.max_scrape_window` | `30m` | Hasta qué punto en el pasado alcanza la primera recopilación cuando no hay ningún cursor persistido. |
| `scraper.scrape.grace_period` | `35s` | Cuánto antes del momento actual termina cada ventana de recopilación, para que no se omitan las filas escritas con retraso. |
| `scraper.scrape.tables` | consulte más abajo | Tablas del sistema recopiladas por instancia. El conjunto predeterminado es `metric_log`, `asynchronous_metric_log`, `tables`, `warnings`, `server_settings`. `query_log` se excluye a propósito, para que el texto SQL sin procesar no salga de su perímetro de forma predeterminada. |
| `scraper.buffer.path` | `/var/lib/clicklink/buffer` | Cola persistente en disco para entregas de al menos una vez mientras no se pueda acceder al endpoint de su conector. |
| `scraper.buffer.retention` | `168h` | Antigüedad máxima de los datos en cola. |
| `scraper.buffer.max_size_mb` | `1024` | Límite de tamaño de la cola en MB. |
| `scraper.buffer.max_segments` | `0` (sin límite) | Límite de archivos de segmento de la cola en disco. |
| `scraper.sender.bandwidth_limit_mb` | `1.0` | Límite de velocidad de carga en MB/s. |
| `scraper.instance_sync.interval` | `0` (30s) | Frecuencia con la que el scraper informa a ClickHouse Cloud del estado `ClickHouseCluster` de cada instancia registrada. |
| `scraper.backup_sync.interval` | `0` (30s) | Frecuencia con la que el scraper informa del estado de las copias de seguridad a ClickHouse Cloud. |
| `scraper.observability.health_port` | `8082` | Puerto de estado y métricas del scraper. |
| `scraper.access_directory` | `/etc/clicklink/access/scraper` | Directorio raíz de los paquetes de acceso por instancia del scraper. |

<h3 id="vm-troubleshooter">
  solucionador de problemas
</h3>

| Clave | Predeterminado | Significado |
| - | - | - |
| `troubleshooter.enabled` | `false` (`init` escribe `true`) | Ejecuta el daemon de solución de problemas. |
| `troubleshooter.poll_interval` | `5s` | Intervalo de sondeo del estado de la sesión. |
| `troubleshooter.command_timeout` | `60s` | Tiempo de espera de ejecución por comando. |
| `troubleshooter.session_timeout` | `4h` | Duración predeterminada de la sesión de soporte. |
| `troubleshooter.session_file_path` | `/var/lib/clicklink/session.json` | Archivo de estado de la sesión, compartido con los comandos `clicklink clctl troubleshoot session`. |
| `troubleshooter.access_directory` | `/etc/clicklink/access/troubleshooter` | Directorio raíz de los paquetes de acceso por instancia del solucionador de problemas. |
| `troubleshooter.allowed_tables` | consulte la [lista de tablas permitidas predeterminada](#default-table-allowlist) | Tablas del sistema desde las que el solucionador de problemas puede ejecutar `SELECT`. Las entradas deben tener el formato `schema.table`. El daemon no se inicia si `query_log` o `text_log` están en la lista. |
| `troubleshooter.max_open_conns` | `5` | Límite de conexiones abiertas a ClickHouse. |
| `troubleshooter.max_idle_conns` | `5` | Límite de conexiones inactivas del pool. |
| `troubleshooter.redaction.workers` | `4` | Workers de redacción en paralelo. |
| `troubleshooter.redaction.patterns_file` | `/etc/clicklink/redaction-patterns.yaml` | Patrones de redacción editables por el cliente; el daemon no se inicia si el archivo existe, pero no es válido. |
| `troubleshooter.redaction.metrics_per_pattern` | `false` | Emite una métrica de contador de coincidencias por patrón. |
| `troubleshooter.redaction.metrics_per_pattern_cap` | `50` | Límite de nombres de patrón distintos en la métrica por patrón. |
| `troubleshooter.audit_log.path` | `/var/log/clicklink/troubleshoot-audit.log` | Registro de auditoría NDJSON de solo anexión para cada comando aceptado o bloqueado. |
| `troubleshooter.audit_log.max_size_mb` | `128` | Rota el archivo de registro activo al superar este tamaño. |
| `troubleshooter.audit_log.max_files` | `5` | Número de archivos rotados que se conservan. |
| `troubleshooter.audit_log.max_age` | `168h` | Se eliminan los archivos rotados que superen esta antigüedad. |
| `troubleshooter.gateway.enabled` | `false` | Expone el gateway de sesiones (sesiones de soporte mediante OIDC). |
| `troubleshooter.gateway.listen_addr` | ninguno (`init` escribe `":8443"`) | Dirección de escucha del gateway. Obligatorio cuando el gateway está habilitado. |
| `troubleshooter.gateway.audience` | ninguno (`init` escribe `clicklink-clctl`) | Claim de audiencia obligatorio en los tokens de operador. Obligatorio cuando el gateway está habilitado. |
| `troubleshooter.gateway.required_hosted_domain` | `""` | Validación opcional del claim de dominio alojado; el gateway rechaza los tokens de fuera del dominio antes de consultar la lista de permitidos. |
| `troubleshooter.gateway.allowed_operators_file` | `/etc/clicklink/allowed-operators.txt` (escrito por `init`) | Lista de correos electrónicos permitidos de operadores, delimitada por saltos de línea. Si está vacía, no se permite el acceso. Obligatorio cuando el gateway está habilitado; el daemon no se inicia sin ella. |
| `troubleshooter.gateway.require_verified_email` | `true` | Exige el claim `email_verified` en los tokens de operador. El valor `false` solo se respeta si se han establecido `jwks_uri` e `issuer`. |
| `troubleshooter.gateway.rate_limit_per_minute` | `0` (deshabilitado) | Límite de tasa de solicitudes por operador. |
| `troubleshooter.gateway.handler_timeout` | `15s` | Tiempo de espera de solicitudes del lado del servidor. |
| `troubleshooter.gateway.jwks_uri` | `""` | Endpoint JWKS para un proveedor de identidad distinto de Google; si está vacío, se usa el de Google. |
| `troubleshooter.gateway.issuer` | `""` | Claim de emisor que se valida cuando se establece `jwks_uri`. |
| `troubleshooter.gateway.tls.enabled` | `false` (`init` escribe `true` en una VM cuando las sesiones de soporte están habilitadas) | Expone el gateway mediante TLS. El daemon genera un certificado autofirmado si no existe ninguno; los operadores fijan su huella digital. |
| `troubleshooter.gateway.tls.cert_file` | `/var/lib/clicklink/gateway/tls/server.crt` | Certificado del gateway. |
| `troubleshooter.gateway.tls.key_file` | `/var/lib/clicklink/gateway/tls/server.key` | Clave del gateway. |
| `troubleshooter.gateway.tls.ca_file` | `""` | CA a la que deben encadenarse los certificados de cliente de los operadores. Si se establece, exige mTLS además del bearer de OIDC. |
| `troubleshooter.gateway.tls.self_signed_dns_names` | `[]` (`init` rellena previamente el host) | SAN del certificado autofirmado; las entradas que se interpretan como direcciones IP se convierten en SAN de IP. |

<h3 id="vm-executor">
  executor
</h3>

El executor se ejecuta en [modo gestionado](/es/products/bring-your-own-cloud/connector/managed-services). `init --managed` escribe `enabled: true` y la identidad del `cluster`; el resto toma los valores predeterminados.

| Key | Default | Significado |
| - | - | - |
| `executor.enabled` | `false` (`init --managed` escribe `true`) | Ejecuta el demonio del executor. |
| `executor.cluster.name` | escrito por `init` | Nombre del único cluster de EKS que gestiona este executor. Obligatorio cuando el executor está habilitado. |
| `executor.cluster.region` | escrito por `init` | La región de AWS del cluster. Obligatorio. |
| `executor.cluster.account_id` | escrito por `init` | La cuenta de AWS del cluster. Obligatorio. |
| `executor.cluster.kubeconfig_path` | sin definir | Kubeconfig con el que se autentica el executor. Si no se define, todos los comandos de servicio se ejecutan sobre los paquetes de acceso ubicados en `/etc/clicklink/access/executor`. |
| `executor.cluster.in_cluster` | `false` | Autenticarse como la propia ServiceAccount del pod en lugar de mediante un kubeconfig; es la forma de la instalación en Kubernetes, mutuamente excluyente con `kubeconfig_path`. |
| `executor.cluster.delete_instance_data.enabled` | `false` | Indica si `clicklink clctl executor teardown` elimina los datos de un servicio retirado sin `--delete-data`. El demonio del executor, por sí mismo, no elimina ningún dato. |
| `executor.target_cluster` | `executor.cluster.name` | Cluster al que se envían los comandos entrantes. Déjelo sin definir; cualquier otro valor resulta fatal en el arranque. |
| `executor.poll_interval` | `5m` | Intervalo de sondeo. Debe ser positivo. |
| `executor.sync_interval` | `30s` | Con qué frecuencia se actualiza el estado del servicio desde el cluster. Debe ser positivo. |
| `executor.stop_wait_timeout` | `8m` | Cuánto tiempo espera una eliminación a que se detengan los servidores antes de reintentarlo. |
| `executor.create_retry_horizon` | `30m` | Durante cuánto tiempo se reintenta una creación, contado desde su último informe de progreso. |
| `executor.delete_retry_horizon` | `2h` | Durante cuánto tiempo se reintenta una eliminación, contado desde su último informe de progreso. |
| `executor.db_path` | `/var/lib/clicklink/executor.db` | Base de datos local de comandos. |
| `executor.api_port` | `9999` | Puerto de la API local, vinculado únicamente al loopback. |
| `executor.observability.health_port` | `8086` | Puerto de salud y métricas del executor. |

`executor.cluster` es una única correspondencia: un cluster por executor. El cargador convierte en `cluster` una lista `clusters:` heredada que tenga una sola entrada y ninguna correspondencia `cluster:`. Rechaza una lista con más de una entrada, o una que aparezca junto a una clave `cluster:`, cuando el executor está habilitado.

<h3 id="vm-observability">
  observabilidad
</h3>

| Clave | Predeterminado | Significado |
| - | - | - |
| `observability.enabled` | `true` | Expone endpoints de estado y métricas. |
| `observability.log_level` | `info` | Nivel de log. |
| `observability.health_port` | `8080` | Puerto base compartido para las comprobaciones de estado. |

Cada demonio expone `/livez` (un cuerpo de estado en JSON), `/readyz`, `/healthz` y `/metrics` en un único listener; no hay un puerto de métricas independiente. Los bloques `observability` específicos de cada componente se superponen a esta configuración base: el scraper usa `8082`, el solucionador de problemas `8084`, el executor `8086` y el gateway escucha en `8443` cuando está habilitado. Una clave `metrics_port` de una configuración anterior todavía se carga, pero no vincula nada.

<h3 id="default-table-allowlist">
  Lista de tablas permitidas predeterminada
</h3>

El conjunto predeterminado `allowed_tables` del solucionador de problemas, idéntico al valor predeterminado `troubleshooter.allowedTables` del gráfico:

```text theme={null}
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
```

<h2 id="helm-chart-values">
  Valores del gráfico de Helm
</h2>

En Kubernetes, el conector se configura mediante los valores del gráfico `clicklink-connector`. `clicklink clctl init` prepara una superposición de `clicklink-values.yaml` con todos los valores siguientes completados y la conserva en ejecuciones posteriores, salvo que se especifique `--force`. Las tablas muestran los valores predeterminados del gráfico. Los parámetros estándar de carga de trabajo (`resources`, `nodeSelector`, `tolerations`, `affinity`, `serviceAccount.annotations`, `env`) están disponibles en cada componente, tienen valores predeterminados vacíos y no se repiten en cada tabla.

<h3 id="helm-top-level">
  Claves de nivel superior
</h3>

| Clave | Predeterminado | Significado |
| - | - | - |
| `imagePullSecrets` | `[]` | Secretos de extracción de imágenes compartidos por todos los componentes. |
| `instances` | `{}` | Registro de instancias de ClickHouse que ejecutas por tu cuenta, con los mismos campos que el [registro de instancias](#vm-instances) de la VM, generado en el ConfigMap `clicklink-instance-registry`. Debe estar vacío cuando `executor.enabled` es true; de lo contrario, la generación falla. |
| `podSecurityContext` | sin root, uid 65532, seccomp `RuntimeDefault` | Contexto de seguridad del pod de Kubernetes compartido por todos los componentes. |
| `securityContext` | sin escalada de privilegios, sistema de archivos raíz de solo lectura, todas las capabilities eliminadas | Contexto de seguridad del contenedor compartido por todos los componentes. |
| `serviceMonitor.enabled` | `false` | Genera un ServiceMonitor de Prometheus Operator para los Services de los componentes. Se ajusta mediante `namespace`, `interval` (`30s`), `scrapeTimeout` (`10s`) y `labels`. |
| `externalSecrets.enabled` | `false` | Materializa los secretos de mTLS, HMAC y del paquete de acceso mediante External Secrets Operator en lugar de usar secretos creados previamente. `secretStoreRef`, `refreshInterval` (`1h`), `mtlsRemoteKey`, `hmacRemoteKey` y `accessBundles` indican el almacén remoto y las claves. |

<h3 id="helm-cluster">
  cluster
</h3>

| Clave | Valor predeterminado | Significado |
| - | - | - |
| `cluster.pcmInfraUuid` | `""` (`init` lo completa) | Identificador único de esta implementación del conector. Obligatorio cuando algún componente está habilitado; se conserva en ejecuciones posteriores. |
| `cluster.region` | `""` (`init` lo completa) | Etiqueta de región. Obligatoria. |
| `cluster.cloud` | `""` (`init` lo completa) | Etiqueta del proveedor de Cloud. Obligatoria. |
| `cluster.namespacePrefix` | `ns-` | Prefijo de los espacios de nombres de Kubernetes en los que residen los servicios gestionados (`<prefix><service>`). |
| `cluster.reportInfraMeta` | `true` | Informa el nombre, la región y la cuenta del cluster gestionado a ClickHouse Cloud en cada latido, con fines de diagnóstico. Establezca `false` para desactivarlo. |

<h3 id="helm-image">
  image
</h3>

| Clave | Predeterminado | Significado |
| - | - | - |
| `image.repository` | preconfigurado en el chart publicado | Repositorio de imágenes del conector. El chart publicado apunta a la imagen del registro público (multiarquitectura, firmada con cosign); configúrelo únicamente para sobrescribirlo, por ejemplo, con un mirror dentro del perímetro. Consulte el valor publicado con `helm show values`. |
| `image.tag` | `""` (sigue el `appVersion` del chart; `init` fija la versión de la CLI) | Etiqueta de la imagen. |
| `image.pullPolicy` | `IfNotPresent` | Política de extracción de imágenes de Kubernetes. |

<h3 id="helm-api">
  api
</h3>

| Clave | Predeterminado | Significado |
| - | - | - |
| `api.endpoint` | `""` (`init` lo completa) | Su endpoint del conector, compartido por todos los componentes. |
| `api.tls.enabled` | `true` | Presenta el certificado de cliente mTLS en las conexiones de API. |
| `api.tls.caFile` | `""` (raíces del sistema) | CA añadida a las raíces del sistema para verificar el servidor. Establézcalo en `/etc/clicklink/secrets/mtls/ca.crt` (o vuelva a ejecutar `init` con `--api-private-ca`) cuando el endpoint presente un certificado de una CA privada. |

<h3 id="helm-secrets">
  secretos
</h3>

El chart utiliza Secrets creados previamente; `init` los crea antes de la instalación.

| Clave | Predeterminado | Significado |
| - | - | - |
| `secrets.mtlsSecretName` | `clicklink-mtls` | Secret `kubernetes.io/tls` que contiene la clave de cliente mTLS, el certificado y la cadena de CA. |
| `secrets.hmacSecretName` | `clicklink-hmac` | Secret opaco que contiene `access-key` y `secret-key` para firmar solicitudes. |
| `secrets.mtlsWriteback` | `true` | Permite que los demonios guarden en el Secret mTLS el certificado final mTLS renovado automáticamente. Concede a las ServiceAccounts del componente el permiso `update` sobre ese único Secret por su nombre exacto; sin esta opción, los certificados renovados no tienen dónde almacenarse de forma persistente. Se ignora cuando `externalSecrets.enabled` es true. |

<h3 id="helm-scraper">
  scraper
</h3>

| Clave | Predeterminado | Significado |
| - | - | - |
| `scraper.enabled` | `false` (`init` establece `true`) | Despliega el scraper. |
| `scraper.replicaCount` | `1` | Réplicas del scraper. |
| `scraper.logLevel` | `info` | Nivel de log. |
| `scraper.ports.health` | `8082` | Puerto de estado y métricas. |
| `scraper.labels.platform`, `scraper.labels.env`, `scraper.labels.region` | `""` | Etiquetas inyectadas en cada métrica emitida. Las tres son obligatorias cuando el scraper está habilitado; de lo contrario, el chart genera un error durante el renderizado. |
| `scraper.config` | `{}` | Paso directo para cualquier clave de configuración de `scraper` no incluida anteriormente (intervalo de scrape, búfer, sender, etc.; mismo esquema que el bloque [scraper](#vm-scraper) de VM). |
| `scraper.bufferSizeLimit` | `2Gi` | Límite de tamaño del volumen temporal del scraper; el scraper no tiene estado persistente en disco. |
| `scraper.rbac.extraSecretNames` | `[]` | Nombres adicionales de Secret a los que el ServiceAccount del scraper puede aplicar `get`; solo se admiten nombres exactos. |
| `scraper.accessBundles` | `{}` | Paquetes de acceso por instancia, identificados por el nombre de la instancia, cada uno con `secretName` y `serviceAccountName`. Se montan en `/etc/clicklink/access/scraper/<instance>/`; los crea `clicklink clctl scraper access provision --target helm`. |

<h3 id="helm-troubleshooter">
  troubleshooter
</h3>

| Key | Default | Significado |
| - | - | - |
| `troubleshooter.enabled` | `false` (`init` escribe `true`) | Despliega el solucionador de problemas (un StatefulSet de una sola réplica). |
| `troubleshooter.logLevel` | `info` | Nivel de log. |
| `troubleshooter.ports.health` | `8084` | Puerto de health y de métricas. |
| `troubleshooter.sessionTimeout` | `4h` | Duración predeterminada de la sesión de soporte. |
| `troubleshooter.allowedTables` | la [allowlist de tablas predeterminada](#default-table-allowlist) | Tablas sobre las que el usuario de ClickHouse del solucionador de problemas puede hacer `SELECT`. Esta es la superficie de revisión de seguridad que debes editar en tu overlay. El chart no se renderiza y el demonio no arranca si se incluye `query_log` o `text_log`. |
| `troubleshooter.auditLog.path` | `/var/log/clicklink/troubleshoot-audit.log` | Ubicación del audit log, en el volumen de estado para que el registro sobreviva a la reprogramación del pod. |
| `troubleshooter.auditLog.maxSizeMb` | `128` | Rota al superar este tamaño. |
| `troubleshooter.auditLog.maxFiles` | `5` | Archivos rotados que se conservan. |
| `troubleshooter.auditLog.maxAge` | `168h` | Los archivos rotados más antiguos que este valor se eliminan. |
| `troubleshooter.redaction.workers` | `4` | Workers de redaction en paralelo. |
| `troubleshooter.redaction.patternsConfigMap` | `""` | Nombre de un ConfigMap cuya clave `redaction-patterns.yaml` contiene patterns personalizados; el chart lo monta en `/etc/clicklink/redaction-patterns.yaml`. Si está vacío, solo se aplican los patterns integrados. |
| `troubleshooter.redaction.metricsPerPattern` | `false` | Emite una métrica de tipo counter de coincidencias por pattern. |
| `troubleshooter.redaction.metricsPerPatternCap` | `50` | Límite de nombres de pattern distintos en la métrica por pattern. |
| `troubleshooter.config` | `{}` | Paso directo para cualquier clave de configuración de `troubleshooter` no contemplada arriba (poll interval, timeout de comandos, límites de connection, etc.). |
| `troubleshooter.rbac.extraSecretNames` | `[]` | Nombres adicionales de Secret sobre los que el ServiceAccount del solucionador de problemas puede hacer `get`, únicamente nombres exactos. |
| `troubleshooter.accessBundles` | `{}` | Paquetes de acceso por instance, con la misma shape que `scraper.accessBundles`, montados en `/etc/clicklink/access/troubleshooter/<instance>/`. |

<h3 id="helm-executor">
  executor
</h3>

El executor para el [modo gestionado](/es/products/bring-your-own-cloud/connector/managed-services): una Implementación de una sola réplica sobre un PersistentVolumeClaim. `init --managed` lo deja preparado y habilitado, con la identidad del cluster ya rellenada.

| Clave | Predeterminado | Significado |
| - | - | - |
| `executor.enabled` | `false` (`init --managed` escribe `true`) | Desplegar el executor. |
| `executor.logLevel` | `info` | Nivel de log. |
| `executor.pollInterval` | `30s` | Intervalo de sondeo. |
| `executor.syncInterval` | `30s` | Con qué frecuencia se actualiza el estado del servicio desde el cluster. |
| `executor.apiPort` | `9999` | Puerto de la API local. Vinculado a `127.0.0.1` en el pod de Kubernetes y no expuesto a través del Service; accede a él con `kubectl port-forward`. |
| `executor.ports.health` | `8086` | Puerto de health y metrics. |
| `executor.cluster.name` | `\"\"` (`init` lo rellena) | Nombre del único EKS cluster que gestiona este executor. Obligatorio cuando el executor está habilitado. |
| `executor.cluster.region` | `\"\"` (`init` lo rellena) | La region de AWS del cluster. Obligatorio. |
| `executor.cluster.accountId` | `\"\"` (`init` lo rellena) | La cuenta de AWS del cluster. Obligatorio; también se acepta la grafía en snake\_case `account_id`. |
| `executor.cluster.inCluster` | `false` (`init` escribe `true`) | Autenticarse como la ServiceAccount del pod de Kubernetes, el modelo de la instalación de Kubernetes; en el pod de Kubernetes no existe ningún paquete de acceso. |
| `executor.cluster.delete_instance_data.enabled` | `false` | Indica si `clicklink clctl executor teardown` elimina los datos de un service retirado sin `--delete-data`. `init` lo deja sin establecer. Las demás claves por cluster se transfieren literalmente con la grafía en snake\_case del binario. |
| `executor.targetCluster` | `\"\"` (derivado de `cluster.name`) | Cluster al que se enrutan los comandos entrantes. Déjalo sin establecer; un valor que no coincida con `cluster.name` provoca un fallo al renderizar. |
| `executor.config` | `{}` | Transferencia directa para cualquier clave de configuración de `executor` no contemplada arriba, como los horizontes de reintento en el bloque [executor](#vm-executor) de la VM. |
| `executor.platformBundleSecret` | `clicklink-platform-bundle` | secreto que contiene el paquete de aprobación de la plataforma, montado en modo solo lectura en `/etc/clicklink/access/executor/_platform`; lo escribe `clicklink clctl platform approve --secret-namespace`. El montaje es opcional, de modo que el pod de Kubernetes arranca antes de la primera aprobación. Si se deja vacío, se desactiva el montaje. |
| `executor.serviceAccount.create` | `false` | Indica si el chart crea la ServiceAccount del executor. Desactivado de forma predeterminada: `init --managed` concede el RBAC del executor fuera de banda sobre un nombre fijo, y el chart se vincula a él. |
| `executor.serviceAccount.name` | `pcm-executor` | ServiceAccount con la que se ejecuta el executor. Obligatorio cuando `create` es `false`. |
| `executor.persistence.enabled` | `true` | Respaldar `/var/lib/clicklink` (la database de comandos y el registro de instancias) con un PersistentVolumeClaim. |
| `executor.persistence.storageClass` | `\"\"` (predeterminado del cluster) | Clase de almacenamiento para la reclamación; `init` la rellena a partir de `--storage-class` o del valor predeterminado detectado. |
| `executor.persistence.size` | `5Gi` | Tamaño de la reclamación. |
| `executor.persistence.accessModes` | `[ReadWriteOnce]` | Modos de acceso de la reclamación. |

`executor.cluster` es una única correspondencia: un cluster por executor. Una lista `clusters` hace fallar el renderizado.

<h3 id="helm-persistence">
  persistencia
</h3>

| Clave | Predeterminado | Significado |
| - | - | - |
| `persistence.enabled` | `true` | Almacena el directorio de estado del solucionador de problemas en un PersistentVolumeClaim para que el estado de la sesión y el registro de auditoría se conserven tras los reinicios. |
| `persistence.storageClass` | `""` (predeterminado del clúster) | Clase de almacenamiento para la reclamación; `init` la establece a partir de `--storage-class` o de la predeterminada detectada. |
| `persistence.size` | `5Gi` | Tamaño de la reclamación. |
| `persistence.accessModes` | `[ReadWriteOnce]` | Modos de acceso de la reclamación. |

<h3 id="helm-clctl-gateway">
  clctl.gateway
</h3>

La puerta de enlace de sesiones para las [sesiones de soporte](/es/products/bring-your-own-cloud/connector/support-sessions).

| Clave | Predeterminado | Significado |
| - | - | - |
| `clctl.gateway.enabled` | `false` | Sirve la puerta de enlace de sesiones dentro del solucionador de problemas. |
| `clctl.gateway.listenAddr` | `":8443"` | Dirección de escucha local del pod de Kubernetes. |
| `clctl.gateway.port` | `8443` | Puerto del contenedor expuesto mediante el Service y el Ingreso del solucionador de problemas; coincide con el puerto de `listenAddr`. |
| `clctl.gateway.audience` | `clicklink-clctl` | Claim de audiencia requerido en los tokens de operador. El cliente de sesiones usa de forma predeterminada el mismo valor, por lo que solo debe coordinarse si cambia este valor. |
| `clctl.gateway.requiredHostedDomain` | `""` | Claim opcional de dominio alojado requerido por la puerta de enlace; rechaza los tokens ajenos a su espacio de trabajo antes de consultar la lista de permitidos. |
| `clctl.gateway.allowedOperators` | `[]` (cerrado) | Lista de permitidos de direcciones de correo electrónico de operadores, generada en un ConfigMap; la rotación requiere cambiar los values y ejecutar `helm upgrade`. |
| `clctl.gateway.requireVerifiedEmail` | `true` | Requiere el claim `email_verified` en los tokens de operador. El valor `false` sin `jwksUri` e `issuer` hace que falle la generación. |
| `clctl.gateway.jwksUri` | `""` | Sobrescritura del endpoint JWKS para proveedores de identidad distintos de Google; si está vacío, usa el de Google. |
| `clctl.gateway.issuer` | `""` | Claim de emisor que se debe fijar. Obligatorio para cualquier implementación real que configure `jwksUri`. |
| `clctl.gateway.jwksEgressCIDRs` | `[]` | CIDR a los que la puerta de enlace debe acceder para validar JWKS con la NetworkPolicy de denegación predeterminada; si está vacío, bloquea todas las comprobaciones de tokens. |
| `clctl.gateway.ingressFromSelector` | `{}` | Origen de Ingreso de NetworkPolicy para el puerto de la puerta de enlace; si está vacío, permite cualquier pod de Kubernetes del espacio de nombres del chart. Al usar un Ingreso, establézcalo en la etiqueta del espacio de nombres de su controlador de Ingreso. |
| `clctl.gateway.rateLimit.requestsPerMinute` | `30` | Límite de solicitudes por minuto y operador. |
| `clctl.gateway.ingress.enabled` | `false` | Genera un Ingreso para la puerta de enlace. Cuando está deshabilitado, los operadores acceden a la puerta de enlace mediante `kubectl port-forward`; no se necesita ningún controlador de Ingreso ni cert-manager. |
| `clctl.gateway.ingress.className`, `hosts`, `tls`, `annotations` | `""`, `[]`, `[]`, `{}` | Campos estándar de Ingreso; `tls` hace referencia a secretos `kubernetes.io/tls`. |

<h3 id="helm-networkpolicy">
  networkPolicy
</h3>

| Clave | Valor predeterminado | Significado |
| - | - | - |
| `networkPolicy.enabled` | `true` | Genera una NetworkPolicy con denegación predeterminada y una lista de permitidos para la salida. Su aplicación requiere un CNI que imponga las reglas. |
| `networkPolicy.allowEgressCIDRs` | `[]` (`init --egress-cidrs` lo completa) | CIDR detrás del endpoint del conector. En modo gestionado, cuando los charts de plataforma residen en Amazon ECR, también los rangos regionales de ECR y STS, o el rango de su mirror. Con un CNI que imponga las reglas, el conector no tendrá salida hasta que se complete este valor; `init` deja la política habilitada solo cuando estos se conocen. |
| `networkPolicy.allowEgressPorts` | `[443]` | Puertos abiertos hacia `allowEgressCIDRs`; sobrescriba este valor cuando el endpoint escuche en un puerto no predeterminado. |
| `networkPolicy.clickhouseNamespaces` | `[]` | Espacios de nombres de los servicios de ClickHouse, identificados mediante la etiqueta `kubernetes.io/metadata.name`. Los espacios de nombres que crea el executor se admiten de todos modos, gracias a la etiqueta `clicklink.clickhouse.com/managed-by=executor` que les asigna, por lo que una instalación gestionada solo enumera los espacios de nombres creados fuera del executor. Cuando está vacío, la política del solucionador de problemas recurre a los valores de `namespace` del mapa `instances` de nivel superior; la política del scraper no tiene fallback, así que enumere aquí los espacios de nombres para el scraping. |
| `networkPolicy.metricsScrapeSelector` | `{}` | Restringe el ingreso para la recopilación de métricas a un espacio de nombres específico de Prometheus mediante una etiqueta; si está vacío, permite la recopilación desde cualquier pod de Kubernetes en el espacio de nombres del chart. |
| `networkPolicy.kubeletProbeCIDRs` | `[]` | CIDR desde los que se originan las sondas de estado del agente kubelet (IP de nodo). Si está vacío, permite el ingreso de sondas desde cualquier origen, como ocurre con la exención de kubelet en la mayoría de los CNI; establézcalo explícitamente con una denegación predeterminada estricta. |
| `networkPolicy.apiserverCIDRs` | `[]` (`init --managed` lo completa a partir de la VPC del cluster) | CIDR del servidor de la API de Kubernetes. Si está vacío, no se genera ninguna regla de salida para el servidor de la API y los demonios fallarán en su primera solicitud de token en Kubernetes gestionado hasta que se configure. Fije los rangos de la VPC, no las direcciones propias del servidor de la API, que cambian a lo largo de la vida del cluster. |
