Saltar al contenido principal

Notas de versión — 19 de marzo de 2026

Esta versión añade una página de contacto en tres idiomas, completa la infraestructura de agregación centralizada de registros con Grafana Cloud Loki, introduce la monitorización de copias de seguridad de MongoDB, limitación de velocidad de Ingress, registro JSON estructurado y un transporte de registro de auditoría RGPD.


Página de contacto

Página de contacto — EN / HU / DE

CADENSA ahora tiene una página de contacto dedicada disponible en cadensa.io/contact en los tres idiomas admitidos (inglés, húngaro, alemán).

Qué incluye la página:

CanalPropósitoTiempo de respuesta
💬 SoporteProblemas técnicos, preguntas de uso24h
FacturaciónSuscripciones, facturas, pagos48h
🔒 PrivacidadRGPD, solicitudes de datos (Art. 15–22)72h
⚖️ LegalConsultas legales, firma de DPA5 días hábiles

Información de la empresa:

  • Axeri Labs Bt. — 2120 Dunakeszi, Brassói utca 7.
  • Registro: 13-06-060656 · Impuesto: 22531300-2-13 · NIF UE: HU22531300

Detalles técnicos:

  • Las direcciones de correo se renderizan con JavaScript y se ofuscan con Unicode — no están presentes en HTML plano ni en JSON de i18n (protección anti-spam)
  • El enlace Contacto del pie de página se ha actualizado de Próximamente a la página activa

Backend: Transporte de registro de auditoría RGPD

Registro de auditoría RGPD — Retención de 365 días (Art. 5(2))

Todos los eventos relevantes para el RGPD ahora se persisten en una base de datos de registro de auditoría dedicada con una política de retención de 365 días.

Eventos registrados:

  • Registro de usuario, inicio de sesión, cambios de contraseña
  • Acceso y exportaciones de datos personales (Art. 15)
  • Solicitudes de eliminación y cancelación de datos (Art. 17)
  • Actualizaciones de consentimiento
  • Acciones de administrador en cuentas de usuario

Base de cumplimiento: RGPD Art. 5(2) — obligación de responsabilidad proactiva.

Nivel: Todos los planes (automático, sin acción del usuario requerida)


Backend: Registro JSON estructurado

Formato de registro JSON + Middleware RequestLogger

Toda la salida de registros del backend ahora está en JSON estructurado (modo producción), permitiendo consultas de texto completo y estructuradas en Grafana Loki.

Campos de registro en cada solicitud:

{
"timestamp": "2026-03-19T10:00:00.000Z",
"level": "info",
"method": "POST",
"path": "/api/time-entries",
"statusCode": 201,
"durationMs": 34,
"userId": "...",
"workspaceId": "...",
"ip": "x.x.x.x"
}

Cambios adicionales:

  • Todas las llamadas console.* reemplazadas por logger.* en controladores, servicios, modelos y configuración
  • Las solicitudes de sonda de actividad /health de Kubernetes se filtran silenciosamente — no se registran (reduce el ruido)

Infraestructura: Limitación de velocidad de Ingress

Limitación de velocidad a nivel de IP en todos los endpoints de API

El controlador de Nginx Ingress ahora aplica limitaciones de velocidad a nivel de IP en todas las rutas /api/*.

Límites:

ConfiguraciónValor
Tasa de solicitudes50 req/s por IP
Conexiones simultáneas30 por IP
Burst×5 (burst de 250 req / burst de 150 conn)

Comportamiento:

  • Las solicitudes que superan el límite reciben 429 Too Many Requests
  • La ventana de burst permite picos de tráfico cortos sin rechazo inmediato
  • Todas las respuestas 429 son visibles en Grafana (alerta Rate Limit Spike)

Infraestructura: Agregación centralizada de registros

Promtail → Grafana Cloud Loki (Fases 3 + 5)

Todos los registros de los pods de Kubernetes ahora se agregan a Grafana Cloud Loki mediante un DaemonSet de Promtail.

Descripción general del pipeline:

  • Trabajo cadensa-pods: lee registros JSON → analiza level, message, path, method, statusCode, durationMs, userId, workspaceId como etiquetas
  • Trabajo cadensa-backup: lee registros de copia de seguridad en texto plano (sin eliminación de marca de tiempo CRI — se usa la hora de ingesta de Loki)
  • Trabajo monitoring-pods: registros propios de Promtail + Grafana Agent

5 reglas de alerta de Grafana desplegadas:

AlertaCondiciónGravedad
Alta tasa de errores>10 errores/5mincrítica
Fuerza bruta detectada>20 inicios de sesión fallidos/5mincrítica
Rate Limit Spike>50 respuestas 429/5minadvertencia
MongoDB inaccesiblesin latido 5mincrítica
Copia de seguridad ausentesin registro de copia de seguridad en 25hadvertencia

Infraestructura: Monitorización de copias de seguridad de MongoDB

Alerta de Copia de seguridad ausente + IU de copia de seguridad del administrador

Alerta de Grafana:

  • Copia de seguridad ausente se activa cuando no aparece ningún registro de éxito de copia de seguridad en 25 horas
  • La consulta de alerta apunta directamente a los registros de copia de seguridad en texto plano (sin análisis JSON)
  • Se resuelve automáticamente cuando se ejecuta la siguiente copia de seguridad

Panel del administrador (/admin/backup):

  • Navegador de vista de árbol: tipo → fecha de instantánea → archivos individuales
  • Indicador isStale — advertencia visual si la última instantánea tiene más de 25h de antigüedad
  • Widget de monitorización en el panel del administrador que muestra el estado de la copia de seguridad de un vistazo
  • Fuente de copia de seguridad: Wasabi S3 (eu-central-2) — avisos legales actualizados

Correcciones de errores

  • Retransmisión SMTP: Dirección de retransmisión interna corregida a smtp-relay.cadensa.svc.cluster.local:25 (sin autenticación, sin TLS)
  • Ingesta del registro de copia de seguridad: Eliminada la etapa de análisis de marca de tiempo CRI para los registros de copia de seguridad — se usa la hora de ingesta en su lugar, resolviendo los errores de rechazo de Loki
  • Lista de usuarios del administrador: Corregido 403 Forbidden en /reports/invoices
  • Archivado de espacio de trabajo: Aviso RGPD añadido al diálogo ArchiveWorkspaceDialog

Resumen

ÁreaCambio
🌐 LandingPágina de contacto EN/HU/DE, enlace de pie de página, correos con protección anti-spam
🔒 BackendTransporte de registro de auditoría RGPD (365d, Art. 5(2))
🪵 BackendRegistro JSON estructurado, RequestLogger, filtro de /health
🛡️ InfraLimitación de velocidad de Ingress: 50 rps / 30 conn / burst ×5
📡 InfraDaemonSet de Promtail → Grafana Cloud Loki (3 trabajos)
Infra5 reglas de alerta de Grafana (tasa de errores, fuerza bruta, rate-limit, MongoDB, copia de seguridad)
🗄️ InfraMonitorización de copias de seguridad de MongoDB + IU de copia de seguridad del administrador (vista de árbol, isStale)
🐛 CorrecciónRetransmisión SMTP, ingesta del registro de copia de seguridad, 403 del administrador, archivado de espacio de trabajo RGPD