feat(scale-set): add scale set orchestration in Terraform - #5299
Open
edersonbrilhante wants to merge 18 commits into
Open
edersonbrilhante wants to merge 18 commits into
edersonbrilhante wants to merge 18 commits into
Conversation
Contributor
Dependency Review✅ No vulnerabilities or license issues or OpenSSF Scorecard issues found.Scanned FilesNone |
edersonbrilhante
marked this pull request as draft
August 26, 2026 13:59
edersonbrilhante
force-pushed
the
experimental-multi-runner-config-v2-20260805
branch
2 times, most recently
from
September 2, 2026 20:18
5eafe5c to
2b6bb21
Compare
edersonbrilhante
changed the base branch from
experimental-multi-runner-config-v2-20260805
to
refactor-runner-config-module
September 3, 2026 19:59
edersonbrilhante
force-pushed
the
refactor-runner-config-module
branch
2 times, most recently
from
September 3, 2026 20:03
c979cbb to
4d9e31c
Compare
edersonbrilhante
force-pushed
the
feat-scale-set-terraform
branch
from
September 3, 2026 20:05
b95c8c0 to
28c31de
Compare
edersonbrilhante
changed the base branch from
refactor-runner-config-module
to
experimental-multi-runner-config-v2-20260805
September 3, 2026 20:05
edersonbrilhante
changed the base branch from
experimental-multi-runner-config-v2-20260805
to
fix-multi-runner-v2-routing
September 3, 2026 20:21
edersonbrilhante
force-pushed
the
feat-scale-set-terraform
branch
2 times, most recently
from
September 3, 2026 21:13
5ab14e1 to
4375247
Compare
edersonbrilhante
force-pushed
the
fix-multi-runner-v2-routing
branch
from
September 3, 2026 21:19
00c76ce to
01c4a78
Compare
edersonbrilhante
force-pushed
the
feat-scale-set-terraform
branch
from
September 3, 2026 21:24
4375247 to
de5869c
Compare
edersonbrilhante
force-pushed
the
fix-multi-runner-v2-routing
branch
from
September 3, 2026 21:40
01c4a78 to
5b2fbf4
Compare
edersonbrilhante
force-pushed
the
feat-scale-set-terraform
branch
from
September 3, 2026 21:42
de5869c to
8ac821d
Compare
edersonbrilhante
force-pushed
the
fix-multi-runner-v2-routing
branch
from
September 3, 2026 21:52
5b2fbf4 to
afc760b
Compare
edersonbrilhante
force-pushed
the
feat-scale-set-terraform
branch
from
September 3, 2026 21:53
8ac821d to
a3773f7
Compare
edersonbrilhante
changed the base branch from
fix-multi-runner-v2-routing
to
microvm-multi-runner-terraform
September 3, 2026 22:03
edersonbrilhante
changed the base branch from
microvm-multi-runner-terraform
to
microvm-multi-runner-integration-split
September 3, 2026 22:04
edersonbrilhante
changed the base branch from
microvm-multi-runner-integration-split
to
fix-multi-runner-v2-routing
September 3, 2026 22:04
edersonbrilhante
force-pushed
the
fix-multi-runner-v2-routing
branch
from
September 4, 2026 17:59
afc760b to
e17ae16
Compare
edersonbrilhante
changed the base branch from
fix-multi-runner-v2-routing
to
remove-v2-legacy-input-requirements
September 4, 2026 18:08
edersonbrilhante
changed the base branch from
remove-v2-legacy-input-requirements
to
add-multi-runner-v2-example
September 4, 2026 18:10
edersonbrilhante
changed the base branch from
add-multi-runner-v2-example
to
main
September 4, 2026 18:12
edersonbrilhante
changed the base branch from
main
to
add-multi-runner-v2-example
September 4, 2026 18:12
edersonbrilhante
force-pushed
the
add-multi-runner-v2-example
branch
7 times, most recently
from
September 10, 2026 09:09
4ea1b14 to
69cdafe
Compare
edersonbrilhante
force-pushed
the
feat-scale-set-terraform
branch
from
September 10, 2026 10:19
961f608 to
470a284
Compare
edersonbrilhante
force-pushed
the
add-multi-runner-v2-example
branch
from
September 10, 2026 12:22
8879acc to
23fe569
Compare
guicaulada
reviewed
Sep 16, 2026
guicaulada
left a comment
Contributor
There was a problem hiding this comment.
Nice work on this! The overall approach looks good to me, but we should address the enterprise scope configuration and IAM role-name limits before merging. I’ve added details inline.
## Description Wire scale-set orchestration through the provider-aware Terraform composition. - Resolve global and per-lane scale-set settings into the canonical runner configuration. - Route scale-set lanes through `runner-config` and the scale-set orchestration provider. - Extend the EC2 provider contract with the scale-set runtime configuration, IAM fragments, and outputs consumed by the controller. - Gate webhook resources by the selected orchestration provider. - Add scale-set validation and Terraform coverage across the affected modules. This PR provides the Terraform wiring used by the scale-set example and the later MiniStack integration PRs. ## Test Plan - Terraform formatting, validation/TFLint, and merge-conflict checks passed through the repository hooks. - Scale-set routing and configuration-resolution tests passed. - Multi-runner and runner-config scale-set Terraform tests passed. - Native provider tests remain subject to the local macOS arm64 plugin-handshake limitation. ## Related Issues Depends on #5299. --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
## Description Restore the multi-runner scale-set orchestration example removed by revert PR #5403, replacing merged PR #5378. The example provides the Terraform configuration, provider locks, outputs, and documentation needed to deploy an ECS scale-set controller with the EC2 runner compute provider. It is intentionally limited to the example and its generated/provider metadata; the reusable MiniStack fixture support and ECS/MockServer lifecycle smoke test are provided by the follow-up PRs. ## Test Plan - Terraform formatting passed through the repository hooks. - Merge-conflict checks passed. - Parent-branch Terraform checks passed after the idle-configuration correction. - No live AWS deployment was performed for this example-only PR; CI validation remains the authoritative deployment check. ## Related Issues Depends on #5350. Replaces #5378. --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Adds Terraform support for experimental GitHub Actions runner scale-set orchestration in the multi-runner v2 interface.
This PR includes:
modules/orchestration-providers/scale-setmodule that deploys one ECS Fargate controller service per resolved controller group, including the ECS cluster/service/task definition, private networking, security groups, CloudWatch logging, health checks, deployment rollback, and hardened task settings.for_eachinputs, provider contracts, configuration and task-definition size limits, reserved environment variables, wildcard IAM actions, and AWS inline-policy quotas.examples/multi-runner-scale-setexample, MiniStack fixtures, and CI updates for the new Terraform path.The module adopts scale sets that exist in GitHub by name; it does not create or delete GitHub scale-set resources. The TypeScript controller that consumes this Terraform contract is implemented in #5300.
Test Plan
Related Issues