-
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
Implement multi runner process support for runner scale down. #1859
Conversation
@krlydm please can you rebase this PR? |
Could you share the setup to run multiple runners on a single instance as an example in a PR as well? |
I'm using custom install and setup scripts to configure multiple runners, do you want me to create a new packer template under images or I even thinking about introducing a new config, something like |
@krlydm Sorry for keep you waiting, but need some time to test an actual deployment of this PR. Hope to be able to run a test early next week. Sorry for the delay. Thanks for the contribution! |
@krlydm sorry still not time, the PR is still on my radar! |
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.
@krlydm looks good, thanks!
close #166 |
I'd like to use this new feature myself ... I had one question @krlydm ... when setting up new runners with multiple installations are you able to re-use the same token stored on SSM? Currently the scale-up puts the required url and token as a SecureString in SSM. And would you have a way to share your packer templates with multiple installation for me to take a look at? |
You have to have your own configure and start runner scripts, which downloads the GitHub runner and extracts it to folders based on how much runner process you want. I'm using the PowerShell scripts as an example, but same thing can be applied for linux as well. Based on the Windows image example, the following script is doing this:
The change you have to do is to place a for loop here an exact runners in a numbered folder, like C:\actions-runner\1 , C:\actions-runner\2 , etc.
for ($i = 1; $i -le 2; $i++)
{
New-Item -ItemType Directory -Path C:\actions-runner\$i
Write-Host "Un-zip action runner"
Expand-Archive -Path actions-runner.zip -DestinationPath ./$i
} Once you have the configuration part, you need an own setup script, because a similar for loop is needed there, GitHub runner config and run calls are needed to be called on each numbered folder with the proper agent naming: for ($i = 1; $i -le 2; $i++)
{
Set-Location C:\actions-runner\$i
$configCmd = ".\config.cmd --unattended --name $InstanceId-$i --work `"_work`" $config"
Write-Host "Configure GH Runner as user $run_as"
Invoke-Expression $configCmd
...
}
|
Ah I see! And you were able to re-use the same |
## [1.0.0](v0.33.0...v1.0.0) (2022-05-25) ### ⚠ BREAKING CHANGES * var.volume_size replaced by var.block_device_mappings * The module is upgraded to AWS Terraform provider 4.x ### Features * 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)) * change master branch to main ([76ba9d2](76ba9d2)) * Improve syncer s3 kms encryption ([38ed5be](38ed5be)) * 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)) * 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)) * trigger release ([6e1602e](6e1602e)) * update release trigger ([05da49a](05da49a)) ### Bug Fixes * Avoid non semantic commontes can be merged. ([philips-labs#1969](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1969)) ([ad1c872](ad1c872)) * Outputs for pool need to account for complexity ([philips-labs#1970](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1970)) ([2d92906](2d92906)) * **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)) * Set the minimal AWS provider to 3.50 ([philips-labs#1937](https://github.com/enverus-cts/terraform-aws-github-runner/issues/1937)) ([16095d8](16095d8)) * 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) * 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))
* 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))
Current scale down implementation does not support the use case when multiple GH runner processes running on an instance, which can be a valid use case. This change is handling this on scale down lambda side, so whenever a prebuilt image is configured to start multiple runner processes on an instance, scale down can handle the idle/active situation on a single instance by checking busy state of the runner. The only restriction is that whenever multiple GH runner processes started their name must start with the instance id (as like currently GH runner name is the instance ID).
This change is a possible fix to solve the issue reported in #166.
Feel free to question or reject my change, I was thinking about opening a new issue, but it was easier to implement than ask. I'm open to discuss this further.