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
@@ -138,12 +138,9 @@ Talk to the forestkeepers in the `runners-channel` on Slack.
138
138
| <aname="input_enable_ami_housekeeper"></a> [enable\_ami\_housekeeper](#input\_enable\_ami\_housekeeper)| Option to disable the lambda to clean up old AMIs. |`bool`|`false`| no |
139
139
| <aname="input_enable_cloudwatch_agent"></a> [enable\_cloudwatch\_agent](#input\_enable\_cloudwatch\_agent)| Enables the cloudwatch agent on the ec2 runner instances. The runner uses a default config that can be overridden via `cloudwatch_config`. |`bool`|`true`| no |
140
140
| <aname="input_enable_ephemeral_runners"></a> [enable\_ephemeral\_runners](#input\_enable\_ephemeral\_runners)| Enable ephemeral runners, runners will only be used once. |`bool`|`false`| no |
141
-
| <aname="input_enable_event_rule_binaries_syncer"></a> [enable\_event\_rule\_binaries\_syncer](#input\_enable\_event\_rule\_binaries\_syncer)| DEPRECATED: Replaced by `state_event_rule_binaries_syncer`. |`bool`|`null`| no |
142
-
| <aname="input_enable_fifo_build_queue"></a> [enable\_fifo\_build\_queue](#input\_enable\_fifo\_build\_queue)| Enable a FIFO queue to keep the order of events received by the webhook. Recommended for repo level runners. |`bool`|`false`| no |
143
141
| <aname="input_enable_jit_config"></a> [enable\_jit\_config](#input\_enable\_jit\_config)| Overwrite the default behavior for JIT configuration. By default JIT configuration is enabled for ephemeral runners and disabled for non-ephemeral runners. In case of GHES check first if the JIT config API is avaialbe. In case you upgradeing from 3.x to 4.x you can set `enable_jit_config` to `false` to avoid a breaking change when having your own AMI. |`bool`|`null`| no |
144
142
| <aname="input_enable_job_queued_check"></a> [enable\_job\_queued\_check](#input\_enable\_job\_queued\_check)| Only scale if the job event received by the scale up lambda is in the queued state. By default enabled for non ephemeral runners and disabled for ephemeral. Set this variable to overwrite the default behavior. |`bool`|`null`| no |
145
143
| <aname="input_enable_managed_runner_security_group"></a> [enable\_managed\_runner\_security\_group](#input\_enable\_managed\_runner\_security\_group)| Enables creation of the default managed security group. Unmanaged security groups can be specified via `runner_additional_security_group_ids`. |`bool`|`true`| no |
146
-
| <aname="input_enable_metrics_control_plane"></a> [enable\_metrics\_control\_plane](#input\_enable\_metrics\_control\_plane)| (Experimental) Enable or disable the metrics for the module. Feature can change or renamed without a major release. |`bool`|`null`| no |
147
144
| <aname="input_enable_organization_runners"></a> [enable\_organization\_runners](#input\_enable\_organization\_runners)| Register runners to organization, instead of repo level |`bool`|`false`| no |
148
145
| <aname="input_enable_runner_binaries_syncer"></a> [enable\_runner\_binaries\_syncer](#input\_enable\_runner\_binaries\_syncer)| Option to disable the lambda to sync GitHub runner distribution, useful when using a pre-build AMI. |`bool`|`true`| no |
149
146
| <aname="input_enable_runner_detailed_monitoring"></a> [enable\_runner\_detailed\_monitoring](#input\_enable\_runner\_detailed\_monitoring)| Should detailed monitoring be enabled for the runner. Set this to true if you want to use detailed monitoring. See https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-cloudwatch-new.html for details. |`bool`|`false`| no |
@@ -169,18 +166,16 @@ Talk to the forestkeepers in the `runners-channel` on Slack.
169
166
| <aname="input_kms_key_arn"></a> [kms\_key\_arn](#input\_kms\_key\_arn)| Optional CMK Key ARN to be used for Parameter Store. This key must be in the current account. |`string`|`null`| no |
170
167
| <aname="input_lambda_architecture"></a> [lambda\_architecture](#input\_lambda\_architecture)| AWS Lambda architecture. Lambda functions using Graviton processors ('arm64') tend to have better price/performance than 'x86\_64' functions. |`string`|`"arm64"`| no |
171
168
| <aname="input_lambda_principals"></a> [lambda\_principals](#input\_lambda\_principals)| (Optional) add extra principals to the role created for execution of the lambda, e.g. for local testing. | <pre>list(object({<br/> type = string<br/> identifiers = list(string)<br/> }))</pre> |`[]`| no |
172
-
| <aname="input_lambda_runtime"></a> [lambda\_runtime](#input\_lambda\_runtime)| AWS Lambda runtime. |`string`|`"nodejs20.x"`| no |
169
+
| <aname="input_lambda_runtime"></a> [lambda\_runtime](#input\_lambda\_runtime)| AWS Lambda runtime. |`string`|`"nodejs22.x"`| no |
173
170
| <aname="input_lambda_s3_bucket"></a> [lambda\_s3\_bucket](#input\_lambda\_s3\_bucket)| S3 bucket from which to specify lambda functions. This is an alternative to providing local files directly. |`string`|`null`| no |
174
171
| <aname="input_lambda_security_group_ids"></a> [lambda\_security\_group\_ids](#input\_lambda\_security\_group\_ids)| List of security group IDs associated with the Lambda function. |`list(string)`|`[]`| no |
175
172
| <aname="input_lambda_subnet_ids"></a> [lambda\_subnet\_ids](#input\_lambda\_subnet\_ids)| List of subnets in which the action runners will be launched, the subnets needs to be subnets in the `vpc_id`. |`list(string)`|`[]`| no |
176
173
| <aname="input_lambda_tags"></a> [lambda\_tags](#input\_lambda\_tags)| Map of tags that will be added to all the lambda function resources. Note these are additional tags to the default tags. |`map(string)`|`{}`| no |
177
-
| <aname="input_lambda_tracing_mode"></a> [lambda\_tracing\_mode](#input\_lambda\_tracing\_mode)| DEPRECATED: Replaced by `tracing_config`. |`string`|`null`| no |
178
174
| <aname="input_log_level"></a> [log\_level](#input\_log\_level)| Logging level for lambda logging. Valid values are 'silly', 'trace', 'debug', 'info', 'warn', 'error', 'fatal'. |`string`|`"info"`| no |
179
175
| <aname="input_logging_kms_key_id"></a> [logging\_kms\_key\_id](#input\_logging\_kms\_key\_id)| Specifies the kms key id to encrypt the logs with. |`string`|`null`| no |
180
176
| <aname="input_logging_retention_in_days"></a> [logging\_retention\_in\_days](#input\_logging\_retention\_in\_days)| Specifies the number of days you want to retain log events for the lambda log group. Possible values are: 0, 1, 3, 5, 7, 14, 30, 60, 90, 120, 150, 180, 365, 400, 545, 731, 1827, and 3653. |`number`|`180`| no |
181
177
| <aname="input_matcher_config_parameter_store_tier"></a> [matcher\_config\_parameter\_store\_tier](#input\_matcher\_config\_parameter\_store\_tier)| The tier of the parameter store for the matcher configuration. Valid values are `Standard`, and `Advanced`. |`string`|`"Standard"`| no |
182
178
| <aname="input_metrics"></a> [metrics](#input\_metrics)| Configuration for metrics created by the module, by default disabled to avoid additional costs. When metrics are enable all metrics are created unless explicit configured otherwise. | <pre>object({<br/> enable = optional(bool, false)<br/> namespace = optional(string, "GitHub Runners")<br/> metric = optional(object({<br/> enable_github_app_rate_limit = optional(bool, true)<br/> enable_job_retry = optional(bool, true)<br/> enable_spot_termination_warning = optional(bool, true)<br/> }), {})<br/> })</pre> |`{}`| no |
183
-
| <aname="input_metrics_namespace"></a> [metrics\_namespace](#input\_metrics\_namespace)| The namespace for the metrics created by the module. Merics will only be created if explicit enabled. |`string`|`null`| no |
184
179
| <aname="input_minimum_running_time_in_minutes"></a> [minimum\_running\_time\_in\_minutes](#input\_minimum\_running\_time\_in\_minutes)| The time an ec2 action runner should be running at minimum before terminated, if not busy. |`number`|`null`| no |
185
180
| <aname="input_pool_config"></a> [pool\_config](#input\_pool\_config)| The configuration for updating the pool. The `pool_size` to adjust to by the events triggered by the `schedule_expression`. For example you can configure a cron expression for weekdays to adjust the pool to 10 and another expression for the weekend to adjust the pool to 1. Use `schedule_expression_timezone` to override the schedule time zone (defaults to UTC). | <pre>list(object({<br/> schedule_expression = string<br/> schedule_expression_timezone = optional(string)<br/> size = number<br/> }))</pre> |`[]`| no |
186
181
| <aname="input_pool_lambda_memory_size"></a> [pool\_lambda\_memory\_size](#input\_pool\_lambda\_memory\_size)| Memory size limit for scale-up lambda. |`number`|`512`| no |
Copy file name to clipboardExpand all lines: docs/configuration.md
-1
Original file line number
Diff line number
Diff line change
@@ -120,7 +120,6 @@ You can configure runners to be ephemeral, in which case runners will be used on
120
120
- The scale down lambda is still active, and should only remove orphan instances. But there is no strict check in place. So ensure you configure the `minimum_running_time_in_minutes` to a value that is high enough to get your runner booted and connected to avoid it being terminated before executing a job.
121
121
- The messages sent from the webhook lambda to the scale-up lambda are by default delayed by SQS, to give available runners a chance to start the job before the decision is made to scale more runners. For ephemeral runners there is no need to wait. Set `delay_webhook_event` to `0`.
122
122
- All events in the queue will lead to a new runner created by the lambda. By setting `enable_job_queued_check` to `true` you can enforce a rule of only creating a runner if the event has a correlated queued job. Setting this can avoid creating useless runners. For example, a job getting cancelled before a runner was created or if the job was already picked up by another runner. We suggest using this in combination with a pool.
123
-
- To ensure runners are created in the same order GitHub sends the events, by default we use a FIFO queue. This is mainly relevant for repo level runners. For ephemeral runners you can set `enable_fifo_build_queue` to `false`.
124
123
- Errors related to scaling should be retried via SQS. You can configure `job_queue_retention_in_seconds` and `redrive_build_queue` to tune the behavior. We have no mechanism to avoid events never being processed, which means potentially no runner gets created and the job in GitHub times out in 6 hours.
125
124
126
125
The example for [ephemeral runners](examples/ephemeral.md) is based on the [default example](examples/default.md). Have look at the diff to see the major configuration differences.
Copy file name to clipboardExpand all lines: docs/examples/index.md
+2-2
Original file line number
Diff line number
Diff line change
@@ -3,9 +3,9 @@
3
3
Examples are located in the [examples](https://github.com/philips-labs/terraform-aws-github-runner/tree/main/examples) directory. The following examples are provided:
4
4
5
5
-_[Default](default.md)_: The default example of the module
6
-
-_[ARM64](arm64.md)_: Example usage with ARM64 architecture
7
6
-_[Ephemeral](ephemeral.md)_: Example usages of ephemeral runners based on the default example.
8
-
-_[Multi Runner](multi-runner.md)_ : Example usage of creating a multi runner which creates multiple runners/ configurations with a single deployment
7
+
-_[Multi Runner](multi-runner.md)_ : Example usage of creating a multi runner which creates multiple runners/ configurations with a single deployment. The examples including: "arm64", "windows", and "ubuntu" runners.
9
8
-_[Permissions boundary](permissions-boundary.md)_: Example usages of permissions boundaries.
10
9
-_[Prebuilt Images](prebuilt.md)_: Example usages of deploying runners with a custom prebuilt image.
11
10
-_[Windows](windows.md)_: Example usage of creating a runner using Windows as the OS.
11
+
-_[Termination watcher](termination-watcher.md)_: Example usages of termination watcher.
0 commit comments