Skip to content
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

Merged
merged 4 commits into from
Mar 25, 2022
Merged

Conversation

ulich
Copy link
Contributor

@ulich ulich commented Mar 9, 2022

Fixes #166

I tested this with our setup and it was working fine. But we only use ephemeral runners.

@ulich
Copy link
Contributor Author

ulich commented Mar 9, 2022

@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.

Copy link
Member

@npalm npalm left a 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 active
  • busy 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?

@ulich
Copy link
Contributor Author

ulich commented Mar 15, 2022

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?

@npalm
Copy link
Member

npalm commented Mar 15, 2022

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?

@ulich
Copy link
Contributor Author

ulich commented Mar 15, 2022

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 status != active

@ulich
Copy link
Contributor Author

ulich commented Mar 15, 2022

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?

@samuelb
Copy link
Contributor

samuelb commented Mar 15, 2022

What about not using caching when getting the list of runners (listGitHubRunners())? Then there shouldn't be any significant delay between getting the current state of the runner and sending the deletion requests.

@ulich
Copy link
Contributor Author

ulich commented Mar 16, 2022

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?

@krlydm
Copy link
Contributor

krlydm commented Mar 17, 2022

Apologize for the duplicated work, but I believe the scale down improvement I made in #1859 is also addressing the problem reported in #166 and implemented by this PR. Feel free to raise any question about it.

@ulich
Copy link
Contributor Author

ulich commented Mar 17, 2022

I now tested the code checking for status but actually the value for me always was online. So I think the busy flag is the way to go

@npalm
Copy link
Member

npalm commented Mar 17, 2022

I now tested the code checking for status but actually the value for me always was online. So I think the busy flag is the way to go

I will ask the GitHub team if the can point to docs or the meaning of busy. I don't like educated guesses

Copy link
Member

@npalm npalm left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@ulich Thanks, LGTM

@npalm npalm merged commit 0e9b083 into philips-labs:develop Mar 25, 2022
forest-releaser bot pushed a commit that referenced this pull request Mar 25, 2022
## [0.39.0](v0.38.0...v0.39.0) (2022-03-25)

### Features

* Add possibility to create multiple ebs ([#1845](#1845)) ([7a2ca0d](7a2ca0d))

### Bug Fixes

* Don't delete busy runners ([#1832](#1832)) ([0e9b083](0e9b083))
enverus-github-action-app-token bot pushed a commit to enverus-cts/terraform-aws-github-runner that referenced this pull request Mar 25, 2022
## [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))
enverus-github-action-app-token bot pushed a commit to enverus-cts/terraform-aws-github-runner that referenced this pull request Mar 29, 2022
## [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))
ulich added a commit to ulich/terraform-aws-github-runner that referenced this pull request Mar 31, 2022
* 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>
ulich pushed a commit to ulich/terraform-aws-github-runner that referenced this pull request Mar 31, 2022
## [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))
npalm added a commit that referenced this pull request Oct 11, 2022
* 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>
forest-releaser bot pushed a commit that referenced this pull request Oct 12, 2022
## [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))
enverus-github-action-app-token bot pushed a commit to enverus-cts/terraform-aws-github-runner that referenced this pull request Nov 2, 2022
## [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))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Improve runner deletion by using busy flag
4 participants