unblocked/Deploy self-hosted runners to EC2 (Spot/On-Demand)
Automatically deploy self-hosted runners to AWS EC2 using Spot/On-Demand instances and optimize for best performance/cost.
View on GitHubTrust Signals
- Scorecard Score
- not yet scored
- Maintenance Recency
- Stale
- License
- None
Inputs
| name | description | required | default |
|---|---|---|---|
| aws_access_key_id | AWS access key ID | yes | — |
| aws_secret_access_key | AWS secret access key | yes | — |
| aws_session_token | AWS session token | no | — |
| aws_region | AWS Region | yes | — |
| aws_iam_role_arn | ARN of IAM role to assume | no | "" |
| github_token | GitHub token | yes | — |
| github_action_runner_version | GitHub action runner version | no | — |
| github_action_runner_extra_cli_args | GitHub action runner extra cli args | no | — |
| github_action_runner_label_prefix | GitHub action runner label prefix (default is job id) | no | "" |
| github_job_start_ttl_seconds | Maximum duration a runner instance is allowed to be idle before a job is started in seconds | no | 0 |
| github_api_retry_delay | Retry delay between calls to github APIs | no | 10 |
| ec2_instance_type | Ec2 instance type | yes | — |
| ec2_ami_id | Ec2 ami ID | yes | — |
| ec2_iam_instance_profile | Ec2 IAM Instance Profile | no | — |
| ec2_root_disk_size_gb | Ec2 root disk size (defaults to AMI setting) | no | 0 |
| ec2_root_disk_ebs_class | Ec2 root disk storage class (defaults to gp2) | no | gp2 |
| ec2_instance_iam_role | IAM role for to associate with ec2 instance | no | "" |
| ec2_instance_tags | List of extra aws resource tags for ec2 instance | no | [] |
| ec2_instance_ttl | Maximum duration an EC2 instance is allowed to live in minute | no | 60 |
| ec2_security_group_id | Security group id | yes | — |
| ec2_subnet_id | Subnet id | yes | — |
| ec2_spot_instance_strategy | Spot instance scheduling modes: None -> (default) no spot instances, use on-demand SpotOnly -> Strictly spot instances only BestEffort -> Use spot instances whenever they are cheaper than on-demand MaxPerformance -> Use the largest spot instance in same class for <= the on-demand price | no | none |
Outputs
no outputs