git404hub

what is ez-gh-actions fr?

jleechanorg/ez-gh-actions — explained in plain English

Analysis updated 2026-05-18

7RustAudience · ops devopsComplexity · 4/5Setup · hard

tl;dr

A Rust tool that runs self-hosted GitHub Actions jobs in fresh, isolated, resource-limited containers that are destroyed after each job.

vibe map

mindmap
  root((repo))
    What it does
      Ephemeral GitHub runners
      Hard resource limits
      Fail-closed isolation policy
    Tech stack
      Rust binary
      Docker containers
      systemd and launchd
    Use cases
      Run isolated CI jobs
      Cap job resource usage
      Enforce VM isolation policy
    Audience
      DevOps engineers
      Self-hosted CI operators

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

what do people make with this?

VIBE 1

Run self-hosted GitHub Actions jobs in fresh, disposable containers with no leftover state between runs.

VIBE 2

Cap memory, CPU, and process limits per job so a runaway build cannot crash the host machine.

VIBE 3

Enforce a minimum isolation policy that blocks jobs from running if the host can't provide VM-level containment.

what's the stack?

RustDockersystemdlibvirt

how it stacks up fr

jleechanorg/ez-gh-actionsbrowsersync/bslivecodeitlikemiley/snip-cli
Stars777
LanguageRustRustRust
Last pushed2026-07-192024-12-09
MaintenanceActiveStale
Setup difficultyhardhardeasy
Complexity4/52/52/5
Audienceops devopsdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

how do i run it?

Difficulty · hard time til it works · 1h+

Requires Docker (and optionally a VM layer like Colima) plus GitHub Actions runner registration setup.

No license information was found in the material provided.

in plain english

ez-gh-actions, also called ezgha, is a single Rust program that runs your own self-hosted GitHub Actions runners with strong isolation between jobs. Rather than leaving one long-lived runner sitting around, it spins up a fresh, ephemeral runner for every single job. GitHub registers that runner just in time, the job runs once, and then the runner deregisters itself and its container is removed, so no job leaves leftover files or state behind for the next one. Each job gets hard resource limits on memory, CPU, and process count, so a runaway or malicious job cannot take down the machine it runs on. The tool also refuses to start new jobs when disk space is running low, which avoids a common failure mode where self-hosted runners slowly fill up their disk and crash. It installs itself as a background service using systemd on Linux or launchd on a Mac, so it keeps running without manual intervention. The isolation itself is layered. At the innermost layer, each job runs in its own Docker container with strict Linux cgroup limits and a setting that blocks privilege escalation, so even a command that tries to gain root inside the container is refused by the kernel. Around that sits the Docker daemon that creates and removes these containers. On a Mac, or on a Linux setup using Colima, that daemon itself runs inside a virtual machine, adding a second boundary between the job and the real host machine. On a bare metal Linux server, the daemon runs directly on the host kernel instead, which is a somewhat weaker setup. The tool can detect which of these arrangements is actually true on your machine, and if your configured security policy demands virtual machine level isolation but the host cannot actually provide it, ezgha refuses to run jobs at all rather than silently offering less protection than requested. A future version plans to add true dedicated virtual machines per job using Tart on macOS or libvirt on Linux for even stronger isolation, though today's isolation options are Docker with or without the sysbox runtime. The design underwent what the project describes as a thirty two agent adversarial review before its first version.

prompts (copy fr)

prompt 1
Help me install ezgha as a systemd user service to run self-hosted GitHub Actions runners.
prompt 2
Explain the difference between ezgha's container-on-host and container-inside-VM isolation topologies.
prompt 3
Show me how to configure memory, CPU, and pids limits for ezgha's runner containers.
prompt 4
Walk me through ezgha's fail-closed behavior when my minimum_isolation policy requires a VM boundary.

Frequently asked questions

what is ez-gh-actions fr?

A Rust tool that runs self-hosted GitHub Actions jobs in fresh, isolated, resource-limited containers that are destroyed after each job.

What language is ez-gh-actions written in?

Mainly Rust. The stack also includes Rust, Docker, systemd.

What license does ez-gh-actions use?

No license information was found in the material provided.

How hard is ez-gh-actions to set up?

Setup difficulty is rated hard, with roughly 1h+ to a first successful run.

Who is ez-gh-actions for?

Mainly ops devops.

peek the repo → explain another one

This repo across BitVibe Labs

double-check against the repo, no cap.