github-actions-gateway
Operador multiinquilino para runners de GitHub Actions en Kubernetes. Alternativa al ARC con escalado a cero, pools de IPs egress por inquilino y programación prioritaria GPU/CPU bajo ResourceQuota compartido. Licencia Apache 2.0.
Ficha actualizada 24 sept 2026, 21:44 · upstream 24 sept 2026, 21:41 · release v1.8.0
Qué es github-actions-gateway
Descripción editorial construida a partir del repositorio, su documentación y sus señales de mantenimiento.
GitHub Actions Gateway (GAG) es un operador multiinquilino diseñado para clústeres donde varios equipos comparten runners de GitHub Actions. Cierra brechas del Actions Runner Controller (ARC) al permitir recuperación automática ante evicción de nodos, aislamiento de IPs egress por inquilino y escalado a cero para reducir huella de escucha.
Cada equipo gestiona su propia puerta de enlace aislada mediante un recurso personalizado ActionsGateway, ejecutando grupos de runners bajo un ResourceQuota compartido que el inquilino no puede aumentar. La arquitectura utiliza goroutines en un solo pod compartido para listeners, reduciendo la sobrecarga frente a los pods siempre activos del ARC.
El sistema valida admisión antes de reclamar trabajos y aplica capas de prioridad para garantizar recursos GPU ante contención de CPU. Incluye alertas como código y paneles de plataforma para monitorización sin depender exclusivamente de tickets de soporte.
- Gestión de runners compartidos entre múltiples equipos en un único clúster
- Aislamiento de tráfico egress con IPs estables por inquilino
- Optimización de costes mediante escalado a cero de workers inactivos
- Programación prioritaria para cargas GPU bajo cuota CPU compartida
- Recuperación automática de trabajos tras evicción o preemption del clúster
- Huella mínima de listener: un solo pod compartido en lugar de uno por conjunto
- Aislamiento de IPs egress mediante proxy pool y Cilium o Cloud NAT
- Gestión de cuotas compartidas con prioridad para grupos GPU específicos
- Requiere configuración manual de ResourceQuota en el namespace del clúster
- Necesita mecanismo egress específico como Cilium o Cloud NAT configurado
- Complejidad alta: no es una solución one-click para despliegues simples
- Admisión controlada antes del claim puede dejar trabajos colados si la cuota está llena
Capturas del proyecto
Imágenes reales detectadas en la documentación del repositorio.
Perfil de infraestructura
Estimación inicial derivada del repositorio y de los servicios detectados.
Despliegue detectado
Qué señales reales de instalación hemos encontrado.
Instalar el Gateway Manager Controller y definir ActionsGateway CRs en namespaces de inquilinos. Asegurar que el ResourceQuota del namespace plataforma tenga capacidad suficiente para todos los grupos. Configurar egress-IP mechanism con Cilium o NAT cloud. Verificar priorización de PriorityClass para GPU.
Stack y dependencias
Componentes inferidos a partir de manifests, configuración y documentación.
Puede sustituir a
Relaciones detectadas por el análisis del repositorio y su categoría.
Experiencia real de la comunidad
Ayuda a contrastar la estimación automática con instalaciones reales.
Todavía no hay datos comunitarios para este proyecto.
