Observe assigned work
The active controller long-polls GitHub for jobs assigned to a declared fleet. There is no public webhook endpoint to operate.
Customer-operated Actions capacity
A small, highly available supervisor for policy-defined, one-job EC2 runners. It installs in your existing VPC and keeps your code, credentials, and execution path in your account.
Controller
Active / passive
Coordination
Short-lived lease
Capacity
x64 + ARM64
Runner
One job / hard expiry
Operating sequence
Gondola turns assigned GitHub demand into customer-approved AWS capacity, then makes sure that capacity is retired. The policy stays declarative; the execution stays yours.
The active controller long-polls GitHub for jobs assigned to a declared fleet. There is no public webhook endpoint to operate.
Repository code selects a stable label. Terraform—not the workflow—owns the image, network, IAM role, architecture, and capacity policy behind it.
Gondola requests an EC2 instance in your VPC, supplies a short-lived just-in-time configuration, and tracks the lifecycle through termination.
Two controller tasks share a generation-fenced lease. A standby takes over only after the active generation expires, and runners retain an independent lifetime limit.
Trust boundary / 04 controls
The system is designed so a vendor service is not required to receive job payloads, proxy source, hold workload credentials, or keep an active build alive.
Inspect the security modelControllers and runners initiate outbound HTTPS. Security groups do not need a public listener for Gondola.
The GitHub App key remains in Secrets Manager and workload permissions remain on customer IAM roles.
DynamoDB carries a short lease, deployment generation, and readiness state—not source, logs, workflow payloads, or usage billing.
The delivery contract includes digest-pinned images, signed checksums, provenance, SBOMs, and narrow Terraform-managed permissions.
Simple subscriptions / USD
The subscription is tied to covered GitHub organizations. It does not vary with repositories, job count, runtime, runner count, AWS accounts, or regions. Infrastructure remains on your AWS bill.
Hobby
For personal projects you own and maintain yourself.
Stripe Checkout · $0 · no card
Business
For one private GitHub organization.
Stripe Checkout · 30-day trial
Enterprise
For up to 10 organizations, including private repositories.
30-day trial · Stripe Checkout
AWS infrastructure, taxes, and separately agreed services are not included.
Operator notes
On an ephemeral EC2 instance in an AWS account you control. You provide the VPC, subnets, security groups, instance profiles, and supported instance types.
Nothing in the job path. The controller is hosted on ECS Fargate in the customer account and communicates directly with GitHub and AWS.
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.
The maintained controller, Terraform installer, signed releases, upgrade material, and support. AWS bills the infrastructure directly to you.
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.
Pick the right operating scope