Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/politician/terraform-digitalocean-github-runner

Terraform module to create a GitHub runner in a Digital Ocean droplet
https://github.com/politician/terraform-digitalocean-github-runner

Last synced: about 2 months ago
JSON representation

Terraform module to create a GitHub runner in a Digital Ocean droplet

Awesome Lists containing this project

README

        

# terraform-digitalocean-github-runner

Create a GitHub Actions runner on a DigitalOCean droplet.

## Inputs

| Name | Description | Type | Default | Required |
|------|-------------|------|---------|:--------:|
| [runner\_scope](#input\_runner\_scope) | Runner registration repo/org. | `string` | n/a | yes |
| [runner\_token](#input\_runner\_token) | Runner registration token. Get it with:

gh api -p everest -X POST repos/{owner}/{repo}/actions/runners/registration-token \| jq .token
| `string` | n/a | yes |
| [ssh\_key](#input\_ssh\_key) | SSH key fingerprint to administrate the droplet. | `string` | n/a | yes |
| [add\_to\_project](#input\_add\_to\_project) | If created resources should be added to a Digital Ocean project. | `bool` | `false` | no |
| [do\_project\_id](#input\_do\_project\_id) | Digital Ocean project ID. Must be set if `group_in_project` is true. | `string` | `null` | no |
| [droplet\_size\_slug](#input\_droplet\_size\_slug) | Droplet size slug. Leaving empty will use the cheapest droplet. [More info](https://www.digitalocean.com/docs/droplets/sizes). | `string` | `null` | no |
| [region](#input\_region) | Define which region to use. [More info](https://docs.digitalocean.com/products/platform/availability-matrix/#available-datacenters). | `string` | `"nyc1"` | no |
| [runner\_name](#input\_runner\_name) | Name of the runner. | `string` | `null` | no |
| [ubuntu\_version](#input\_ubuntu\_version) | Ubuntu version to use (regex). The default regex will make sure the image is the latest LTS on each Terraform apply. Here's a [list of the available versions](https://do-community.github.io/available-images/) if you want to test your regex. | `string` | `"\\(LTS\\) x64$"` | no |

## Outputs

| Name | Description |
|------|-------------|
| [ips](#output\_ips) | Github runner IP addresses (ipv4 & ipv6). |

## Contributing

All contributions are welcome!

Generate documentation with `terraform-docs .`

## License

This project is licensed under the Apache 2.0 License - see the [LICENSE](LICENSE) file for details