Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

License

NotificationsYou must be signed in to change notification settings

armakuni/terraform-aws-github-actions-self-hosted-runner

Repository files navigation

This module allows you to provision a self hosted runner which scales to0 when not in use.

It is designed to be a "It just works" wrapper for debian based amisaround that fantastic Philips Labsterraform-aws-github-runnermodule.

To get started, you need to create an organisation level GitHub App.This is a one time process and you can follow theGitHubdocumentationto do this.

The app should be installed into your organisation and you should havethe following permissions in it:

  • Repository permissions
    • Administration: Read & write
    • Checks: Read
    • Metadata: Read-only
    • Actions: Read-only
  • Organization permissions
    • Self-hosted runners: Read & write
    • Webhooks: Read & write

You will need the:

  • App ID
  • App Install ID (you can find this in the URL when viewing the app inthe GitHub UI)
  • App Private Key (you can download this from GitHub App page, keep itin PEM format)

Note, to use this worker for public repositories, you will need toenable "Allow public repositories" in the GitHub runner groups section.You can find this in the organisation settings under actions, runnergroups, then clicking on the default group.

Requirements

NameVersion
aws~> 6.0.0
github~> 6.0
http~> 3.5.0
local~> 2.5.0
random~> 3.7.1

Providers

NameVersion
aws~> 6.0.0
github~> 6.0
random~> 3.7.1

Modules

NameSourceVersion
download_lambdaphilips-labs/github-runner/aws//modules/download-lambda6.1.2
github_runnerphilips-labs/github-runner/aws6.1.2
runners_zipterraform-aws-modules/s3-bucket/aws//modules/object4.11.0
s3_bucket_lambda_sourcesterraform-aws-modules/s3-bucket/aws4.11.0
syncer_zipterraform-aws-modules/s3-bucket/aws//modules/object4.11.0
vpcterraform-aws-modules/vpc/aws6.0.1
webhook_zipterraform-aws-modules/s3-bucket/aws//modules/object4.11.0

Resources

NameType
github_organization_webhook.webhookresource
random_id.webhook_secretresource
aws_availability_zones.availabledata source

Inputs

NameDescriptionTypeDefaultRequired
additional_install_scriptA script that will be executed before setup of the runner, this can be used to install additional software, or configure the runner in some waystring""no
ami_name_filterThe name filter to use when searching for the AMI to use for the runnerstring"ubuntu/images/hvm-ssd/ubuntu-jammy-22.04-amd64-server-*"no
ami_owner_filterThe owner filter to use when searching for the AMI to use for the runner. The default is canonicals accountstring"099720109477"no
aws_regionAWS Regionstringn/ayes
aws_resource_prefixPrefix for all resourcesstring"gh-act"no
aws_vpc_cidrThe cidr for the VPC that the runners run in, must have at enough blocks available with a subnet in each Availability Zone, for example 10.68.0.0/16, with a newbits of 8 and a azs_count of 3 will result in 6 subnets being provisioned in the ranges of 10.68.1.0/24, 10.68.2.0/24, and 10.68.3.0/24 in the private subnet and 10.68.4.0/24, 10.68.5.0/24, and 10.68.6.0/24 in the public subnet, with one private and one public per availability zone. Note the "/24" here, 16+8 == 24, you may also choose different ranges with less tidy ip blocks
object({
cidr = string
newbits = number
azs_count = number
})
{
"azs_count": 3,
"cidr": "10.68.0.0/16",
"newbits": 8
}
no
enableDisable or enable everything in this modulebooltrueno
github_app_idThis is ID from App in developer settingsstringn/ayes
github_app_install_idYou can find this in the URL when viewing the installed app in the GitHub UIstringn/ayes
github_app_keyThe private key of the GitHub App. PEM formatted.stringn/ayes
github_organisationThe github organisation to usestringn/ayes
runner_run_asThe user to run things as on the host, defaults to ubuntu, as this is the username on the ubuntu AMI, however if you might want to change it to whatever you use, perhaps ec2-userstring"ubuntu"no

Outputs

No outputs.

About

No description or website provided.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors4

  •  
  •  
  •  
  •  

[8]ページ先頭

©2009-2025 Movatter.jp