Skip to content

Ephemeral runners · AWS native

GitHub Actions runners. Your AWS account.

Run Linux jobs on fresh EC2 instances in your VPC. Define compute, networking, and IAM with Terraform or OpenTofu. Each instance is terminated after its job; you pay a flat license plus your AWS bill.

No card required. Business: USD $490 / year or USD $49 / month. AWS charges are separate.

One job. One runner.GitHub → your AWS

A Gondola car climbs through the five stages of one GitHub Actions job: queued, matched to a fleet, launched on a fresh EC2 runner, completed, and cleaned up by terminating the instance. This is an illustration, not a live job or a measure of execution time.

One label. Your approved fleet.

Keep your build steps. A workflow label selects the instance, image, network, permissions, and capacity your team has approved.

In your GitHub workflow

jobs:
  build:
    runs-on: gondola-linux-x64
    steps:
      # Your checkout, test and build steps

In your Gondola module · fleet excerpt

fleets = {
  linux_x64 = {
    scale_set_name = "gondola-linux-x64"
    instance_type  = "m7i.large"
    max_runners    = 2
  }
}

Operating sequence

One job, from queue to cleanup.

Capacity follows the work. Gondola launches a runner when a job needs it and removes the instance afterward. A second controller can take over if the active one fails.

One job per runner · hard lifetime limit
01

Detect a queued job

Gondola asks GitHub for jobs assigned to one of your fleet labels. The controller uses outbound HTTPS, so you do not expose a public webhook.

02

Match it to an approved fleet

A workflow label selects a fleet you defined with Terraform or OpenTofu. The fleet fixes the image, instance type, network, IAM role, architecture, and capacity limit.

03

Start a secure EC2 runner

Gondola launches one EC2 instance in your VPC and registers it with GitHub using a short-lived, just-in-time configuration.

04

Terminate it after the job

The runner accepts one job, then the EC2 instance is terminated. An independent maximum lifetime removes machines left behind by an interrupted workflow.

Your infrastructure

Control networking, IAM and secrets.

Gondola’s controllers and EC2 runners are installed in your AWS account. There is no Gondola-hosted service in the path of your source code, job payloads, or workload credentials.

Read the security model

No inbound product endpoint

Controllers and runners initiate outbound HTTPS. Security groups do not need a public listener for Gondola.

Secrets stay in your account

The GitHub App key goes directly from GitHub into your Secrets Manager—never through a Gondola service. Workload permissions remain on IAM roles you control.

Coordination and launch accounting

Your DynamoDB tables hold controller coordination state and, when daily allowances are enabled, estimated launch reservations. They do not store repository source or job output.

Releases can be verified

Verify published images and release bundles with signed manifests, checksums, provenance, and software bills of materials.

IMDSv2 requiredEncrypted EBSRootless controllerRead-only filesystemSigned artifacts

Simple subscriptions · USD

Pay for the software. Not by the job.

Every plan includes unlimited repositories, jobs, runner minutes, and runner launches. Pay Gondola for the software based on the GitHub scope you cover; pay AWS directly for your infrastructure.

Hobby

$0forever

Personal, non-commercial use

Personal projects you own and maintain yourself

  • One GitHub user or personal organization
  • Unlimited repositories, jobs, minutes, and runners
  • Public or private repositories
  • Docs, releases, and security updates
Start free

No card · no usage meter

For teams

Business

$490per year

or $49 month-to-month

Company, employer, or client work in one organization

  • One private GitHub organization
  • Unlimited repositories, jobs, minutes, and runners
  • Any supported AWS environments you manage
  • Email support
Choose Business

14-day trial · no card

Enterprise

$2,990per year

or $299 month-to-month

Platform teams operating across multiple organizations

  • Up to 10 private GitHub organizations
  • Unlimited repositories, jobs, minutes, and runners
  • One activation key across covered organizations
  • Priority email support and additional 10-org blocks
Choose Enterprise

14-day trial · no card

Compare plan details
Gondola plan scope, support, and trial terms
CompareHobbyBusinessEnterprise
Best forPersonal, non-commercial projectsOne company or client organizationMulti-organization platform teams
GitHub scope1 user or personal org1 private organizationUp to 10 private organizations
UsageUnlimitedUnlimitedUnlimited
Included helpDocumentationDocumentation + email supportPriority email support across covered orgs
TrialFree forever14 days, no card14 days, no card

AWS infrastructure, taxes, and separately agreed services are not included.

Common questions

Before your first build.

Where does a workflow execute?

On an ephemeral EC2 instance in an AWS account you control. You provide the VPC, subnets, security groups, instance profiles, and supported instance types.

What is hosted by Gondola?

The public website and subscription fulfillment are vendor-hosted. Nothing in the job execution path is: the controller runs on ECS Fargate in your AWS account, communicates directly with GitHub and AWS, and verifies its entitlement offline.

Why are there two controllers?

They provide active/passive availability across Availability Zones. A conditional DynamoDB lease and deployment generation ensure that only one task publishes capacity at a time.

What does the subscription cover?

The maintained controller, Terraform/OpenTofu installer, signed releases, upgrade material, and support. AWS bills the infrastructure directly to you.

Is runner usage really unlimited?

Unlimited repositories, jobs, runner minutes, and runner launches within the covered GitHub scope. Gondola adds no usage surcharge. AWS and GitHub charges, service quotas, and the fleet capacity limits you configure still apply.

Do I install a Gondola binary on my computer?

No. The default setup opens GitHub directly and uses one AWS CLI command to place GitHub’s key in your Secrets Manager. Only the digest-pinned controller container runs in your AWS account; the signed local helper is optional.

Is Gondola open source?

The Terraform/OpenTofu module is public under Apache 2.0, so you can inspect the infrastructure it creates. The Gondola controller source is private and proprietary; releases provide a compiled, digest-pinned container with signatures, provenance, SBOMs, and checksums. That container runs in your Fargate service, not on Gondola infrastructure.

Which platforms are supported?

The current release targets GitHub.com and Linux EC2 fleets on x64 or ARM64. Windows, macOS, GitHub Enterprise Server, Azure, and Google Cloud are not currently supported.

Start with one real workflow.

Choose a plan, install Gondola, and run your first workflow.

Check your setup