API HTTP¶
Todas las rutas se registran en Server.Handler (internal/api/server.go). La interfaz usa esta API y nada más, así que todo lo que hace la interfaz se puede automatizar con guiones.
- Autenticación: una galleta de sesión que pone el inicio de sesión con GitHub (
/api/auth/login). Las rutas marcadas con 🔒 devuelven401sin ella, y403para los usuarios que no están enALLOWED_USERS. - Formato: JSON de entrada y de salida. Los errores son
{"error": "mensaje"}con el código de estado correspondiente. - Actualizaciones en vivo: las rutas
…/eventsson flujos de eventos enviados por el servidor (text/event-stream). La entrada desactiva el búfer para ellas. - Idioma: con
Accept-Language: es, los mensajes de la plataforma llegan en español de México.
Públicas¶
| Método | Ruta | Hace |
|---|---|---|
| GET | /healthz |
ok; las sondas de disponibilidad y de vida |
| GET | /api/public/stats |
números agregados para una página pública; solo con PUBLIC_STATS=true, y solo en el puerto interno STATS_LISTEN cuando está definido (qué contiene) |
| GET | /api/public/activity |
el Ahora mismo de la página de bienvenida: las ejecuciones en cola o en curso y las 8 versiones más recientes, solo con el nombre de la aplicación y la hora (sin repositorios, confirmaciones, ramas ni mensajes); solo con PUBLIC_ACTIVITY=true |
| POST | /api/webhooks/github |
los avisos web de la aplicación de GitHub (envío, solicitud de incorporación, instalación), verificados con HMAC |
| GET | /api/auth/login |
redirige al OAuth de GitHub |
| GET | /api/auth/callback |
la respuesta de OAuth; crea la sesión |
| POST | /api/auth/logout |
termina la sesión |
| GET | /api/setup/status |
si la aplicación de GitHub está configurada |
| GET | /api/setup/github |
inicia el flujo de manifiesto de la aplicación (necesita ?token=SETUP_TOKEN) |
| POST | /mcp |
la puerta MCP para agentes (la Ruta); necesita una llave de agente como token portador, no una sesión |
| GET | /api/setup/github/callback |
GitHub devuelve las credenciales de la aplicación nueva; se guardan en un Secret |
Cuenta y entorno 🔒¶
| Método | Ruta | Hace |
|---|---|---|
| GET | /api/me |
la cuenta con la sesión iniciada |
| GET | /api/installations |
las instalaciones de la aplicación de GitHub |
| GET | /api/installations/{id}/repos |
los repositorios de una instalación |
| GET | /api/zones |
las zonas DNS que el token puede editar |
| GET | /api/environment |
las comprobaciones de la página Entorno |
| GET | /api/services |
el catálogo de Servicios (aplicaciones, complementos, servicios del clúster, datos de conexión) |
| GET | /api/stats/visits |
el panel de visitantes del inicio: los últimos 7 días de cada aplicación que Umami cuenta, y los 7 anteriores (Visitas) |
| GET | /api/stats/delivery |
las estadísticas de entregas del panel: los últimos 30 días, los 30 anteriores y doce puntos semanales |
| GET | /api/problems |
las advertencias y errores de la propia plataforma, agrupados (Problemas) |
| GET | /api/problems/count |
cuántos problemas están abiertos (la insignia de la barra superior) |
| POST | /api/problems/{id}/dismiss |
descartar un problema |
| GET | /api/ruta?kind=&q= |
las entradas de la Ruta |
| POST | /api/ruta |
agrega una entrada (la escribe la persona con la sesión) |
| PUT | /api/ruta/{id} |
cambia una entrada (se conserva la versión anterior) |
| POST | /api/ruta/{id}/archive |
esconde una entrada de las listas |
| GET | /api/ruta/activity |
los cargos de los agentes y sus últimas llamadas a herramientas |
| GET | /api/agent-keys |
las llaves de agente (nunca los tokens) |
| POST | /api/agent-keys |
crea una llave de agente; el token solo viene en esta respuesta |
| DELETE | /api/agent-keys/{id} |
revoca una llave de agente |
| POST | /api/notifications/test |
mandar ahora un correo de aviso de muestra (el botón de la página Entorno) |
| POST | /api/dns/sync |
volver a crear ahora los registros DNS de cada aplicación |
| POST | /api/propose |
detectar un repositorio y devolver un rendimiento.yaml + Dockerfile propuestos |
| GET | /api/namespaces/{name}/migration |
lo que ya existe en un espacio de nombres (para adoptar cargas de trabajo existentes) |
Aplicaciones 🔒¶
| Método | Ruta | Hace |
|---|---|---|
| GET | /api/apps |
enumera las aplicaciones con su estado |
| POST | /api/apps |
incorpora un repositorio (abre la solicitud de configuración, o adopta directamente) |
| GET | /api/apps/{app} |
una aplicación: especificación, estado, última ejecución y última versión |
| DELETE | /api/apps/{app} |
borra la aplicación y todo lo que creó |
| GET | /api/apps/{app}/impact |
lo que quitaría un borrado (se muestra antes de confirmar) |
| POST | /api/apps/{app}/disconnect |
deja de administrar la aplicación pero deja corriendo sus cargas de trabajo |
| GET | /api/apps/{app}/runs |
las ejecuciones de integración continua |
| POST | /api/apps/{app}/runs |
inicia una ejecución de la rama principal (el botón Ejecutar) |
| GET | /api/apps/{app}/releases |
el historial de versiones (huella por servicio) |
| GET | /api/apps/{app}/releases/{number}/tasks/{task}/log |
el registro de una tarea posterior al despliegue de una versión |
| GET | /api/apps/{app}/reliability?range=24h\|7d\|30d |
las comprobaciones de disponibilidad: por comprobación, la disponibilidad, p50/p95, los intervalos de la gráfica y la última comprobación; las caídas; las versiones del intervalo |
| GET | /api/apps/{app}/visits?range=24h\|7d\|30d |
los visitantes según Umami: por cada sitio que coincide, los totales y los del periodo anterior, una serie para la gráfica, las páginas principales, los orígenes y los países |
| POST | /api/apps/{app}/rollback |
revierte a una versión anterior ({"release": N}) |
| GET | /api/apps/{app}/resources |
los objetos vivos de Kubernetes y su salud (el árbol de recursos) |
| PUT | /api/apps/{app}/secrets/{secret} |
define los valores de un secreto (solo escritura; los valores nunca se devuelven) |
| GET | /api/apps/{app}/events |
SSE: los cambios de estado de la aplicación |
| GET | /api/apps/{app}/addons |
los complementos por aplicación (p. ej. Renovate) y su estado |
| PUT | /api/apps/{app}/addons/{addon} |
enciende, apaga o configura un complemento por aplicación |
Ejecuciones 🔒¶
| Método | Ruta | Hace |
|---|---|---|
| GET | /api/runs/{id} |
una ejecución con sus pasos (el grafo) |
| POST | /api/runs/{id}/cancel |
la cancela; se borran sus pods de construcción |
| GET | /api/runs/{id}/steps/{step}/log |
el registro de un paso (guardado, o en vivo mientras corre) |
| GET | /api/runs/{id}/events |
SSE: el estado de los pasos y las líneas del registro |
Complementos por aplicación (Renovate) 🔒¶
| Método | Ruta | Hace |
|---|---|---|
| GET | /api/addons |
los tipos de complementos por aplicación |
| GET | /api/addons/{addon} |
uno, con sus ajustes |
| PUT | /api/addons/{addon} |
cambia sus ajustes |
| GET | /api/addons/{addon}/runs |
sus ejecuciones |
| POST | /api/addons/{addon}/runs |
lo ejecuta ahora |
| GET | /api/addons/{addon}/runs/{id} |
una ejecución con su registro |
Complementos instalados (del clúster) 🔒¶
| Método | Ruta | Hace |
|---|---|---|
| GET | /api/addon-catalog |
el catálogo de un clic |
| GET | /api/installed |
los complementos instalados (objetos Addon) con su estado |
| GET | /api/installed/{name} |
uno, con su vista previa, ganchos e inventario |
| PUT | /api/installed/{name} |
instala o cambia uno (escribe addons/<name>.yaml en el repositorio de gitops) |
| PATCH | /api/installed/{name} |
interruptores: suspender, sincronización manual, podar, adoptar |
| POST | /api/installed/{name}/sync |
aprueba y aplica los cambios pendientes (sincronización manual) |
| DELETE | /api/installed/{name} |
desinstala (primero los ganchos pre-delete; los tipos de neverDelete se quedan) |