Fireactions
BYOM (Bring Your Own Metal) and run self-hosted GitHub runners in ephemeral, fast and secure Firecracker based virtual machines.
Install / Use
/learn @hostinger/FireactionsREADME

Fireactions is an orchestrator for GitHub runners. BYOM (Bring Your Own Metal) and run self-hosted GitHub runners in ephemeral, fast and secure Firecracker based virtual machines.
<!-- https://excalidraw.com/#json=GrJMj6LLYt39mgC0me7Di,C65TV9FhicnxNKgPeRhi3A sequenceDiagram autonumber participant Fireactions participant Configuration file (YAML) participant Pool(s) participant Firecracker VM with GitHub runner participant GitHub Fireactions->>Configuration file (YAML): Load pools Fireactions->>Pool(s): Start pool(s) loop Ensure min amount of GitHub runners every 1s Pool(s)->>GitHub: Create JIT GitHub runner token Pool(s)->>Firecracker VM with GitHub runner: Start Firecracker VM Firecracker VM with GitHub runner->>GitHub: Run GitHub workflow job Firecracker VM with GitHub runner->>Pool(s): Exit (on workflow job finish) end GitHub->>Fireactions: Scale pool on workflow_job event -->[!IMPORTANT] There's been multiple improvements with a lot of breaking changes. The current stable version is v2.0.0. Please use this version for production environments.

Several key features:
-
Scalable
Pool based scaling approach. Fireactions always ensures the minimum amount of GitHub runners in the pool.
-
Ephemeral
Each virtual machine is created from scratch and destroyed after the job is finished, no state is preserved between jobs, just like with GitHub hosted runners.
-
Customizable
Define job labels and customize virtual machine resources to fit Your needs.
Quickstart
$ fireactions --help
BYOM (Bring Your Own Metal) and run self-hosted GitHub runners in ephemeral, fast and secure Firecracker based virtual machines.
Usage:
fireactions [command]
Main application commands:
server Starts the server
agent Starts the agent and GitHub Actions runner inside the VM
Pool management commands:
pools Manage pools
Machine management commands:
ps List all running machines across all pools
login SSH into a running VM as root user
logs Stream logs from the fireactions-agent service inside a machine
Image management commands:
image Manage images
Additional Commands:
version Show version information
help Help about any command
completion Generate the autocompletion script for the specified shell
Flags:
-h, --help help for fireactions
-v, --version version for fireactions
Use "fireactions [command] --help" for more information about a command.
See the User Guide for installation and configuration instructions.
Contributing
See CONTRIBUTING.md for more information on how to contribute to Fireactions.
License
See LICENSE
