Releases: craftech-io/alerthub
v0.2.0
🚀 Alerthub v0.2.0: nuevo Alert Center, mejoras operativas y migraciones automáticas
Este release incorpora el nuevo Alert Center como principal novedad de Alerthub: una consola para buscar, filtrar, inspeccionar y exportar episodios de alertas. Además, incluye mejoras en la home y en /admin, reportería con zona horaria configurable, y una nueva estrategia de despliegue donde las migraciones corren directamente desde la imagen de la aplicación.
✨ Qué incluye
🧭 Alert Center
Nueva consola operativa para explorar alertas históricas y episodios desde una interfaz dedicada.
Incluye:
GET /alertsGET /alerts/:episodeIdGET /api/alerts/episodesGET /api/alerts/episodes/:episodeIdGET /api/alerts/overviewGET /api/alerts/filter-optionsGET /api/alerts/export.csv
Permite:
- buscar por texto libre
- filtrar por estado, severidad, alerta, cluster, namespace, deployment, pod, service, categoría y source
- inspeccionar el detalle completo de cada episodio
- exportar resultados en CSV
🏠 Nueva home operativa
La pantalla principal / ahora incluye:
- resumen general de alertas
- tendencia diaria de alertas firing
- historial reciente de eventos
- listado de alertas firing activas
- búsqueda rápida para ir a Alert Center
- visualización de versión de la aplicación
⚙️ Mejoras en /admin
El panel administrativo ahora suma:
- selector de zona horaria configurable
- visualización mejorada de alertas activas
- endpoint para reconciliar episodios desde eventos históricos:
POST /admin/alerts/reconcile-episodes
📊 Reportería mejorada
La exportación Excel ahora:
- usa rangos y timestamps con zona horaria configurable
- mejora el cálculo y la visualización de duraciones
- amplía métricas y contexto de alertas para auditoría y análisis
🗄️ Persistencia y lifecycle de alertas
Se mejoró la consistencia del ciclo de vida de alertas:
- se preserva el
fingerprintrecibido desde Alertmanager - se resuelve mejor la relación entre eventos
firingyresolved - se agrega reconciliación de episodios a partir de
alert_events - se incorpora la migración
migrations/040_alert_center.sql - se agregan índices para búsquedas, filtros y timeline del Alert Center
☸️ Helm Chart y Docker
Se actualizó la estrategia de inicialización de base de datos:
- la imagen ahora incluye
/app/migrations - Alerthub puede ejecutar migraciones con
/app/alerthub migrate - el chart de Helm ahora corre migraciones automáticamente desde la propia imagen
- se elimina el flujo anterior basado en ConfigMap SQL montado
- el Secret autogenerado de credenciales se marca con
helm.sh/resource-policy: keep
📚 Documentación y ejemplos
Se actualizó la documentación principal y del chart con:
- guía de uso de Alert Center
- explicación del nuevo flujo de migraciones
- nuevas capturas de la UI
- documentación de rutas y filtros disponibles
⚠️ Breaking changes
- El flujo de inicialización de base de datos en Helm ahora ejecuta las migraciones desde
/app/migrationsusando/app/alerthub migrate, en lugar de montar archivos SQL mediante el flujo anterior basado en ConfigMap. - Se eliminó el template legado
init-sql-configmap, por lo que los despliegues que dependían de ese comportamiento deben validar y actualizar sus valores de Helm antes de hacer upgrade. - Las configuraciones personalizadas que dependían de archivos SQL montados dentro del pod ahora deben mover esa lógica a la imagen de la aplicación o gestionar las migraciones de forma externa.
- Este cambio requiere actualizar tanto la imagen de Docker como el chart de Helm; actualizar solo la imagen no aplica el nuevo flujo de inicialización/migración.
v0.1.0
🚀 Primer release público de Alerthub
Este es el primer release público de Alerthub, un servicio en Go que recibe alertas de Grafana Alerting, las normaliza (✅ fingerprint determinístico + 🏷️ enriquecimiento de labels) y persiste el historial en PostgreSQL para auditoría, análisis y reportería (📊 dashboards en Grafana / 🧾 SQL / 📁 Excel).
✨ Qué incluye
⚙️ API Alerthub (compatible con Alertmanager)
POST /api/v1/alertsPOST /api/v2/alerts
🗄️ Persistencia en PostgreSQL
- Tablas principales:
alert_events,alert_state,alert_episodes
☸️ Helm Chart (Kubernetes)
Incluye todo lo necesario para desplegar Alerthub en un clúster:
- ✅ API + Service + Ingress opcional
- 🐘 PostgreSQL opcional (instalación “todo en uno”)
- 🧱 Bootstrap SQL /
initSqlpara inicializar el esquema automáticamente - 🔐 Flujos de credenciales:
- Autogeneradas
- Secret externo (estilo RDS:
username/password) DATABASE_URLinline
📊 Dashboards de Grafana listos para usar
- Tables Inspector
- Full Alert History
- Alert History without Queue
- Only Queue Alerts
🛠️ Panel /admin (resolución manual)
Incluye /admin para resolver manualmente alertas cuando no llega el evento Resolved.
La resolución queda auditada agregando la annotation:
manual_resolution
🧭 Cómo empezar (Quick start)
- 📖 Revisá la documentación del chart y elegí un
values.yamldesdeexamples-values/. - ⎈ Instalá con Helm en el namespace deseado.
- ⚡ Configurá Grafana:
- Contact point hacia Alerthub
- Datasource PostgreSQL para los dashboards
📝 Notas
- Para entornos productivos se recomienda usar PostgreSQL gestionado (por ejemplo Amazon RDS).
- Versioná imágenes y evitá
latestpara despliegues reproducibles.