firerunner
FireRunner es un executor personalizado para GitLab Runner que ejecuta cada job en una microVM Firecracker efímera con kernel propio, Docker daemon y red independiente. Incluye pool de VMs pre-iniciadas (~0.3s vs 15-17s cold boot) y aislamiento completo entre jobs.
Ficha actualizada 24 sept 2026, 16:10 · upstream 24 sept 2026, 15:59 · release sin release detectada
Qué es firerunner
Descripción editorial construida a partir del repositorio, su documentación y sus señales de mantenimiento.
FireRunner es un executor personalizado para GitLab Runner que ejecuta cada job en una microVM Firecracker efímera con kernel propio, Docker daemon y red independiente. Cada VM se elimina al finalizar el job, garantizando aislamiento total entre ejecuciones.
El sistema mantiene un pool de VMs pre-iniciadas (~0.3s vs 15-17s cold boot), utiliza flintlock para gestión segura de microVMs, y emplea una arquitectura basada en containerd con Firecracker, dnsmasq y nftables. El guest corre Ubuntu 24.04 con kernel 6.18 LTS, Docker CE (buildx, compose), git y gitlab-runner.
Los benchmarks demuestran mejoras significativas: dotnet test en 27.7s vs 31.1s con docker executor, docker build en 4.8s con cache per-project aislado, y pipelines de 6 jobs reducidos a 19s con pool de 4 VMs.
- Ejecución de CI/CD con aislamiento completo entre jobs mediante microVMs efímeras
- Builds de Docker con cache per-project aislado para evitar contaminación cruzada
- Tests de integración con servicios ephemeral (PostgreSQL, etc.) dentro del job VM
- Despliegues multi-tenant donde cada job tiene su propia identidad de red y kernel
- Aislamiento total: cada job en VM distinta con kernel propio, Docker daemon y red independiente
- Pool de VMs pre-iniciadas reduce latencia inicial a ~0.3s frente a 15-17s cold boot
- Cache per-project en BuildKit microVMs evita contaminación entre proyectos
- Seguridad: flintlock con token root-only, redes aisladas, VMs nunca reutilizadas
- Benchmarks validados: dotnet test 27.7s vs 31.1s docker executor, docker build 4.8s con cache
- Solo x86_64; no compatible con arquitecturas ARM o RISC-V
- Cache per-project: el primer build de un proyecto y tras 24h inactivas es cold
- Testeado en Rocky Linux 9.6 y Ubuntu 24.04; Debian/Ubuntu sin validación end-to-end
- Requiere host con /dev/kvm (bare metal o VM con nested virtualization)
- GitLab 16+ necesario para nuevo flujo de tokens de runner
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 con curl -sfL https://raw.githubusercontent.com/ismoilovdevml/firerunner/main/install.sh | sudo bash. Variables clave: FR_DISK (primera disk blank), FR_POOL_SIZE (VMs pre-booted, default 2), FR_RUNNER_CONCURRENT (default 4). Requiere systemd, disk blank 100GB+ para thin pool, y host con /dev/kvm. Registrar runner en GitLab con tags firecracker. Monitoreo Prometheus en :9477/metrics con Grafana dashboard incluido.
Stack y dependencias
Componentes inferidos a partir de manifests, configuración y documentación.
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.


