Registro de cambios del Helm Chart

0.6.10 (2026-10-23)

  • Permitir exponer Cyberwatch mediante Gateway API con una HTTPRoute vinculada a una Gateway existente, configurable mediante httpRoute
    • Una BackendTLSPolicy hace que la Gateway valide el certificado de Nginx
    • Requiere las CRD de Gateway API en versión 1.4 o superior
  • El certificado presentado por Nginx ahora lo genera Helm, firmado por la autoridad de certificación interna y con los nombres de servicio de Kubernetes en sus SANs
    • Se puede proporcionar un certificado personalizado mediante nginx.tls.existingSecret
    • Migración: se elimina el volumen data-ssl. Un certificado depositado manualmente en este volumen debe proporcionarse mediante nginx.tls.existingSecret antes de la actualización
  • Permitir definir las tolerations de los pods, globalmente mediante global.tolerations o por componente (web.tolerations, etc.)
  • Añadir probes startup, liveness y readiness a todos los pods
    • Eliminado: la variable web.port ya no se utiliza
  • Permitir configurar el tamaño del volumen de la base de datos mediante database.storageSize (por defecto 10Gi)
    • Migración: si el volumen se ha ampliado manualmente, indicar su tamaño actual
  • Restringir el acceso al puerto 9222 de web-scanner a los pods sidekiq-master y sidekiq-node con una NetworkPolicy, configurable mediante webScanner.networkPolicy
  • Permitir desactivar la elevación de privilegios del pod sidekiq-node mediante sidekiqNode.allowPrivilegeEscalation (por defecto true)
    • Desactivar la elevación de privilegios puede alterar el resultado de los escaneos nmap
  • Crear un volumen de caché por pod cuando container-scanner se despliega en varios pods con global.storageClass
  • Añadir las etiquetas estándar de Kubernetes app.kubernetes.io/* en los recursos
  • Corrección: ya no se crean los volúmenes de los componentes desactivados
    • Migración: desactivar Elasticsearch elimina su volumen durante el helm upgrade
  • Corrección del arranque de sidekiq-master con una base de datos o un Redis externo sin TLS
  • Corrección de la eliminación del secret cbw-root-ca-cert en una de cada dos actualizaciones en los satélites
  • Corrección del volumen Redis ausente en modo hostPath

0.6.9 (2026-06-19)

  • Permitir definir el serviceAccountName de los pods, globalmente mediante global.serviceAccountName o por componente (web.serviceAccountName, etc.)
  • Añadir los nombres de servicio de Kubernetes (nginx.<namespace>.svc y nginx.<namespace>.svc.<clusterDomain>) a los “Subject Alternative Names (SANs)” del certificado autofirmado de Nginx para la compatibilidad con Gateway API
    • El sufijo DNS del clúster es configurable mediante internalCbw.nginx.tls.clusterDomain (por defecto cluster.local)
    • Migración: un secret cbw-nginx-tls existente no se regenera automáticamente. Elimínelo y luego ejecute helm upgrade para obtener los nuevos SANs
  • Cambio: usar hostPort en lugar de Service.spec.externalIPs para exponer la base de datos y Redis a los nodos satélites desde un nodo master
    • El campo externalIPs está obsoleto desde Kubernetes 1.36
    • Eliminado: la variable node.ip ya no se utiliza
  • Corrección de los fallos en los descubrimientos DNS
    • Corrección de la resolución DNS en los pods web y sidekiq bajando ndots a 1
    • Configurable mediante internalCbw.global.dns.ndots
  • Corrección del montaje del volumen de datos de Redis cuando TLS no está activado

0.6.8 (2026-05-04)

  • Activar TLS para Nginx, Elasticsearch y Kibana
  • Activar la gestión de usuarios en Kibana introducida con Cyberwatch 15.6
  • Cambio: Desactivar la interfaz web por defecto en los nodos satélite
    • Si nginx.limitToApi no está definido, el valor es true en los satélites y false en los demás nodos
    • Sigue siendo posible forzar nginx.limitToApi: false para reactivar la interfaz web en un satélite
  • Eliminado: las variables webScanner.web_scanner_api_key y webScanner.webScannerApiKeySecret ya no se utilizan, el web-scanner ya no se autentica mediante clave de API

0.6.7 (2026-03-23)

  • Se añadió la configuración del tamaño del volumen para elasticsearch con la variable elasticsearch.storageSize
  • Se añadió la configuración de variables de entorno con *.env para los pods container-scanner y web-scanner

0.6.6 (2026-03-06)

  • Los datos de Elasticsearch ahora son persistentes

0.6.5 (2026-02-24)

  • Se añadió allowPrivilegeEscalation al pod sidekiq-node para poder ejecutar escaneos nmap

0.6.4 (2026-02-13)

  • Se corrigieron los permisos del volumen en container-scanner

0.6.3 (2026-01-26)

  • Se eliminó el servicio de limpieza del volumen de container-scanner
    • La limpieza ahora se realiza directamente por el servicio container-scanner
  • Se añadió un servicio al pod nginx en los nodos satélite
  • Se añadió soporte para secretos de Kubernetes para todos los secretos del archivo values.yml

0.6.2 (2026-01-09)

  • Los datos de Redis ahora son persistentes
  • Se corrigió el mensaje de advertencia relacionado con el pod Elasticsearch
  • Se corrigió el mensaje de advertencia del cron job de container-scanner

0.6.1 (2025-12-12)

  • Se añadió un servicio para limpiar el volumen de container-scanner
    • El intervalo de limpieza es configurable mediante containerScanner.cleanupIntervalHours
  • El pod Elasticsearch ahora es un StatefulSet
  • Se añadieron startupProbe y livenessProbe a los pods cache y redis
  • Se corrigió el montaje del volumen data-uploads cuando un nodo está desconectado

0.6.0 (2025-08-25)

  • Se añadió la capacidad NodeSelector a los pods
  • Se añadió la posibilidad de escalar container-scanner y web-scanner
  • Se añadió la posibilidad de configurar un Horizontal Pod Autoscale (HPA) para los pods web, sidekiq, sidekiq_node, container-scanner y web-scanner
  • Se simplificó el uso de certificados para ingress, DB y redis
    • Ahora es posible introducir certificados y claves directamente en el archivo Values.yml.
    • Los secretos de ingress ya no se regeneran en cada instalación
  • Se añadió soporte para múltiples ingresses.
    • Se añadió una nueva configuración para el/los ingress(es) mediante la variable ingress.hosts.
    • Obsoleto: las variables ingress.host, ingress.tls, ingress.ingressClassName y ingress.annotations ahora están obsoletas. Se eliminarán en una actualización futura.
  • Se añadió la posibilidad de usar un Persistent Volume (PV) y un Persistent Volume Claim (PVC) para la caché de container-scanner
    • Obsoleto: la variable containerScanner.cache_size_limit está obsoleta. Ahora debe usarse containerScanner.cacheStorageSize o containerScanner.existingClaim. La variable se eliminará en una actualización futura.
  • Se añadió la posibilidad de especificar la estrategia de actualización de los Deployments
  • Los pods DB y redis ahora están en StatefulSet
  • Se añadió un archivo NOTES.txt para avisar de obsolescencias tras una instalación o actualización del Helm chart
  • Se corrigió la anotación usada para desactivar apparmor en container-scanner
  • Obsoleto: las variables *.extraEnvVars para todos los pods ahora se muestran como obsoletas en el NOTES.txt. Se recomienda usar *.env