Cómo un producto se vuelve observable y documentado
La entrada le da una carpeta y paneles
Cuando se fusiona la entrada del catálogo de un producto, la raíz de Grafana del repositorio operations se ejecuta en la cadena de reconciliadores. En el único stack de Grafana Cloud de la organización crea la carpeta del producto, que su equipo puede editar y todos pueden ver, con un panel de servicio y un panel de SLO que abren en producción, junto al panel de costos de la página de FinOps.
Las reglas de alerta vienen con ella
La misma raíz crea las reglas de alerta básicas del producto, con umbrales tomados del campo slo de la entrada: el presupuesto de errores que se consume rápido o despacio, errores del servidor por encima del 2 por ciento, latencia por encima del objetivo o del doble, Cloud SQL cerca de sus límites, mensajes de Pub/Sub que esperan más de diez minutos y un tema de mensajes fallidos que no está vacío. Seleccionan producción por la etiqueta env y envían un correo al punto de contacto del equipo. Hoy ese punto de contacto llega a las cuentas del propio mantenedor, porque Grafana Cloud acepta solo direcciones de sus propios miembros y las cuentas del mantenedor son sus únicos miembros.
La telemetría fluye sin configuración
Una aplicación escribe registros JSON en su salida estándar y envía trazas y métricas con OTLP a la dirección que le da la plataforma; nunca tiene una credencial de Grafana. La plataforma tiene un par de puertas de enlace por edición, producción y no producción. Las trazas y las métricas van a la puerta de enlace OTLP de la edición con el token de identidad del servicio, y los registros viajan por Cloud Logging y un buffer de Pub/Sub hasta la puerta de enlace de registros. Las puertas de enlace, Grafana Alloy en Cloud Run, verifican la etiqueta env de cada señal, le marcan su edición y la reenvían con un token de solo escritura. La dirección llega en la salida Ready del producto, y los módulos del golden path la pasan a cada servicio.
Cada merge publica su parte del mapa
El pipeline de cada repositorio de producto incluye el componente catalog-publish, y también el del catálogo y los de cuatro repositorios de la plataforma. En un merge request, el componente genera el fragmento del repositorio, su parte del mapa, sin ninguna credencial, y falla cuando falta la descripción general o el runbook. Después del merge publica el fragmento bajo el prefijo propio del repositorio: para un producto, su servicio, sus especificaciones de API y de eventos, los productos que llama, su runbook y sus registros de decisiones.
El mapa se reconstruye solo
Un agregador reconstruye el mapa con los últimos fragmentos justo después de cada publicación y cada hora, en catalog.projectairframe.dev detrás de IAP, donde todos en la organización pueden leerlo. Toma la lista de productos del catálogo, omite un fragmento roto para que el resto se siga construyendo y conserva las últimas tres versiones. El mapa sigue la rama main de cada repositorio, no lo que está desplegado.