Skip to content

Commit 336c95e

Browse files
committed
docs: auto update terraform docs
1 parent a34c8e1 commit 336c95e

18 files changed

+1815
-0
lines changed

docs/generated/examples/arm64.md

+77
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
<!-- This file is generated. Do not edit! PLEASE edit https://github.com/philips-labs/terraform-aws-github-runner/blob/main/examples/arm64/README.md -->
2+
# Action runners deployment with ARM64 architecture
3+
4+
This module shows how to create GitHub action runners using AWS Graviton instances which have ARM64 architecture. Lambda release will be downloaded from GitHub.
5+
6+
## Usages
7+
8+
Steps for the full setup, such as creating a GitHub app can be found in the root module's [README](https://github.com/philips-labs/terraform-aws-github-runner). First download the Lambda releases from GitHub. Alternatively you can build the lambdas locally with Node or Docker, there is a simple build script in `<root>/.ci/build.sh`. In the `main.tf` you can simply remove the location of the lambda zip files, the default location will work in this case.
9+
10+
> 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
11+
12+
```bash
13+
cd ../lambdas-download
14+
terraform init
15+
terraform apply -var=module_version=<VERSION>
16+
cd -
17+
```
18+
19+
Before running Terraform, ensure the GitHub app is configured. See the [configuration details](https://github.com/philips-labs/terraform-aws-github-runner#usages) for more details.
20+
21+
```bash
22+
terraform init
23+
terraform apply
24+
```
25+
26+
You can receive the webhook details by running:
27+
28+
```bash
29+
terraform output -raw webhook_secret
30+
```
31+
32+
Be aware some shells will print some end of line character `%`.
33+
34+
<!-- BEGIN_TF_DOCS -->
35+
## Requirements
36+
37+
| Name | Version |
38+
|------|---------|
39+
| <a name="requirement_terraform"></a> [terraform](#requirement\_terraform) | >= 1.3.0 |
40+
| <a name="requirement_aws"></a> [aws](#requirement\_aws) | ~> 5.2 |
41+
| <a name="requirement_local"></a> [local](#requirement\_local) | ~> 2.0 |
42+
| <a name="requirement_random"></a> [random](#requirement\_random) | ~> 3.0 |
43+
44+
## Providers
45+
46+
| Name | Version |
47+
|------|---------|
48+
| <a name="provider_random"></a> [random](#provider\_random) | 3.5.1 |
49+
50+
## Modules
51+
52+
| Name | Source | Version |
53+
|------|--------|---------|
54+
| <a name="module_base"></a> [base](#module\_base) | ../base | n/a |
55+
| <a name="module_runners"></a> [runners](#module\_runners) | ../../ | n/a |
56+
| <a name="module_webhook_github_app"></a> [webhook\_github\_app](#module\_webhook\_github\_app) | ../../modules/webhook-github-app | n/a |
57+
58+
## Resources
59+
60+
| Name | Type |
61+
|------|------|
62+
| [random_id.random](https://registry.terraform.io/providers/hashicorp/random/latest/docs/resources/id) | resource |
63+
64+
## Inputs
65+
66+
| Name | Description | Type | Default | Required |
67+
|------|-------------|------|---------|:--------:|
68+
| <a name="input_github_app"></a> [github\_app](#input\_github\_app) | GitHub App for API usages. | <pre>object({<br> id = string<br> key_base64 = string<br> })</pre> | n/a | yes |
69+
70+
## Outputs
71+
72+
| Name | Description |
73+
|------|-------------|
74+
| <a name="output_runners"></a> [runners](#output\_runners) | n/a |
75+
| <a name="output_webhook_endpoint"></a> [webhook\_endpoint](#output\_webhook\_endpoint) | n/a |
76+
| <a name="output_webhook_secret"></a> [webhook\_secret](#output\_webhook\_secret) | n/a |
77+
<!-- END_TF_DOCS -->

docs/generated/examples/default.md

+76
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
<!-- This file is generated. Do not edit! PLEASE edit https://github.com/philips-labs/terraform-aws-github-runner/blob/main/examples/default/README.md -->
2+
# Action runners deployment default example
3+
4+
This module shows how to create GitHub action runners. Lambda release will be downloaded from GitHub.
5+
6+
## Usages
7+
8+
Steps for the full setup, such as creating a GitHub app can be found in the root module's [README](../../README.md). First download the Lambda releases from GitHub. Alternatively you can build the lambdas locally with Node or Docker, there is a simple build script in `<root>/.ci/build.sh`. In the `main.tf` you can simply remove the location of the lambda zip files, the default location will work in this case.
9+
10+
> 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
11+
12+
```bash
13+
cd ../lambdas-download
14+
terraform init
15+
terraform apply -var=module_version=<VERSION>
16+
cd -
17+
```
18+
19+
Before running Terraform, ensure the GitHub app is configured. See the [configuration details](../../README.md#usages) for more details.
20+
21+
```bash
22+
terraform init
23+
terraform apply
24+
```
25+
26+
The module will try to update the GitHub App webhook and secret (only linux/mac). You can receive the webhook details by running:
27+
28+
```bash
29+
terraform output webhook_secret
30+
```
31+
32+
<!-- BEGIN_TF_DOCS -->
33+
## Requirements
34+
35+
| Name | Version |
36+
|------|---------|
37+
| <a name="requirement_terraform"></a> [terraform](#requirement\_terraform) | >= 1.3.0 |
38+
| <a name="requirement_aws"></a> [aws](#requirement\_aws) | ~> 5.2 |
39+
| <a name="requirement_local"></a> [local](#requirement\_local) | ~> 2.0 |
40+
| <a name="requirement_random"></a> [random](#requirement\_random) | ~> 3.0 |
41+
42+
## Providers
43+
44+
| Name | Version |
45+
|------|---------|
46+
| <a name="provider_random"></a> [random](#provider\_random) | 3.5.1 |
47+
48+
## Modules
49+
50+
| Name | Source | Version |
51+
|------|--------|---------|
52+
| <a name="module_base"></a> [base](#module\_base) | ../base | n/a |
53+
| <a name="module_runners"></a> [runners](#module\_runners) | ../../ | n/a |
54+
| <a name="module_webhook_github_app"></a> [webhook\_github\_app](#module\_webhook\_github\_app) | ../../modules/webhook-github-app | n/a |
55+
56+
## Resources
57+
58+
| Name | Type |
59+
|------|------|
60+
| [random_id.random](https://registry.terraform.io/providers/hashicorp/random/latest/docs/resources/id) | resource |
61+
62+
## Inputs
63+
64+
| Name | Description | Type | Default | Required |
65+
|------|-------------|------|---------|:--------:|
66+
| <a name="input_environment"></a> [environment](#input\_environment) | Environment name, used as prefix. | `string` | `null` | no |
67+
| <a name="input_github_app"></a> [github\_app](#input\_github\_app) | GitHub for API usages. | <pre>object({<br> id = string<br> key_base64 = string<br> })</pre> | n/a | yes |
68+
69+
## Outputs
70+
71+
| Name | Description |
72+
|------|-------------|
73+
| <a name="output_runners"></a> [runners](#output\_runners) | n/a |
74+
| <a name="output_webhook_endpoint"></a> [webhook\_endpoint](#output\_webhook\_endpoint) | n/a |
75+
| <a name="output_webhook_secret"></a> [webhook\_secret](#output\_webhook\_secret) | n/a |
76+
<!-- END_TF_DOCS -->

docs/generated/examples/ephemeral.md

+75
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
<!-- This file is generated. Do not edit! PLEASE edit https://github.com/philips-labs/terraform-aws-github-runner/blob/main/examples/ephemeral/README.md -->
2+
# Action runners deployment ephemeral example
3+
4+
This example is based on the default setup, but shows how runners can be used with the ephemeral flag enabled. Once enabled, ephemeral runners will be used for one job only. Each job requires a fresh instance. This feature should be used in combination with the `workflow_job` event. See GitHub webhook endpoint configuration(link needed here). It is also suggested to use a pre-build AMI to minimize runner launch times.
5+
## Usages
6+
7+
Steps for the full setup, such as creating a GitHub app can be found in the root module's [README](../../README.md). First download the Lambda releases from GitHub. Alternatively you can build the lambdas locally with Node or Docker, there is a simple build script in `<root>/.ci/build.sh`. In the `main.tf` you can simply remove the location of the lambda zip files, the default location will work in this case.
8+
9+
> 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
10+
11+
```bash
12+
cd lambdas-download
13+
terraform init
14+
terraform apply
15+
cd ..
16+
```
17+
18+
Before running Terraform, ensure the GitHub app is configured. See the [configuration details](../../README.md#usages) for more details.
19+
20+
```bash
21+
terraform init
22+
terraform apply
23+
```
24+
25+
The module will try to update the GitHub App webhook and secret (only linux/mac). You can receive the webhook details by running:
26+
27+
```bash
28+
terraform output webhook_secret
29+
```
30+
31+
<!-- BEGIN_TF_DOCS -->
32+
## Requirements
33+
34+
| Name | Version |
35+
|------|---------|
36+
| <a name="requirement_terraform"></a> [terraform](#requirement\_terraform) | >= 1.3.0 |
37+
| <a name="requirement_aws"></a> [aws](#requirement\_aws) | ~> 5.2 |
38+
| <a name="requirement_local"></a> [local](#requirement\_local) | ~> 2.0 |
39+
| <a name="requirement_random"></a> [random](#requirement\_random) | ~> 3.0 |
40+
41+
## Providers
42+
43+
| Name | Version |
44+
|------|---------|
45+
| <a name="provider_random"></a> [random](#provider\_random) | 3.5.1 |
46+
47+
## Modules
48+
49+
| Name | Source | Version |
50+
|------|--------|---------|
51+
| <a name="module_base"></a> [base](#module\_base) | ../base | n/a |
52+
| <a name="module_runners"></a> [runners](#module\_runners) | ../../ | n/a |
53+
| <a name="module_webhook_github_app"></a> [webhook\_github\_app](#module\_webhook\_github\_app) | ../../modules/webhook-github-app | n/a |
54+
55+
## Resources
56+
57+
| Name | Type |
58+
|------|------|
59+
| [random_id.random](https://registry.terraform.io/providers/hashicorp/random/latest/docs/resources/id) | resource |
60+
61+
## Inputs
62+
63+
| Name | Description | Type | Default | Required |
64+
|------|-------------|------|---------|:--------:|
65+
| <a name="input_environment"></a> [environment](#input\_environment) | Environment name, used as prefix | `string` | `null` | no |
66+
| <a name="input_github_app"></a> [github\_app](#input\_github\_app) | GitHub for API usages. | <pre>object({<br> id = string<br> key_base64 = string<br> })</pre> | n/a | yes |
67+
68+
## Outputs
69+
70+
| Name | Description |
71+
|------|-------------|
72+
| <a name="output_runners"></a> [runners](#output\_runners) | n/a |
73+
| <a name="output_webhook_endpoint"></a> [webhook\_endpoint](#output\_webhook\_endpoint) | n/a |
74+
| <a name="output_webhook_secret"></a> [webhook\_secret](#output\_webhook\_secret) | n/a |
75+
<!-- END_TF_DOCS -->
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
<!-- This file is generated. Do not edit! PLEASE edit https://github.com/philips-labs/terraform-aws-github-runner/blob/main/examples/lambdas-download/README.md -->
2+
# Wrapper module to download lambda's for running the examples
3+
4+
Module is used by examples to download Lambda distribution from the GitHub release.
5+
6+
```bash
7+
terraform init
8+
terraform apply -var=module_version=<VERSION>
9+
```
10+
11+
<!-- BEGIN_TF_DOCS -->
12+
## Requirements
13+
14+
| Name | Version |
15+
|------|---------|
16+
| <a name="requirement_terraform"></a> [terraform](#requirement\_terraform) | >= 1 |
17+
18+
## Providers
19+
20+
No providers.
21+
22+
## Modules
23+
24+
| Name | Source | Version |
25+
|------|--------|---------|
26+
| <a name="module_lambdas"></a> [lambdas](#module\_lambdas) | ../../modules/download-lambda | n/a |
27+
28+
## Resources
29+
30+
No resources.
31+
32+
## Inputs
33+
34+
| Name | Description | Type | Default | Required |
35+
|------|-------------|------|---------|:--------:|
36+
| <a name="input_module_version"></a> [module\_version](#input\_module\_version) | Module release version. | `string` | n/a | yes |
37+
38+
## Outputs
39+
40+
| Name | Description |
41+
|------|-------------|
42+
| <a name="output_files"></a> [files](#output\_files) | n/a |
43+
<!-- END_TF_DOCS -->
+92
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,92 @@
1+
<!-- This file is generated. Do not edit! PLEASE edit https://github.com/philips-labs/terraform-aws-github-runner/blob/main/examples/multi-runner/README.md -->
2+
# Action runners deployment of Multiple-Runner-Configurations-Together example
3+
4+
This module shows how to create GitHub action runners with multiple runner configuration together in one deployment. This example has the configurations for the following runner types with the relevant labels supported by them as matchers:
5+
6+
- Linux ARM64 `["self-hosted", "linux", "arm64", "amazon"]`
7+
- Linux Ubuntu `["self-hosted", "linux", "x64", "ubuntu-latest"]` or `["self-hosted", "linux", "x64", "ubuntu-2204"]``
8+
- Linux X64 `["self-hosted", "linux", "x64", "amazon"]`
9+
- Windows X64 `["self-hosted", "windows", "x64", "servercore-2022"]`
10+
11+
The module will decide the runner for the workflow job based on the match in the labels defined in the workflow job and runner configuration. Also the runner configuration allows the match to be exact or non-exact match. We recommend to use only exact matches.
12+
13+
For exact match, all the labels defined in the workflow should be present in the runner configuration matchers and for non-exact match, some of the labels in the workflow, when present in runner configuration, shall be enough for the runner configuration to be used for the job. First the exact matchers are applied, next the non exact ones.
14+
15+
## Webhook
16+
17+
For the list of provided runner configurations, there will be a single webhook and only a single Github App to receive the notifications for all types of workflow triggers.
18+
19+
## Lambda distribution
20+
21+
Per combination of OS and architecture a lambda distribution syncer will be created. For this example there will be three instances (windows X64, linux X64, linux ARM).
22+
23+
## Usages
24+
25+
Steps for the full setup, such as creating a GitHub app can be found in the root module's [README](../../README.md). First download the Lambda releases from GitHub. Alternatively you can build the lambdas locally with Node or Docker, there is a simple build script in `<root>/.ci/build.sh`. In the `main.tf` you can simply remove the location of the lambda zip files, the default location will work in this case.
26+
27+
> 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
28+
29+
```bash
30+
cd ../lambdas-download
31+
terraform init
32+
terraform apply -var=module_version=<VERSION>
33+
cd -
34+
```
35+
36+
Before running Terraform, ensure the GitHub app is configured. See the [configuration details](../../README.md#usages) for more details.
37+
38+
```bash
39+
terraform init
40+
terraform apply
41+
```
42+
43+
The module will try to update the GitHub App webhook and secret (only linux/mac). You can receive the webhook details by running:
44+
45+
```bash
46+
terraform output webhook_secret
47+
```
48+
49+
<!-- BEGIN_TF_DOCS -->
50+
## Requirements
51+
52+
| Name | Version |
53+
|------|---------|
54+
| <a name="requirement_terraform"></a> [terraform](#requirement\_terraform) | >= 1.3.0 |
55+
| <a name="requirement_aws"></a> [aws](#requirement\_aws) | ~> 5.2 |
56+
| <a name="requirement_local"></a> [local](#requirement\_local) | ~> 2.0 |
57+
| <a name="requirement_random"></a> [random](#requirement\_random) | ~> 3.0 |
58+
59+
## Providers
60+
61+
| Name | Version |
62+
|------|---------|
63+
| <a name="provider_random"></a> [random](#provider\_random) | 3.5.1 |
64+
65+
## Modules
66+
67+
| Name | Source | Version |
68+
|------|--------|---------|
69+
| <a name="module_base"></a> [base](#module\_base) | ../base | n/a |
70+
| <a name="module_runners"></a> [runners](#module\_runners) | ../../modules/multi-runner | n/a |
71+
| <a name="module_webhook_github_app"></a> [webhook\_github\_app](#module\_webhook\_github\_app) | ../../modules/webhook-github-app | n/a |
72+
73+
## Resources
74+
75+
| Name | Type |
76+
|------|------|
77+
| [random_id.random](https://registry.terraform.io/providers/hashicorp/random/latest/docs/resources/id) | resource |
78+
79+
## Inputs
80+
81+
| Name | Description | Type | Default | Required |
82+
|------|-------------|------|---------|:--------:|
83+
| <a name="input_environment"></a> [environment](#input\_environment) | Environment name, used as prefix | `string` | `null` | no |
84+
| <a name="input_github_app"></a> [github\_app](#input\_github\_app) | GitHub for API usages. | <pre>object({<br> id = string<br> key_base64 = string<br> })</pre> | n/a | yes |
85+
86+
## Outputs
87+
88+
| Name | Description |
89+
|------|-------------|
90+
| <a name="output_webhook_endpoint"></a> [webhook\_endpoint](#output\_webhook\_endpoint) | n/a |
91+
| <a name="output_webhook_secret"></a> [webhook\_secret](#output\_webhook\_secret) | n/a |
92+
<!-- END_TF_DOCS -->

0 commit comments

Comments
 (0)