This module shows how to create GitHub action runners with permissions boundaries and paths used in role, policies, and instance profiles.
Steps for the full setup, such as creating a GitHub app can be find the module README. First create the deploy role and boundary policies. These steps require an admin user.
Ensure you have set the version in
lambdas-download/main.tf
for running the example. The version needs to be set to a GitHub release version, see https://github.com/philips-labs/terraform-aws-github-runner/releases
cd setup
terraform init
terraform apply
cd ..
Now a new role and policies should be created. The output of the previous step is imported in this workspace to load the role and policy. The deployment of the runner module assumes the new role before creating all resources (https://www.terraform.io/docs/providers/aws/index.html#assume-role). Before running Terraform, ensure the GitHub app is configured.
Download the lambda releases.
cd ../lambdas-download
terraform init
terraform apply -var=module_version=<VERSION>
cd -
Now you can deploy the module.
terraform init
terraform apply
Name | Version |
---|---|
terraform | >= 1.3.0 |
aws | ~> 5.2 |
local | ~> 2.0 |
random | ~> 3.0 |
Name | Version |
---|---|
aws | 5.2.0 |
random | 3.5.1 |
terraform | n/a |
Name | Source | Version |
---|---|---|
base | ../base | n/a |
runners | ../../ | n/a |
Name | Type |
---|---|
aws_kms_alias.github | resource |
aws_kms_key.github | resource |
random_id.random | resource |
terraform_remote_state.iam | data source |
Name | Description | Type | Default | Required |
---|---|---|---|---|
github_app | GitHub for API usages. | object({ |
n/a | yes |
Name | Description |
---|---|
runners | n/a |
webhook | n/a |