You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
type: "repository"# can be either 'organization' or 'repository'
46
-
dind_enabled: false # A Docker sidecar container will be deployed
47
-
image: summerwind/actions-runner # If dind_enabled=true, set this to 'summerwind/actions-runner-dind'
53
+
dind_enabled: false # If `true`, a Docker sidecar container will be deployed
54
+
# To run Docker in Docker (dind), change image from summerwind/actions-runner to summerwind/actions-runner-dind
55
+
image: summerwind/actions-runner
48
56
scope: "acme/infrastructure"
49
57
scale_down_delay_seconds: 300
50
58
min_replicas: 1
51
59
max_replicas: 5
52
-
busy_metrics:
60
+
busy_metrics:
53
61
scale_up_threshold: 0.75
54
62
scale_down_threshold: 0.25
55
63
scale_up_factor: 2
56
64
scale_down_factor: 0.5
57
65
resources:
58
66
limits:
59
-
cpu: 50m
60
-
memory: 100Mi
67
+
cpu: 200m
68
+
memory: 256Mi
61
69
requests:
62
-
cpu: 10m
63
-
memory: 30Mi
64
-
webhook_driven_scaling_enabled: false
70
+
cpu: 100m
71
+
memory: 128Mi
72
+
webhook_driven_scaling_enabled: true
65
73
pull_driven_scaling_enabled: false
66
74
labels:
67
75
- "Ubuntu"
68
-
- "core-otto"
76
+
- "self-hosted"
69
77
```
70
78
71
-
### Creating Github Tokens
79
+
### Generating Required Secrets
80
+
81
+
AWS SSM is used to store and retrieve secrets. Generate the following as required and add each to AWS SSM at your chosen path:
82
+
83
+
1. A PAT with the scope outlined in [this document](https://github.com/actions-runner-controller/actions-runner-controller#deploying-using-pat-authentication). Save this to the value specified by `ssm_github_token_path`:
2. If using the Webhook Driven autoscaling (recommended), generate a random string to use as the Secret when creating the webhook in GitHub.
72
90
73
-
Ensure that the required tokens are created in AWS SSM.
74
-
1. The `github_token` saved under `var.ssm_github_token_path`. The value should be a PAT with the scope outlined in [this document](https://github.com/actions-runner-controller/actions-runner-controller#deploying-using-pat-authentication).
75
-
2. If using the Webhook Driven autoscaling (recommended), include the key `github_webhook_secret_token` saved under `var.ssm_github_webhook_secret_token_path`. Set to a random string you will use as the Secret when creating the webhook in GitHub.
76
91
Generate the string using 1Password (no special characters, length 45) or by running
| <aname="input_regex_replace_chars"></a> [regex\_replace\_chars](#input\_regex\_replace\_chars)| Terraform regular expression (regex) string.<br>Characters matching the regex will be removed from the ID elements.<br>If not set, `"/[^a-zA-Z0-9-]/"` is used to remove all characters other than hyphens, letters and digits. |`string`|`null`| no |
| <aname="input_resources"></a> [resources](#input\_resources)| The cpu and memory of the deployment's limits and requests. | <pre>object({<br> limits = object({<br> cpu = string<br> memory = string<br> })<br> requests = object({<br> cpu = string<br> memory = string<br> })<br> })</pre> | n/a | yes |
181
-
| <a name="input_runners"></a> [runners](#input\_runners) | Map of Action Runner configurations, with the key being the name of the runner. Please note that the name must be in<br>kebab-case.<br><br>For example:<pre>hcl<br>organization_runner = {<br> type = "organization" # can be either 'organization' or 'repository'<br> dind_enabled: false # A Docker sidecar container will be deployed<br> image: summerwind/actions-runner # If dind_enabled=true, set this to 'summerwind/actions-runner-dind'<br> scope = "ACME" # org name for Organization runners, repo name for Repository runners<br> scale_down_delay_seconds = 300<br> min_replicas = 1<br> max_replicas = 5<br> busy_metrics = {<br> scale_up_threshold = 0.75<br> scale_down_threshold = 0.25<br> scale_up_factor = 2<br> scale_down_factor = 0.5<br> }<br> labels = [<br> "Ubuntu",<br> "mgmt-automation",<br> ]<br>}</pre> | <pre>map(object({<br> type = string<br> scope = string<br> image = string<br> dind_enabled = bool<br> scale_down_delay_seconds = number<br> min_replicas = number<br> max_replicas = number<br> busy_metrics = map(string)<br> webhook_driven_scaling_enabled = bool<br> pull_driven_scaling_enabled = bool<br> labels = list(string)<br> resources = object({<br> limits = object({<br> cpu = string<br> memory = string<br> })<br> requests = object({<br> cpu = string<br> memory = string<br> })<br> })<br> }))</pre> | n/a | yes |
224
+
| <a name="input_runners"></a> [runners](#input\_runners) | Map of Action Runner configurations, with the key being the name of the runner. Please note that the name must be in<br>kebab-case.<br><br>For example:<pre>hcl<br>organization_runner = {<br> type = "organization" # can be either 'organization' or 'repository'<br> dind_enabled: false # A Docker sidecar container will be deployed<br> image: summerwind/actions-runner # If dind_enabled=true, set this to 'summerwind/actions-runner-dind'<br> scope = "ACME" # org name for Organization runners, repo name for Repository runners<br> scale_down_delay_seconds = 300<br> min_replicas = 1<br> max_replicas = 5<br> busy_metrics = {<br> scale_up_threshold = 0.75<br> scale_down_threshold = 0.25<br> scale_up_factor = 2<br> scale_down_factor = 0.5<br> }<br> labels = [<br> "Ubuntu",<br> "mgmt-automation",<br> ]<br>}</pre> | <pre>map(object({<br> type = string<br> scope = string<br> image = string<br> dind_enabled = bool<br> scale_down_delay_seconds = number<br> min_replicas = number<br> max_replicas = number<br> busy_metrics = map(string)<br> webhook_driven_scaling_enabled = bool<br> pull_driven_scaling_enabled = bool<br> labels = list(string)<br> storage = optional(string, false)<br> resources = object({<br> limits = object({<br> cpu = string<br> memory = string<br> ephemeral_storage = optional(string, false)<br> })<br> requests = object({<br> cpu = string<br> memory = string<br> })<br> })<br> }))</pre> | n/a | yes |
182
225
| <aname="input_s3_bucket_arns"></a> [s3\_bucket\_arns](#input\_s3\_bucket\_arns)| List of ARNs of S3 Buckets to which the runners will have read-write access to. |`list(string)`|`[]`| no |
183
226
| <aname="input_ssm_github_token_path"></a> [ssm\_github\_token\_path](#input\_ssm\_github\_token\_path)| The path in SSM to the GitHub token. |`string`|`""`| no |
184
227
| <aname="input_ssm_github_webhook_secret_token_path"></a> [ssm\_github\_webhook\_secret\_token\_path](#input\_ssm\_github\_webhook\_secret\_token\_path)| The path in SSM to the GitHub Webhook Secret token. |`string`|`""`| no |
0 commit comments