scaleset
Cliente Go para la API de Runner Scale Set de GitHub Actions. Permite autoescalado personalizado de runners auto-alojados sin Kubernetes, gestionando sesiones de mensajes y configuración JIT.
Ficha actualizada 23 sept 2026, 23:20 · upstream 23 sept 2026, 22:25 · release v0.4.0
Qué es scaleset
Descripción editorial construida a partir del repositorio, su documentación y sus señales de mantenimiento.
Este repositorio ofrece un cliente independiente en Go para las APIs de Runner Scale Set de GitHub Actions. Extraído del proyecto actions-runner-controller, permite a equipos de plataforma construir soluciones de autoescalado personalizadas sin adoptar el controlador completo ni Kubernetes.
Facilita la creación, actualización y eliminación de scale sets, generación de configuraciones JIT y gestión de sesiones de mensajes para el polling continuo. Proporciona primitivas para manejar la asignación de trabajos y la capacidad máxima del conjunto de escalado.
Soporta autenticación mediante GitHub App (preferido) o PAT, e incluye soporte para firmas JWT personalizadas para entornos con KMS o HSM. Es compatible con GitHub Enterprise Server (GHES), aunque requiere activar un flag específico en versiones anteriores a 3.21 para usar múltiples etiquetas.
- Autoescalado dinámico de runners en infraestructura propia sin Kubernetes
- Gestión de capacidad reactiva ante picos de demanda de CI/CD
- Integración con orquestadores externos (VMs, contenedores) sin dependencias obligatorias
- Implementación de políticas de escalado JIT para reducir latencia de arranque
- Cliente ligero en Go sin dependencias de Kubernetes obligatorias
- Soporte nativo para autenticación con GitHub App y JWT personalizado (KMS/HSM)
- API estable en Public Preview con primitivas completas para gestión de runners
- Manejo robusto de sesiones de mensajes con long polling y acknowledgment
- Requiere Go 1.25 o superior para compilar el cliente
- En GHES, múltiples etiquetas requieren activar un flag específico en la versión 3.18-3.20
- API en estado de Public Preview con posibles cambios en interfaces futuras
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.
Compilar binario o usar como librería Go. Preferir GitHub App sobre PAT para seguridad. Configurar X-ScaleSetMaxCapacity en headers. Para GHES <3.21, activar DistributedTask.AllowRunnerScaleSetCustomLabels.
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.