-
Notifications
You must be signed in to change notification settings - Fork 628
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Dont delete busy runners #1832
Dont delete busy runners #1832
Conversation
@samuelb i adjusted the logic from you a little, i believe some things weren't correct in your implementation (decrementing the idleCounter in every case). Let me know if I have missed something. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@ulich thanks for taking the time to create the PR At the moment we hae crafted the first version of the runner there was no API from github available to find the status. By experimenting we found out that we can only delete offline and idel runners. Not active one.
Now github has an API available (already for some time). It would be better to move to a way by rest checking and next removing. However, we should keep in mind that a runner coulbe inactive at the moment of the check and active and the moment of delete.
I could not find particularly good github documention. But there are two fiels available on the API.
status
with the values idle, offline or activebusy
true or false
The exact meaning of busy seems not be defined anywhere. I think we should use tatus
instead of busy
for the check and delete all non active runners.
What are your thoughts?
You are right that a runner could not be busy at the time of listing but then be busy again when sending the delete request. In this case it would fail. The other scenario, where the runner is busy at the time of listing but then is no longer busy could also happen, but maybe wouldn't be that bad, then it would be deleted the next time the scale-down lambda runs. Even when performing another "status-check" request right before sending the delete request, it still could lead to both of the aforementioned situations, just that it's less probable because there is less time in between, especially when there were multiple delete requests in that run. The downside with the additional status check would be quite some API requests more which maybe lead to throttling? Maybe, as a starting point, we use the approach of this PR which already improves, I'd say 90% of the requests. For the cases where the runner becomes idle after the list request, the downside would be that the runner would run for a few minutes longer until the next scale-down lambda runs. For the cases where the runner becomes busy after the list request, the behavior remains as before, a delete request which leads to an error. Maybe I should revert this line back to how it was before? |
What would you think about not using busy but using the the status? |
I don't know what is better. I'm also not familiar with these 2 fields from the GitHub API. But yeah, maybe status is better. I'll adapt the PR to check for |
regarding the additional status check request: What we also could do is check for the status flag from the list runners response and then, if status != active, before actually sending the delete request, do another get request for the particular runner, to double check that the runner didn't become active in the meantime. This wouldn't cause extremely many more API requests but also reduce the amount of requests that lead to errors because the runner is active again. Wdyt? |
What about not using caching when getting the list of runners ( |
As far as I can see, the cache is invalidated when the scale down lambda is invoked. So I don't think this is a huge problem either, or am I missing something? |
I now tested the code checking for |
I will ask the GitHub team if the can point to docs or the meaning of busy. I don't like educated guesses |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@ulich Thanks, LGTM
## [0.17.0-develop.1](v0.16.0...v0.17.0-develop.1) (2022-03-25) ### Features * Add associate_public_ip_address variable to windows AMI too ([philips-labs#1819](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1819)) ([0b8e1fc](0b8e1fc)), closes [/github.com/philips-labs/pull/1816#issuecomment-1060650668](https://github.com/enverus-cts//github.com/philips-labs/terraform-aws-github-runner/pull/1816/issues/issuecomment-1060650668) * Add associate_public_ip_address variable ([philips-labs#1816](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1816)) ([052e9f8](052e9f8)) * add format checking for lambdas in CI ([#899](#899)) ([#1080](#1080)) ([ae9c277](ae9c277)) * Add hooks for prebuilt images (AMI), including amazon linux packer example ([philips-labs#1444](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1444)) ([060daac](060daac)) * add option ephemeral runners ([philips-labs#1374](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1374)) ([2f323d6](2f323d6)), closes [philips-labs#1399](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1399) [philips-labs#1444](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1444) * Add option for ephemeral to check builds status before scaling ([philips-labs#1854](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1854)) ([7eb0bda](7eb0bda)) * Add option for KMS encryption for cloudwatch log groups ([philips-labs#1833](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1833)) ([3f1a67f](3f1a67f)) * Add option to configure concurrent running scale up lambda ([philips-labs#1415](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1415)) ([23ee630](23ee630)) * Add option to disable SSL verification support for GitHub Enterprise Server ([#1216](#1216)) ([3c3ef19](3c3ef19)), closes [#1207](#1207) * add option to format logging in JSON for lambdas ([#1228](#1228)) ([a250b96](a250b96)) * add option to overwrite / disable egress [#748](#748) ([#1112](#1112)) ([9c2548d](9c2548d)) * add option to specify SSE config for dist bucket ([philips-labs#1324](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1324)) ([ae84302](ae84302)) * Add output image id used in launch template ([philips-labs#1676](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1676)) ([a49fab4](a49fab4)) * Add possibility to create multiple ebs ([philips-labs#1845](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1845)) ([7a2ca0d](7a2ca0d)) * Add scheduled / pull based scaling for org level runners ([philips-labs#1577](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1577)) ([8197432](8197432)) * Add SQS queue resource policy to improve security ([philips-labs#1798](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1798)) ([96def9a](96def9a)) * Add Support for Alternative Partitions in ARNs (like govcloud) ([philips-labs#1815](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1815)) ([0ba06c8](0ba06c8)) * Add variable to specify custom commands while building the AMI ([philips-labs#1838](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1838)) ([8f9c342](8f9c342)) * add windows support ([philips-labs#1476](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1476)) ([dbba705](dbba705)) * adding message retention seconds ([philips-labs#1354](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1354)) ([a19929f](a19929f)) * Adding support for new workflow_job event. ([#1019](#1019)) ([a74e10b](a74e10b)) * adding var for tags for ec2s ([philips-labs#1357](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1357)) ([31cf02d](31cf02d)) * Change default location of runner to `/opt` and fix Ubuntu example ([philips-labs#1572](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1572)) ([77f350b](77f350b)) * Ignore github managed labels and add check disable option ([#1244](#1244)) ([859fa38](859fa38)) * **images:** Added ubuntu-focual example packer configuration ([philips-labs#1644](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1644)) ([997b171](997b171)) * **packer:** add vars and minor clean up ([philips-labs#1611](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1611)) ([1c897a4](1c897a4)) * Parameterise delete_on_termination ([philips-labs#1758](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1758)) ([6282351](6282351)), closes [philips-labs#1745](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1745) * remove unused app client since SSH key is used to secure app authorization ([#1223](#1223)) ([4cb5cf1](4cb5cf1)) * Replace run instance API by create fleet API ([philips-labs#1556](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1556)) ([27e974d](27e974d)) * **runner:** Ability to disable default runner security group creation ([philips-labs#1718](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1718)) ([94779f8](94779f8)) * **runner:** Add option to disable auto update ([philips-labs#1791](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1791)) ([c2a834f](c2a834f)) * **runner:** Replace patch by install ICU package for ARM runners ([philips-labs#1624](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1624)) ([74cfa51](74cfa51)) * **scale-down:** Update Owner Logic ([#1065](#1065)) ([ba2536b](ba2536b)), closes [#2](#2) * Strict label check and replace disable_check_wokflow_job_labels by opt in enable_workflow_job_labels_check ([philips-labs#1591](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1591)) ([405b11d](405b11d)) * support single line for app private key ([philips-labs#1368](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1368)) ([14183ac](14183ac)) * Support t4g Graviton instance type ([philips-labs#1561](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1561)) ([3fa5896](3fa5896)) * upgrade Terraform version of module 1.0.x ([#1254](#1254)) ([2a817dc](2a817dc)) ### Bug Fixes * `instance_types` from a Set to a List, so instance order preference is preserved ([#1154](#1154)) ([150d227](150d227)) * add --preserve-env to start-runner.sh to enable RUNNER_ALLOW_RUNASROOT ([philips-labs#1537](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1537)) ([1cd9cd3](1cd9cd3)) * Add config for windows ami ([philips-labs#1525](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1525)) ([7907984](7907984)) * add logging context to runner lambda ([philips-labs#1399](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1399)) ([0ba0930](0ba0930)) * Add required providers to module ssm ([philips-labs#1423](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1423)) ([5b68b7b](5b68b7b)) * add runners binaries bucket as terraform output ([5809fee](5809fee)) * add validation to distribution_bucket_name variable ([philips-labs#1356](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1356)) ([6522317](6522317)) * added more detailed logging for scaling up and down ([#1222](#1222)) ([9aa7456](9aa7456)) * Autoupdate should be disabled by default ([philips-labs#1797](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1797)) ([828bed6](828bed6)) * clean up non used variables in examples ([philips-labs#1416](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1416)) ([fe65a5f](fe65a5f)) * configurable metadata options for runners ([philips-labs#1377](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1377)) ([f37df23](f37df23)) * Create SQS DLQ policy only if DLQ is created ([philips-labs#1839](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1839)) ([c88a005](c88a005)) * Don't delete busy runners ([philips-labs#1832](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1832)) ([0e9b083](0e9b083)) * Dowload lambda see [philips-labs#1541](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1541) for details. ([philips-labs#1542](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1542)) ([7cb73c8](7cb73c8)) * Download lambda ([philips-labs#1480](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1480)) ([f1b99d9](f1b99d9)) * **examples:** Update AMI filter ([philips-labs#1673](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1673)) ([39c019c](39c019c)) * explicit set region for downloading runner distribution from S3 ([#1204](#1204)) ([439fb1b](439fb1b)) * **images:** use new runner install location ([philips-labs#1628](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1628)) ([36c1bf5](36c1bf5)) * install_config_runner -> install_runner ([philips-labs#1479](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1479)) ([de5b93f](de5b93f)) * Limit AWS Terraform Provider to 3.* ([philips-labs#1741](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1741)) ([0cf2b5d](0cf2b5d)) * **logging:** Add context to webhook logs ([philips-labs#1401](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1401)) ([8094576](8094576)) * **logging:** Additional Logging ([#1135](#1135)) ([f7f194d](f7f194d)) * **logging:** Adjusting scale logging messages and levels ([philips-labs#1286](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1286)) ([665e1a6](665e1a6)) * **logging:** Adjusting webhook logs and levels ([philips-labs#1287](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1287)) ([9df5fb8](9df5fb8)) * **packer:** Add missing RUNNER_ARCHITECTURE for amazn-linux2 ([philips-labs#1647](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1647)) ([ec497a2](ec497a2)) * reducing verbosity of role and profile ([philips-labs#1358](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1358)) ([922ef99](922ef99)) * remove export from install script. ([philips-labs#1538](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1538)) ([d32ca1b](d32ca1b)) * replace depcrated 'request' dependency by 'node-fetch' ([#903](#903)) ([#1082](#1082)) ([fb51756](fb51756)) * Retention days was used instead of kms key id for pool ([philips-labs#1855](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1855)) ([aa29d93](aa29d93)) * **runner:** Cannot disable cloudwatch agent ([philips-labs#1738](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1738)) ([0f798ca](0f798ca)) * **runnrs:** Pool runners to allow multiple pool_config objects ([philips-labs#1621](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1621)) ([c9c7c69](c9c7c69)) * **scale-down:** Clearing cache between runs ([#1164](#1164)) ([e72227b](e72227b)) * **syncer:** Add tests, coverage report, and refactor lambda / naming ([philips-labs#1478](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1478)) ([8266442](8266442)) * **syncer:** Fix for windows binaries in action runner syncer ([philips-labs#1716](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1716)) ([63e0e27](63e0e27)) * Update launch template to use metadata service v2 ([philips-labs#1278](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1278)) ([ef16287](ef16287)) * update return codes, no error code for job that are ignored ([philips-labs#1381](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1381)) ([f9f705f](f9f705f)) * Upgrade Amazon base AMI to Amazon Linux 2 kernel 5x ([philips-labs#1812](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1812)) ([9aa5532](9aa5532)) * upgrade jest ([#1219](#1219)) ([c8b8139](c8b8139)) * Upgrade lambda runtime to node 14.x ([#1203](#1203)) ([570949a](570949a)) * use dynamic block to ignore null market opts ([#1202](#1202)) ([df9bd78](df9bd78)) * use dynamic block to ignore null market opts ([#1202](#1202)) ([06a5598](06a5598)) * webhook labels for `workflow_job` ([#1133](#1133)) ([4b39fb9](4b39fb9)) * **webhook:** depcrated warning on ts-jest mocked ([philips-labs#1615](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1615)) ([56c1ece](56c1ece)) * **webhook:** remove node fetch ([ca14ac5](ca14ac5)) * **webhook:** replace node-fetch by axios [#1247](#1247) ([80fff4b](80fff4b))
## [0.33.0](v0.32.0...v0.33.0) (2022-03-29) ### Features * Add associate_public_ip_address variable to windows AMI too ([philips-labs#1819](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1819)) ([0b8e1fc](0b8e1fc)), closes [/github.com/philips-labs/pull/1816#issuecomment-1060650668](https://github.com/enverus-cts//github.com/philips-labs/terraform-aws-github-runner/pull/1816/issues/issuecomment-1060650668) * Add associate_public_ip_address variable ([philips-labs#1816](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1816)) ([052e9f8](052e9f8)) * Add option for ephemeral to check builds status before scaling ([philips-labs#1854](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1854)) ([7eb0bda](7eb0bda)) * Add option for KMS encryption for cloudwatch log groups ([philips-labs#1833](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1833)) ([3f1a67f](3f1a67f)) * Add output image id used in launch template ([philips-labs#1676](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1676)) ([a49fab4](a49fab4)) * Add possibility to create multiple ebs ([philips-labs#1845](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1845)) ([7a2ca0d](7a2ca0d)) * Add SQS queue resource policy to improve security ([philips-labs#1798](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1798)) ([96def9a](96def9a)) * Add Support for Alternative Partitions in ARNs (like govcloud) ([philips-labs#1815](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1815)) ([0ba06c8](0ba06c8)) * Add variable to specify custom commands while building the AMI ([philips-labs#1838](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1838)) ([8f9c342](8f9c342)) * **images:** Added ubuntu-focual example packer configuration ([philips-labs#1644](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1644)) ([997b171](997b171)) * Parameterise delete_on_termination ([philips-labs#1758](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1758)) ([6282351](6282351)), closes [philips-labs#1745](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1745) * **runner:** Ability to disable default runner security group creation ([philips-labs#1718](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1718)) ([94779f8](94779f8)) * **runner:** Add option to disable auto update ([philips-labs#1791](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1791)) ([c2a834f](c2a834f)) ### Bug Fixes * Autoupdate should be disabled by default ([philips-labs#1797](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1797)) ([828bed6](828bed6)) * Create SQS DLQ policy only if DLQ is created ([philips-labs#1839](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1839)) ([c88a005](c88a005)) * Don't delete busy runners ([philips-labs#1832](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1832)) ([0e9b083](0e9b083)) * **examples:** Update AMI filter ([philips-labs#1673](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1673)) ([39c019c](39c019c)) * Limit AWS Terraform Provider to 3.* ([philips-labs#1741](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1741)) ([0cf2b5d](0cf2b5d)) * Retention days was used instead of kms key id for pool ([philips-labs#1855](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1855)) ([aa29d93](aa29d93)) * **runner:** Cannot disable cloudwatch agent ([philips-labs#1738](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1738)) ([0f798ca](0f798ca)) * **syncer:** Fix for windows binaries in action runner syncer ([philips-labs#1716](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1716)) ([63e0e27](63e0e27)) * Upgrade Amazon base AMI to Amazon Linux 2 kernel 5x ([philips-labs#1812](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1812)) ([9aa5532](9aa5532))
* Don't attempt to delete busy runners * fix idleCounter logic * adjust tests to cover the new case * remove debugging code Co-authored-by: Samuel Barabas <samuel@owee.de>
## [0.39.0](philips-labs/terraform-aws-github-runner@v0.38.0...v0.39.0) (2022-03-25) ### Features * Add possibility to create multiple ebs ([philips-labs#1845](philips-labs#1845)) ([7a2ca0d](philips-labs@7a2ca0d)) ### Bug Fixes * Don't delete busy runners ([philips-labs#1832](philips-labs#1832)) ([0e9b083](philips-labs@0e9b083))
* chore(release): 0.17.0 [skip ci] * Adding support for new workflow_job event. ([#1019](#1019)) ([a74e10b](a74e10b)) * chore(release): 0.18.0 [skip ci] * add format checking for lambdas in CI ([#899](#899)) ([#1080](#1080)) ([ae9c277](ae9c277)) * add option to overwrite / disable egress [#748](#748) ([#1112](#1112)) ([9c2548d](9c2548d)) * replace depcrated 'request' dependency by 'node-fetch' ([#903](#903)) ([#1082](#1082)) ([fb51756](fb51756)) * chore(release): 0.18.1 [skip ci] * webhook labels for `workflow_job` ([#1133](#1133)) ([4b39fb9](4b39fb9)) * chore(release): 0.19.0 [skip ci] * **scale-down:** Update Owner Logic ([#1065](#1065)) ([ba2536b](ba2536b)), closes [#2](#2) * explicit set region for downloading runner distribution from S3 ([#1204](#1204)) ([439fb1b](439fb1b)) * upgrade jest ([#1219](#1219)) ([c8b8139](c8b8139)) * use dynamic block to ignore null market opts ([#1202](#1202)) ([df9bd78](df9bd78)) * use dynamic block to ignore null market opts ([#1202](#1202)) ([06a5598](06a5598)) * **logging:** Additional Logging ([#1135](#1135)) ([f7f194d](f7f194d)) * **scale-down:** Clearing cache between runs ([#1164](#1164)) ([e72227b](e72227b)) * chore(release): 0.19.1 [skip ci] * `instance_types` from a Set to a List, so instance order preference is preserved ([#1154](#1154)) ([150d227](150d227)) * chore(release): 0.20.0 [skip ci] * Add option to disable SSL verification support for GitHub Enterprise Server ([#1216](#1216)) ([3c3ef19](3c3ef19)), closes [#1207](#1207) * chore(release): 0.20.1 [skip ci] * Upgrade lambda runtime to node 14.x ([#1203](#1203)) ([570949a](570949a)) * **webhook:** remove node fetch ([ca14ac5](ca14ac5)) * **webhook:** replace node-fetch by axios [#1247](#1247) ([80fff4b](80fff4b)) * added more detailed logging for scaling up and down ([#1222](#1222)) ([9aa7456](9aa7456)) * chore(release): 0.21.0 [skip ci] * Ignore github managed labels and add check disable option ([#1244](#1244)) ([859fa38](859fa38)) * remove unused app client since SSH key is used to secure app authorization ([#1223](#1223)) ([4cb5cf1](4cb5cf1)) * upgrade Terraform version of module 1.0.x ([#1254](#1254)) ([2a817dc](2a817dc)) * chore(release): 0.21.1 [skip ci] * **logging:** Adjusting scale logging messages and levels ([#1286](#1286)) ([665e1a6](665e1a6)) * **logging:** Adjusting webhook logs and levels ([#1287](#1287)) ([9df5fb8](9df5fb8)) * Update launch template to use metadata service v2 ([#1278](#1278)) ([ef16287](ef16287)) * chore(release): 0.22.0 [skip ci] * adding message retention seconds ([#1354](#1354)) ([a19929f](a19929f)) * adding var for tags for ec2s ([#1357](#1357)) ([31cf02d](31cf02d)) * add validation to distribution_bucket_name variable ([#1356](#1356)) ([6522317](6522317)) * chore(release): 0.23.0 [skip ci] * add option to format logging in JSON for lambdas ([#1228](#1228)) ([a250b96](a250b96)) * add option to specify SSE config for dist bucket ([#1324](#1324)) ([ae84302](ae84302)) * reducing verbosity of role and profile ([#1358](#1358)) ([922ef99](922ef99)) * chore(release): 0.23.1 [skip ci] * configurable metadata options for runners ([#1377](#1377)) ([f37df23](f37df23)) * chore(release): 0.24.0 [skip ci] * support single line for app private key ([#1368](#1368)) ([14183ac](14183ac)) * update return codes, no error code for job that are ignored ([#1381](#1381)) ([f9f705f](f9f705f)) * chore(release): 0.25.0 [skip ci] * Add option to configure concurrent running scale up lambda ([#1415](#1415)) ([23ee630](23ee630)) * clean up non used variables in examples ([#1416](#1416)) ([fe65a5f](fe65a5f)) * chore(release): 0.25.1 [skip ci] * Add required providers to module ssm ([#1423](#1423)) ([5b68b7b](5b68b7b)) * chore(release): 0.25.2 [skip ci] * add logging context to runner lambda ([#1399](#1399)) ([0ba0930](0ba0930)) * **logging:** Add context to webhook logs ([#1401](#1401)) ([8094576](8094576)) * chore(release): 0.26.0 [skip ci] * Add hooks for prebuilt images (AMI), including amazon linux packer example ([#1444](#1444)) ([060daac](060daac)) * add runners binaries bucket as terraform output ([5809fee](5809fee)) * chore(release): 0.26.1 [skip ci] * Download lambda ([#1480](#1480)) ([f1b99d9](f1b99d9)) * **syncer:** Add tests, coverage report, and refactor lambda / naming ([#1478](#1478)) ([8266442](8266442)) * install_config_runner -> install_runner ([#1479](#1479)) ([de5b93f](de5b93f)) * chore(release): 0.27.0 [skip ci] * add windows support ([#1476](#1476)) ([dbba705](dbba705)) * chore(release): 0.27.1 [skip ci] * add --preserve-env to start-runner.sh to enable RUNNER_ALLOW_RUNASROOT ([#1537](#1537)) ([1cd9cd3](1cd9cd3)) * remove export from install script. ([#1538](#1538)) ([d32ca1b](d32ca1b)) * chore(release): 0.27.2 [skip ci] * Dowload lambda see [#1541](#1541) for details. ([#1542](#1542)) ([7cb73c8](7cb73c8)) * chore(release): 0.28.0 [skip ci] * add option ephemeral runners ([#1374](#1374)) ([2f323d6](2f323d6)), closes [#1399](#1399) [#1444](#1444) * Change default location of runner to `/opt` and fix Ubuntu example ([#1572](#1572)) ([77f350b](77f350b)) * Replace run instance API by create fleet API ([#1556](#1556)) ([27e974d](27e974d)) * Support t4g Graviton instance type ([#1561](#1561)) ([3fa5896](3fa5896)) * Add config for windows ami ([#1525](#1525)) ([7907984](7907984)) * chore(release): 0.29.0 [skip ci] * Strict label check and replace disable_check_wokflow_job_labels by opt in enable_workflow_job_labels_check ([#1591](#1591)) ([405b11d](405b11d)) * chore(release): 0.30.0 [skip ci] * Add scheduled / pull based scaling for org level runners ([#1577](#1577)) ([8197432](8197432)) * chore(release): 0.30.1 [skip ci] * **runnrs:** Pool runners to allow multiple pool_config objects ([#1621](#1621)) ([c9c7c69](c9c7c69)) * chore(release): 0.31.0 [skip ci] * **packer:** add vars and minor clean up ([#1611](#1611)) ([1c897a4](1c897a4)) * **webhook:** depcrated warning on ts-jest mocked ([#1615](#1615)) ([56c1ece](56c1ece)) * chore(release): 0.32.0 [skip ci] * **runner:** Replace patch by install ICU package for ARM runners ([#1624](#1624)) ([74cfa51](74cfa51)) * **images:** use new runner install location ([#1628](#1628)) ([36c1bf5](36c1bf5)) * **packer:** Add missing RUNNER_ARCHITECTURE for amazn-linux2 ([#1647](#1647)) ([ec497a2](ec497a2)) * chore(release): 0.33.0 [skip ci] * **images:** Added ubuntu-focual example packer configuration ([#1644](#1644)) ([997b171](997b171)) * **examples:** Update AMI filter ([#1673](#1673)) ([39c019c](39c019c)) * chore(release): 0.34.0 [skip ci] * Add output image id used in launch template ([#1676](#1676)) ([a49fab4](a49fab4)) * chore(release): 0.34.1 [skip ci] * **syncer:** Fix for windows binaries in action runner syncer ([#1716](#1716)) ([63e0e27](63e0e27)) * chore(release): 0.34.2 [skip ci] * Limit AWS Terraform Provider to 3.* ([#1741](#1741)) ([0cf2b5d](0cf2b5d)) * **runner:** Cannot disable cloudwatch agent ([#1738](#1738)) ([0f798ca](0f798ca)) * chore(release): 0.35.0 [skip ci] * Parameterise delete_on_termination ([#1758](#1758)) ([6282351](6282351)), closes [#1745](#1745) * **runner:** Ability to disable default runner security group creation ([#1718](#1718)) ([94779f8](94779f8)) * chore(release): 0.36.0 [skip ci] * **runner:** Add option to disable auto update ([#1791](#1791)) ([c2a834f](c2a834f)) * chore(release): 0.37.0 [skip ci] * Add associate_public_ip_address variable to windows AMI too ([#1819](#1819)) ([0b8e1fc](0b8e1fc)), closes [/github.com//pull/1816#issuecomment-1060650668](https://github.com/philips-labs//github.com/philips-labs/terraform-aws-github-runner/pull/1816/issues/issuecomment-1060650668) * Add associate_public_ip_address variable ([#1816](#1816)) ([052e9f8](052e9f8)) * Add option for KMS encryption for cloudwatch log groups ([#1833](#1833)) ([3f1a67f](3f1a67f)) * Add SQS queue resource policy to improve security ([#1798](#1798)) ([96def9a](96def9a)) * Add Support for Alternative Partitions in ARNs (like govcloud) ([#1815](#1815)) ([0ba06c8](0ba06c8)) * Add variable to specify custom commands while building the AMI ([#1838](#1838)) ([8f9c342](8f9c342)) * Autoupdate should be disabled by default ([#1797](#1797)) ([828bed6](828bed6)) * Create SQS DLQ policy only if DLQ is created ([#1839](#1839)) ([c88a005](c88a005)) * Upgrade Amazon base AMI to Amazon Linux 2 kernel 5x ([#1812](#1812)) ([9aa5532](9aa5532)) * chore(release): 0.38.0 [skip ci] * Add option for ephemeral to check builds status before scaling ([#1854](#1854)) ([7eb0bda](7eb0bda)) * Retention days was used instead of kms key id for pool ([#1855](#1855)) ([aa29d93](aa29d93)) * chore(release): 0.39.0 [skip ci] * Add possibility to create multiple ebs ([#1845](#1845)) ([7a2ca0d](7a2ca0d)) * Don't delete busy runners ([#1832](#1832)) ([0e9b083](0e9b083)) * chore(release): 0.40.0 [skip ci] * Support multi runner process support for runner scale down. ([#1859](#1859)) ([3658d6a](3658d6a)) * Set the minimal AWS provider to 3.50 ([#1937](#1937)) ([16095d8](16095d8)) * chore(release): 0.40.1 [skip ci] * Avoid non semantic commontes can be merged. ([#1969](#1969)) ([ad1c872](ad1c872)) * chore(release): 0.40.2 [skip ci] * Outputs for pool need to account for complexity ([#1970](#1970)) ([2d92906](2d92906)) * chore(release): 0.40.3 [skip ci] * Volume size is ingored ([#2014](#2014)) ([b733248](b733248)), closes [#1954](#1954) * chore(release): 0.40.4 [skip ci] * Wrong block device mapping ([#2019](#2019)) ([c42a467](c42a467)) * chore(release): 1.0.0 [skip ci] * var.volume_size replaced by var.block_device_mappings * The module is upgraded to AWS Terraform provider 4.x * Improve syncer s3 kms encryption ([38ed5be](38ed5be)) * Remove var.volume_size in favour of var.block_device_mappings ([4e97048](4e97048)) * Support AWS 4.x Terraform provider ([#1739](#1739)) ([cfb6da2](cfb6da2)) * Wrong block device mapping ([#2019](#2019)) ([185ef20](185ef20)) * chore(release): 1.1.0 [skip ci] * Add option to enable detailed monitoring for runner launch template ([#2024](#2024)) ([e73a267](e73a267)) * chore(release): 1.1.1 [skip ci] * **runner:** Don't treat the string "false" as true. ([#2051](#2051)) ([b67c7dc](b67c7dc)) * chore(release): 1.2.0 [skip ci] * Replace environment variable by prefix ([#1858](#1858)) ([e2f9a27](e2f9a27)) * docs: fix hyperlinks in the Terraform Registry documentation (#2085) This makes the hyperlink correct in the Terraform Registry documentation * chore(release): 1.3.0 [skip ci] * Support arm64 lambda functions ([#2121](#2121)) ([9e2a7b6](9e2a7b6)) * Support Node16 for AWS Lambda ([#2073](#2073)) ([68a2014](68a2014)) * replaced old environment variable ([#2146](#2146)) ([f2072f7](f2072f7)) * set explicit permissions on s3 for syncer lambda ([#2145](#2145)) ([aa7edd1](aa7edd1)) * set kms key on aws_s3_object when encryption is enabled ([#2147](#2147)) ([b4dc706](b4dc706)) * chore(release): 1.4.0 [skip ci] * Add option to match some of the labes instead of all [#2122](#2122) ([#2123](#2123)) ([c5e3c21](c5e3c21)) * don't apply extra labels unless defined ([#2181](#2181)) ([c0b11bb](c0b11bb)) * Remove asterik in permission for runner lambda to describe instances ([9b9da03](9b9da03)) * chore(release): 1.4.1 [skip ci] * added server_side_encryption key to download trigger for distribution ([#2207](#2207)) ([404e3b6](404e3b6)) * chore(release): 1.5.0 [skip ci] * Add ubuntu-jammy example image based on existing ubuntu-focal ([#2102](#2102)) ([486ae91](486ae91)) * **images:** avoid wrong AMI could be selected for ubuntu focal ([#2214](#2214)) ([76be94b](76be94b)) * chore(release): 1.6.0 [skip ci] * Add options extra option to ebs block device mapping ([#2052](#2052)) ([7cd2524](7cd2524)) * Enable node16 default ([#2074](#2074)) ([58aa5ed](58aa5ed)) * Incorrect path of Runner logs ([#2233](#2233)) ([98eff98](98eff98)) * Preventing that lambda webhook fails when it tries to process an installation_repositories event ([#2288](#2288)) ([8656c83](8656c83)) * Update ubuntu example to fix /opt/hostedtoolcache ([#2302](#2302)) ([8eea748](8eea748)) * Webhook lambda misleading log ([#2291](#2291)) ([c6275f9](c6275f9)) * chore(release): 1.7.0 [skip ci] * Webhook accept jobs where not all labels are provided in job. ([#2209](#2209)) ([6d9116f](6d9116f)) * Ignore case for runner labels. ([#2315](#2315)) ([014985a](014985a)) * chore(release): 1.8.0 [skip ci] * Add option to disable lambda to sync runner binaries ([#2314](#2314)) ([9f7d32d](9f7d32d)) * **examples:** Upgrading ubuntu example to 22.04 ([#2250](#2250)) ([d4b7650](d4b7650)), closes [#2103](#2103) * chore(release): 1.8.1 [skip ci] * **runners:** Pass allocation strategy ([#2345](#2345)) ([68d3445](68d3445)) * chore(release): 1.9.0 [skip ci] * Add option to enable access log for API gateway ([#2387](#2387)) ([fcd9fba](fcd9fba)) * add s3_location_runner_distribution var as expandable for userdata ([#2371](#2371)) ([05fe737](05fe737)) * Encrypted data at REST on SQS by default ([#2431](#2431)) ([7f3f4bf](7f3f4bf)) * **images:** Allow passing instance type when building windows image ([#2369](#2369)) ([eca23bf](eca23bf)) * **runners:** Fetch instance environment tag though metadata ([#2346](#2346)) ([27db290](27db290)) * **runners:** Set the default Windows AMI to Server 2022 ([#2325](#2325)) ([78e99d1](78e99d1)) * chore(release): 1.9.1 [skip ci] * **webhook:** Use `x-hub-signature-256` header as default ([#2434](#2434)) ([9c3e495](9c3e495)) * chore(release): 1.10.0 [skip ci] * Download runner release via latest release API ([#2455](#2455)) ([e75e092](e75e092)) * fix: Execute runner in own process, mask token in logs * Add option to disable user_data logging * Enforcing debug is disabled, and introduce option to enable debug logging. * add section related to security considerations * add section related to security considerations Co-authored-by: semantic-release-bot <semantic-release-bot@martynus.net> Co-authored-by: Derek Crosson <derekcrosson18@gmail.com>
## [1.12.0](v1.11.0...v1.12.0) (2022-10-12) ### Features * Added the AMI to machine setup info to runner workflows. ([#2451](#2451)) ([e197cbd](e197cbd)) * **images:** add ami for windows core 2022 ([#2390](#2390)) ([97707c2](97707c2)) * Log workflow id in webhook ([#2511](#2511)) ([204acf1](204acf1)) * Security improvements, add option to disable userdata logging ([9a9e2ee](9a9e2ee)), closes [#1019](#1019) [#899](#899) [#1080](#1080) [#748](#748) [#1112](#1112) [#903](#903) [#1082](#1082) [#1133](#1133) [#2](#2) [#1204](#1204) [#1219](#1219) [#1202](#1202) [#1202](#1202) [#1135](#1135) [#1164](#1164) [#1154](#1154) [#1207](#1207) [#1203](#1203) [#1247](#1247) [#1222](#1222) [#1244](#1244) [#1223](#1223) [#1254](#1254) [#1286](#1286) [#1287](#1287) [#1278](#1278) [#1354](#1354) [#1357](#1357) [#1356](#1356) [#1228](#1228) [#1324](#1324) [#1358](#1358) [#1377](#1377) [#1368](#1368) [#1381](#1381) [#1415](#1415) [#1416](#1416) [#1423](#1423) [#1399](#1399) [#1401](#1401) [#1444](#1444) [#1480](#1480) [#1478](#1478) [#1479](#1479) [#1476](#1476) [#1537](#1537) [#1538](#1538) [#1541](#1541) [#1542](#1542) [#1399](#1399) [#1444](#1444) [#1572](#1572) [#1556](#1556) [#1561](#1561) [#1525](#1525) [#1591](#1591) [#1577](#1577) [#1621](#1621) [#1611](#1611) [#1615](#1615) [#1624](#1624) [#1628](#1628) [#1647](#1647) [#1644](#1644) [#1673](#1673) [#1676](#1676) [#1716](#1716) [#1741](#1741) [#1738](#1738) [#1745](#1745) [#1718](#1718) [#1791](#1791) [github.com//pull/1816#issuecomment-1060650668](https://github.com/philips-labs/github.com/philips-labs/terraform-aws-github-runner/pull/1816/issues/issuecomment-1060650668) [#1816](#1816) [#1833](#1833) [#1798](#1798) [#1815](#1815) [#1838](#1838) [#1797](#1797) [#1839](#1839) [#1812](#1812) [#1854](#1854) [#1855](#1855) [#1845](#1845) [#1832](#1832) [#1859](#1859) [#1937](#1937) [#1969](#1969) [#1970](#1970) [#1954](#1954) [#2019](#2019) [#1739](#1739) [#2019](#2019) [#2024](#2024) [#2051](#2051) [#1858](#1858) [#2085](#2085) [#2121](#2121) [#2073](#2073) [#2146](#2146) [#2145](#2145) [#2147](#2147) [#2122](#2122) [#2123](#2123) [#2181](#2181) [#2207](#2207) [#2102](#2102) [#2214](#2214) [#2052](#2052) [#2074](#2074) [#2233](#2233) [#2288](#2288) [#2302](#2302) [#2291](#2291) [#2209](#2209) [#2315](#2315) [#2314](#2314) [#2103](#2103) [#2345](#2345) [#2387](#2387) [#2371](#2371) [#2431](#2431) [#2369](#2369) [#2346](#2346) [#2325](#2325) [#2434](#2434) [#2455](#2455) ### Bug Fixes * Remove resource group from module ([#2512](#2512)) ([2628352](2628352))
## [1.0.0-develop.1](v0.32.0...v1.0.0-develop.1) (2022-11-02) ### ⚠ BREAKING CHANGES * var.volume_size replaced by var.block_device_mappings * The module is upgraded to AWS Terraform provider 4.x ### Features * Add associate_public_ip_address variable to windows AMI too ([philips-labs#1819](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1819)) ([0b8e1fc](0b8e1fc)), closes [/github.com/philips-labs/pull/1816#issuecomment-1060650668](https://github.com/enverus-cts//github.com/philips-labs/terraform-aws-github-runner/pull/1816/issues/issuecomment-1060650668) * Add associate_public_ip_address variable ([philips-labs#1816](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1816)) ([052e9f8](052e9f8)) * Add option for ephemeral to check builds status before scaling ([philips-labs#1854](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1854)) ([7eb0bda](7eb0bda)) * Add option for KMS encryption for cloudwatch log groups ([philips-labs#1833](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1833)) ([3f1a67f](3f1a67f)) * Add option to disable lambda to sync runner binaries ([philips-labs#2314](https://github.com/enverus-cts/terraform-aws-github-runner/issues/2314)) ([9f7d32d](9f7d32d)) * Add option to enable access log for API gateway ([philips-labs#2387](https://github.com/enverus-cts/terraform-aws-github-runner/issues/2387)) ([fcd9fba](fcd9fba)) * Add option to enable detailed monitoring for runner launch template ([philips-labs#2024](https://github.com/enverus-cts/terraform-aws-github-runner/issues/2024)) ([e73a267](e73a267)) * Add option to match some of the labes instead of all [philips-labs#2122](https://github.com/enverus-cts/terraform-aws-github-runner/issues/2122) ([philips-labs#2123](https://github.com/enverus-cts/terraform-aws-github-runner/issues/2123)) ([c5e3c21](c5e3c21)) * Add options extra option to ebs block device mapping ([philips-labs#2052](https://github.com/enverus-cts/terraform-aws-github-runner/issues/2052)) ([7cd2524](7cd2524)) * Add output image id used in launch template ([philips-labs#1676](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1676)) ([a49fab4](a49fab4)) * Add possibility to create multiple ebs ([philips-labs#1845](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1845)) ([7a2ca0d](7a2ca0d)) * add s3_location_runner_distribution var as expandable for userdata ([philips-labs#2371](https://github.com/enverus-cts/terraform-aws-github-runner/issues/2371)) ([05fe737](05fe737)) * Add SQS queue resource policy to improve security ([philips-labs#1798](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1798)) ([96def9a](96def9a)) * Add Support for Alternative Partitions in ARNs (like govcloud) ([philips-labs#1815](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1815)) ([0ba06c8](0ba06c8)) * Add ubuntu-jammy example image based on existing ubuntu-focal ([philips-labs#2102](https://github.com/enverus-cts/terraform-aws-github-runner/issues/2102)) ([486ae91](486ae91)) * Add variable to specify custom commands while building the AMI ([philips-labs#1838](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1838)) ([8f9c342](8f9c342)) * Added the AMI to machine setup info to runner workflows. ([philips-labs#2451](https://github.com/enverus-cts/terraform-aws-github-runner/issues/2451)) ([e197cbd](e197cbd)) * Download runner release via latest release API ([philips-labs#2455](https://github.com/enverus-cts/terraform-aws-github-runner/issues/2455)) ([e75e092](e75e092)) * Enable node16 default ([philips-labs#2074](https://github.com/enverus-cts/terraform-aws-github-runner/issues/2074)) ([58aa5ed](58aa5ed)) * Encrypted data at REST on SQS by default ([philips-labs#2431](https://github.com/enverus-cts/terraform-aws-github-runner/issues/2431)) ([7f3f4bf](7f3f4bf)) * Experimental feature - Duplicate workflow job event to extra queue ([philips-labs#2268](https://github.com/enverus-cts/terraform-aws-github-runner/issues/2268)) ([985e722](985e722)) * Experimental feature - Duplicate workflow job event to extra queue ([philips-labs#2268](https://github.com/enverus-cts/terraform-aws-github-runner/issues/2268)) ([ac046b8](ac046b8)) * **images:** add ami for windows core 2022 ([philips-labs#2390](https://github.com/enverus-cts/terraform-aws-github-runner/issues/2390)) ([97707c2](97707c2)) * **images:** Added ubuntu-focual example packer configuration ([philips-labs#1644](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1644)) ([997b171](997b171)) * **images:** Allow passing instance type when building windows image ([philips-labs#2369](https://github.com/enverus-cts/terraform-aws-github-runner/issues/2369)) ([eca23bf](eca23bf)) * Improve syncer s3 kms encryption ([38ed5be](38ed5be)) * Log workflow id in webhook ([philips-labs#2511](https://github.com/enverus-cts/terraform-aws-github-runner/issues/2511)) ([204acf1](204acf1)) * Parameterise delete_on_termination ([philips-labs#1758](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1758)) ([6282351](6282351)), closes [philips-labs#1745](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1745) * Remove var.volume_size in favour of var.block_device_mappings ([4e97048](4e97048)) * Replace environment variable by prefix ([philips-labs#1858](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1858)) ([e2f9a27](e2f9a27)) * **runner:** Ability to disable default runner security group creation ([philips-labs#1718](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1718)) ([94779f8](94779f8)) * **runner:** Add option to disable auto update ([philips-labs#1791](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1791)) ([c2a834f](c2a834f)) * **runners:** Add support for looking up runner AMI ID from an SSM parameter at instance launch time ([philips-labs#2520](https://github.com/enverus-cts/terraform-aws-github-runner/issues/2520)) ([68e2381](68e2381)) * Security improvements, add option to disable userdata logging ([9a9e2ee](9a9e2ee)), closes [#1019](#1019) [#899](#899) [#1080](#1080) [#748](#748) [#1112](#1112) [#903](#903) [#1082](#1082) [#1133](#1133) [#2](#2) [#1204](#1204) [#1219](#1219) [#1202](#1202) [#1202](#1202) [#1135](#1135) [#1164](#1164) [#1154](#1154) [#1207](#1207) [#1203](#1203) [#1247](#1247) [#1222](#1222) [#1244](#1244) [#1223](#1223) [#1254](#1254) [philips-labs#1286](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1286) [philips-labs#1287](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1287) [philips-labs#1278](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1278) [philips-labs#1354](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1354) [philips-labs#1357](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1357) [philips-labs#1356](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1356) [#1228](#1228) [philips-labs#1324](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1324) [philips-labs#1358](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1358) [philips-labs#1377](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1377) [philips-labs#1368](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1368) [philips-labs#1381](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1381) [philips-labs#1415](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1415) [philips-labs#1416](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1416) [philips-labs#1423](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1423) [philips-labs#1399](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1399) [philips-labs#1401](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1401) [philips-labs#1444](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1444) [philips-labs#1480](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1480) [philips-labs#1478](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1478) [philips-labs#1479](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1479) [philips-labs#1476](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1476) [philips-labs#1537](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1537) [philips-labs#1538](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1538) [philips-labs#1541](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1541) [philips-labs#1542](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1542) [philips-labs#1399](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1399) [philips-labs#1444](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1444) [philips-labs#1572](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1572) [philips-labs#1556](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1556) [philips-labs#1561](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1561) [philips-labs#1525](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1525) [philips-labs#1591](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1591) [philips-labs#1577](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1577) [philips-labs#1621](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1621) [philips-labs#1611](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1611) [philips-labs#1615](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1615) [philips-labs#1624](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1624) [philips-labs#1628](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1628) [philips-labs#1647](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1647) [philips-labs#1644](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1644) [philips-labs#1673](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1673) [philips-labs#1676](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1676) [philips-labs#1716](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1716) [philips-labs#1741](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1741) [philips-labs#1738](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1738) [philips-labs#1745](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1745) [philips-labs#1718](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1718) [philips-labs#1791](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1791) [github.com/philips-labs/pull/1816#issuecomment-1060650668](https://github.com/enverus-cts/github.com/philips-labs/terraform-aws-github-runner/pull/1816/issues/issuecomment-1060650668) [philips-labs#1816](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1816) [philips-labs#1833](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1833) [philips-labs#1798](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1798) [philips-labs#1815](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1815) [philips-labs#1838](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1838) [philips-labs#1797](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1797) [philips-labs#1839](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1839) [philips-labs#1812](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1812) [philips-labs#1854](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1854) [philips-labs#1855](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1855) [philips-labs#1845](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1845) [philips-labs#1832](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1832) [philips-labs#1859](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1859) [philips-labs#1937](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1937) [philips-labs#1969](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1969) [philips-labs#1970](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1970) [philips-labs#1954](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1954) [philips-labs#2019](https://github.com/enverus-cts/terraform-aws-github-runner/issues/2019) [philips-labs#1739](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1739) [philips-labs#2019](https://github.com/enverus-cts/terraform-aws-github-runner/issues/2019) [philips-labs#2024](https://github.com/enverus-cts/terraform-aws-github-runner/issues/2024) [philips-labs#2051](https://github.com/enverus-cts/terraform-aws-github-runner/issues/2051) [philips-labs#1858](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1858) [philips-labs#2085](https://github.com/enverus-cts/terraform-aws-github-runner/issues/2085) [philips-labs#2121](https://github.com/enverus-cts/terraform-aws-github-runner/issues/2121) [philips-labs#2073](https://github.com/enverus-cts/terraform-aws-github-runner/issues/2073) [philips-labs#2146](https://github.com/enverus-cts/terraform-aws-github-runner/issues/2146) [philips-labs#2145](https://github.com/enverus-cts/terraform-aws-github-runner/issues/2145) [philips-labs#2147](https://github.com/enverus-cts/terraform-aws-github-runner/issues/2147) [philips-labs#2122](https://github.com/enverus-cts/terraform-aws-github-runner/issues/2122) [philips-labs#2123](https://github.com/enverus-cts/terraform-aws-github-runner/issues/2123) [philips-labs#2181](https://github.com/enverus-cts/terraform-aws-github-runner/issues/2181) [philips-labs#2207](https://github.com/enverus-cts/terraform-aws-github-runner/issues/2207) [philips-labs#2102](https://github.com/enverus-cts/terraform-aws-github-runner/issues/2102) [philips-labs#2214](https://github.com/enverus-cts/terraform-aws-github-runner/issues/2214) [philips-labs#2052](https://github.com/enverus-cts/terraform-aws-github-runner/issues/2052) [philips-labs#2074](https://github.com/enverus-cts/terraform-aws-github-runner/issues/2074) [philips-labs#2233](https://github.com/enverus-cts/terraform-aws-github-runner/issues/2233) [philips-labs#2288](https://github.com/enverus-cts/terraform-aws-github-runner/issues/2288) [philips-labs#2302](https://github.com/enverus-cts/terraform-aws-github-runner/issues/2302) [philips-labs#2291](https://github.com/enverus-cts/terraform-aws-github-runner/issues/2291) [philips-labs#2209](https://github.com/enverus-cts/terraform-aws-github-runner/issues/2209) [philips-labs#2315](https://github.com/enverus-cts/terraform-aws-github-runner/issues/2315) [philips-labs#2314](https://github.com/enverus-cts/terraform-aws-github-runner/issues/2314) [philips-labs#2103](https://github.com/enverus-cts/terraform-aws-github-runner/issues/2103) [philips-labs#2345](https://github.com/enverus-cts/terraform-aws-github-runner/issues/2345) [philips-labs#2387](https://github.com/enverus-cts/terraform-aws-github-runner/issues/2387) [philips-labs#2371](https://github.com/enverus-cts/terraform-aws-github-runner/issues/2371) [philips-labs#2431](https://github.com/enverus-cts/terraform-aws-github-runner/issues/2431) [philips-labs#2369](https://github.com/enverus-cts/terraform-aws-github-runner/issues/2369) [philips-labs#2346](https://github.com/enverus-cts/terraform-aws-github-runner/issues/2346) [philips-labs#2325](https://github.com/enverus-cts/terraform-aws-github-runner/issues/2325) [philips-labs#2434](https://github.com/enverus-cts/terraform-aws-github-runner/issues/2434) [philips-labs#2455](https://github.com/enverus-cts/terraform-aws-github-runner/issues/2455) * Support arm64 lambda functions ([philips-labs#2121](https://github.com/enverus-cts/terraform-aws-github-runner/issues/2121)) ([9e2a7b6](9e2a7b6)) * Support AWS 4.x Terraform provider ([philips-labs#1739](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1739)) ([cfb6da2](cfb6da2)) * Support multi runner process support for runner scale down. ([philips-labs#1859](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1859)) ([3658d6a](3658d6a)) * Support Node16 for AWS Lambda ([philips-labs#2073](https://github.com/enverus-cts/terraform-aws-github-runner/issues/2073)) ([68a2014](68a2014)) * Support s3 bucket logging for distribution cache bucket ([philips-labs#2430](https://github.com/enverus-cts/terraform-aws-github-runner/issues/2430)) ([69578e0](69578e0)) * Webhook accept jobs where not all labels are provided in job. ([philips-labs#2209](https://github.com/enverus-cts/terraform-aws-github-runner/issues/2209)) ([6d9116f](6d9116f)) ### Bug Fixes * added server_side_encryption key to download trigger for distribution ([philips-labs#2207](https://github.com/enverus-cts/terraform-aws-github-runner/issues/2207)) ([404e3b6](404e3b6)) * Autoupdate should be disabled by default ([philips-labs#1797](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1797)) ([828bed6](828bed6)) * Avoid non semantic commontes can be merged. ([philips-labs#1969](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1969)) ([ad1c872](ad1c872)) * Create SQS DLQ policy only if DLQ is created ([philips-labs#1839](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1839)) ([c88a005](c88a005)) * don't apply extra labels unless defined ([philips-labs#2181](https://github.com/enverus-cts/terraform-aws-github-runner/issues/2181)) ([c0b11bb](c0b11bb)) * Don't delete busy runners ([philips-labs#1832](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1832)) ([0e9b083](0e9b083)) * **examples:** Update AMI filter ([philips-labs#1673](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1673)) ([39c019c](39c019c)) * **examples:** Upgrading ubuntu example to 22.04 ([philips-labs#2250](https://github.com/enverus-cts/terraform-aws-github-runner/issues/2250)) ([d4b7650](d4b7650)), closes [philips-labs#2103](https://github.com/enverus-cts/terraform-aws-github-runner/issues/2103) * Ignore case for runner labels. ([philips-labs#2315](https://github.com/enverus-cts/terraform-aws-github-runner/issues/2315)) ([014985a](014985a)) * **images:** avoid wrong AMI could be selected for ubuntu focal ([philips-labs#2214](https://github.com/enverus-cts/terraform-aws-github-runner/issues/2214)) ([76be94b](76be94b)) * Incorrect path of Runner logs ([philips-labs#2233](https://github.com/enverus-cts/terraform-aws-github-runner/issues/2233)) ([98eff98](98eff98)) * Limit AWS Terraform Provider to 3.* ([philips-labs#1741](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1741)) ([0cf2b5d](0cf2b5d)) * Outputs for pool need to account for complexity ([philips-labs#1970](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1970)) ([2d92906](2d92906)) * Preventing that lambda webhook fails when it tries to process an installation_repositories event ([philips-labs#2288](https://github.com/enverus-cts/terraform-aws-github-runner/issues/2288)) ([8656c83](8656c83)) * Remove asterik in permission for runner lambda to describe instances ([9b9da03](9b9da03)) * Remove resource group from module ([philips-labs#2512](https://github.com/enverus-cts/terraform-aws-github-runner/issues/2512)) ([2628352](2628352)) * replaced old environment variable ([philips-labs#2146](https://github.com/enverus-cts/terraform-aws-github-runner/issues/2146)) ([f2072f7](f2072f7)) * replacing deprecated set-output in workflow ([philips-labs#2564](https://github.com/enverus-cts/terraform-aws-github-runner/issues/2564)) ([aa0afdd](aa0afdd)) * Retention days was used instead of kms key id for pool ([philips-labs#1855](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1855)) ([aa29d93](aa29d93)) * **runner:** Cannot disable cloudwatch agent ([philips-labs#1738](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1738)) ([0f798ca](0f798ca)) * **runner:** Don't treat the string "false" as true. ([philips-labs#2051](https://github.com/enverus-cts/terraform-aws-github-runner/issues/2051)) ([b67c7dc](b67c7dc)) * **runners:** Fetch instance environment tag though metadata ([philips-labs#2346](https://github.com/enverus-cts/terraform-aws-github-runner/issues/2346)) ([27db290](27db290)) * **runners:** Pass allocation strategy ([philips-labs#2345](https://github.com/enverus-cts/terraform-aws-github-runner/issues/2345)) ([68d3445](68d3445)) * **runners:** Set the default Windows AMI to Server 2022 ([philips-labs#2325](https://github.com/enverus-cts/terraform-aws-github-runner/issues/2325)) ([78e99d1](78e99d1)) * set explicit permissions on s3 for syncer lambda ([philips-labs#2145](https://github.com/enverus-cts/terraform-aws-github-runner/issues/2145)) ([aa7edd1](aa7edd1)) * set kms key on aws_s3_object when encryption is enabled ([philips-labs#2147](https://github.com/enverus-cts/terraform-aws-github-runner/issues/2147)) ([b4dc706](b4dc706)) * Set the minimal AWS provider to 3.50 ([philips-labs#1937](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1937)) ([16095d8](16095d8)) * **syncer:** Fix for windows binaries in action runner syncer ([philips-labs#1716](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1716)) ([63e0e27](63e0e27)) * Update ubuntu example to fix /opt/hostedtoolcache ([philips-labs#2302](https://github.com/enverus-cts/terraform-aws-github-runner/issues/2302)) ([8eea748](8eea748)) * Upgrade Amazon base AMI to Amazon Linux 2 kernel 5x ([philips-labs#1812](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1812)) ([9aa5532](9aa5532)) * Volume size is ingored ([philips-labs#2014](https://github.com/enverus-cts/terraform-aws-github-runner/issues/2014)) ([b733248](b733248)), closes [philips-labs#1954](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1954) * Webhook lambda misleading log ([philips-labs#2291](https://github.com/enverus-cts/terraform-aws-github-runner/issues/2291)) ([c6275f9](c6275f9)) * **webhook:** Use `x-hub-signature-256` header as default ([philips-labs#2434](https://github.com/enverus-cts/terraform-aws-github-runner/issues/2434)) ([9c3e495](9c3e495)) * Wrong block device mapping ([philips-labs#2019](https://github.com/enverus-cts/terraform-aws-github-runner/issues/2019)) ([185ef20](185ef20)) * Wrong block device mapping ([philips-labs#2019](https://github.com/enverus-cts/terraform-aws-github-runner/issues/2019)) ([c42a467](c42a467))
Fixes #166
I tested this with our setup and it was working fine. But we only use ephemeral runners.