hostinger / fireactions

BYOM (Bring Your Own Metal) and run self-hosted GitHub runners in ephemeral, fast and secure Firecracker based virtual machines.
https://fireactions.io
Apache License 2.0
30 stars 3 forks source link
fireactions github github-actions github-runners

test Go Report Card

Banner

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.

Architecture

Several key features:

Quickstart

  1. Create and install a GitHub App (see Creating a GitHub App) with the following permissions:

    • Read access to metadata
    • Read and write access to actions and organization self hosted runners
  2. Note down the GitHub App ID and generate a private key, save it to a file on the host machine, e.g. /root/private-key.pem.

  3. Download and run the installation script:

    curl -sSL https://raw.githubusercontent.com/hostinger/fireactions/main/install.sh -o install.sh
    chmod +x install.sh
    ./install.sh \
      --github-app-id=<GITHUB_APP_ID> \
      --github-app-key-file="/root/private-key.pem" \
      --github-organization="<GITHUB_ORGANIZATION>"
      --containerd-snapshotter-device="<DEVICE>"

This creates a default configuration with a single pool named default with a single runner. See Configuration for more information.

  1. Test the installation by creating a new GitHub workflow in your repository:
# .github/workflows/test.yaml
name: test

on:
  workflow_dispatch:
  pull_request:
      branches:
      - '*'
  push:
      branches:
      - main

jobs:
  test:
    name: test
    runs-on: # The label(s) of the Fireactions pool
    - self-hosted
    - fireactions
    steps:
    - name: Example
      run: |
        echo "Hello, Fireactions!"

Contributing

See CONTRIBUTING.md for more information on how to contribute to Fireactions.

License

See LICENSE