explaingit

mkdev-me/terraform-aws-github-runner-lambda-microvms

Analysis updated 2026-05-18

14HCLAudience · ops devopsComplexity · 4/5Setup · hard

TLDR

A Terraform module that runs GitHub Actions CI jobs on ephemeral AWS Lambda MicroVMs so you only pay per job and never for idle machines.

Mindmap

mindmap
  root((GH Runner MicroVMs))
    What it does
      Ephemeral CI runners
      Auto-scaling
      Pay per job
    Tech
      Terraform HCL
      AWS Lambda MicroVMs
      Firecracker
      Graviton ARM
    Setup
      GitHub App required
      One terraform apply
      Webhook auto-config
    Audience
      DevOps teams
      AWS engineers
Click or tap to explore — scroll the page freely

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 build with it?

USE CASE 1

Replace expensive GitHub-hosted runners with ephemeral AWS Lambda MicroVMs that auto-scale and shut down after each CI job.

USE CASE 2

Run Docker-based GitHub Actions workflows on your own AWS account using Graviton ARM machines.

USE CASE 3

Set up a self-hosted GitHub Actions runner system that requires zero maintenance between jobs.

USE CASE 4

Reduce GitHub Actions costs for a high-volume CI team by switching to pay-per-job compute.

What is it built with?

HCLTerraformAWS LambdaFirecrackerPythonAWS

How does it compare?

mkdev-me/terraform-aws-github-runner-lambda-microvmssontxdev04/landing-zone-gcpemanthen/stacklift
Stars14186
LanguageHCLHCLHCL
Setup difficultyhardhardhard
Complexity4/54/54/5
Audienceops devopsops devopsops devops

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

How do you get it running?

Difficulty · hard Time to first run · 1day+

Requires an AWS account, Terraform 1.9+, and a GitHub App with the correct permissions before running.

In plain English

When you use GitHub to run automated tests or deployment tasks (called GitHub Actions), those tasks run on machines provided by GitHub. GitHub charges for that compute time and limits how much you can use on free plans. This Terraform module lets you run those same tasks on your own AWS account instead, using a service called Lambda MicroVMs. A MicroVM is a lightweight, isolated mini-computer that starts up very quickly from a saved snapshot. When a GitHub task is queued, a webhook triggers one of these mini-computers to spin up, run the task, and shut itself down completely. Because each task gets a fresh, isolated machine that disappears when done, you never pay for idle time and each run is clean. Terraform is a tool that lets you describe your cloud infrastructure as configuration files. With this module, you write a few lines of configuration and run one command, and it builds the MicroVM image, sets up the webhook receiver, and wires everything together in your AWS account. GitHub webhooks can be configured automatically as well. There are a few requirements before using it. You need an AWS account, the Terraform command-line tool, and a GitHub App, which is a type of machine credential you create in GitHub's developer settings. The MicroVMs only run on ARM-based processors (AWS Graviton), so jobs must specify that. The first setup takes a few minutes because AWS has to build the machine image. Docker-based jobs are supported. The main benefit is cost. Ephemeral, single-use runners that only exist while a job is running are generally cheaper than GitHub's hosted runners for teams with high CI usage. There is no idle machine to manage or pay for between jobs. This module is aimed at engineers and teams who already use Terraform to manage AWS infrastructure and want to cut GitHub Actions costs with minimal ongoing maintenance.

Copy-paste prompts

Prompt 1
Using mkdev-me/terraform-aws-github-runner-lambda-microvms, show me the minimum HCL config to set up ephemeral self-hosted GitHub Actions runners with automatic webhook management.
Prompt 2
Help me create a GitHub App with the correct permissions for the terraform-aws-github-runner-lambda-microvms Terraform module.
Prompt 3
Write a GitHub Actions workflow YAML file that targets the self-hosted MicroVM runners set up by this Terraform module.
Prompt 4
Show me how to configure terraform-aws-github-runner-lambda-microvms to support Docker-in-runner for containerized CI jobs.
Prompt 5
What IAM permissions does the dispatcher Lambda need in the terraform-aws-github-runner-lambda-microvms module?

Frequently asked questions

What is terraform-aws-github-runner-lambda-microvms?

A Terraform module that runs GitHub Actions CI jobs on ephemeral AWS Lambda MicroVMs so you only pay per job and never for idle machines.

What language is terraform-aws-github-runner-lambda-microvms written in?

Mainly HCL. The stack also includes HCL, Terraform, AWS Lambda.

How hard is terraform-aws-github-runner-lambda-microvms to set up?

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

Who is terraform-aws-github-runner-lambda-microvms for?

Mainly ops devops.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Scan in gitsafehub Deploy in gitdeployhub mkdev-me on gitmyhub

Verify against the repo before relying on details.