A module you can read before you apply it
Deploying BYOC with Terraform
The Terraform module that stands up runnerhut runners in your own AWS account, what it creates, and how to review it.
BYOC is deployed as a Terraform module rather than a click-through wizard, because the whole point is that your team can review what lands in your account before it does.
hcl
module "runnerhut" { source = "runnerhut/runners/aws" version = "~> 1.0" vpc_id = aws_vpc.main.id subnet_ids = aws_subnet.private[*].id instance_types = ["c7g.4xlarge", "c7i.4xlarge"] max_capacity = 200 tags = { Team = "platform" CostCenter = "eng-infra" }}What it creates
- An autoscaling group for runner capacity, in the subnets you name
- An S3 bucket for cache, with lifecycle rules and default encryption
- An ECR pull-through cache rule
- An IAM role and instance profile scoped to exactly those resources
- A VPC endpoint for control-plane communication
What it does not create
- No VPC, subnets or NAT — you supply existing networking
- No public IPs or internet gateway
- No IAM users or long-lived access keys
Your next build could be twice as fast, at half the price
Start free. Migrating away is the same one line, and we publish that diff too.