refactor(storage): make runner config store provider-neutral - #5277
Open
edersonbrilhante wants to merge 5 commits into
Open
refactor(storage): make runner config store provider-neutral#5277edersonbrilhante wants to merge 5 commits into
edersonbrilhante wants to merge 5 commits into
Conversation
Contributor
Dependency ReviewThe following issues were found:
License Issueslambdas/functions/control-plane/package.json
lambdas/libs/compute-providers/package.json
lambdas/libs/storage-providers/package.json
OpenSSF Scorecard
Scanned Files
|
edersonbrilhante
force-pushed
the
refactor-runner-config-storage-provider
branch
from
August 18, 2026 20:00
a53715b to
127c8f8
Compare
edersonbrilhante
force-pushed
the
refactor-runner-config-storage-provider
branch
from
August 19, 2026 13:59
4726813 to
c2a8566
Compare
edersonbrilhante
changed the base branch from
experimental-multi-runner-config-v2-20260805
to
refactor-ec2-provider-isolation
August 19, 2026 13:59
edersonbrilhante
force-pushed
the
refactor-runner-config-storage-provider
branch
from
August 19, 2026 15:04
c2a8566 to
47b53cb
Compare
edersonbrilhante
changed the base branch from
refactor-ec2-provider-isolation
to
main
August 19, 2026 15:04
edersonbrilhante
force-pushed
the
refactor-runner-config-storage-provider
branch
from
September 3, 2026 12:01
47b53cb to
ce6a33c
Compare
This was referenced Sep 3, 2026
edersonbrilhante
force-pushed
the
refactor-runner-config-storage-provider
branch
2 times, most recently
from
September 4, 2026 10:36
64d50ae to
dea22a1
Compare
edersonbrilhante
force-pushed
the
refactor-runner-config-storage-provider
branch
from
September 4, 2026 11:19
dea22a1 to
2bbceef
Compare
edersonbrilhante
marked this pull request as ready for review
September 7, 2026 13:53
Contributor
There was a problem hiding this comment.
🟢 Approval recommended
The refactor preserves existing SSM behavior, with only non-blocking dependency and coverage-configuration cleanup remaining.
Pull request overview
Introduces a provider-neutral runner configuration store while retaining SSM as the current backend.
Changes:
- Adds the
RunnerConfigStorecontract and SSM adapter. - Routes registration-token and JIT configuration writes through the store.
- Updates metadata contracts, dependencies, tests, and throughput pacing.
File summaries
| File | Description |
|---|---|
lambdas/yarn.lock |
Registers workspace dependencies. |
lambdas/libs/storage-providers/vitest.config.ts |
Configures package tests and coverage. |
lambdas/libs/storage-providers/tsconfig.json |
Configures TypeScript compilation. |
lambdas/libs/storage-providers/runner-config.ts |
Selects the SSM implementation. |
lambdas/libs/storage-providers/runner-config.test.ts |
Tests store creation. |
lambdas/libs/storage-providers/package.json |
Defines the new workspace package. |
lambdas/libs/storage-providers/index.ts |
Exports the public storage API. |
lambdas/libs/storage-providers/environment.d.ts |
Declares provider environment typing. |
lambdas/libs/storage-providers/core/index.ts |
Defines provider-neutral contracts. |
lambdas/libs/storage-providers/aws/ssm/runner-config-store.ts |
Implements SSM storage. |
lambdas/libs/storage-providers/aws/ssm/runner-config-store.test.ts |
Tests SSM behavior. |
lambdas/libs/storage-providers/aws/ssm/parameter-store-tags.ts |
Parses and validates SSM tags. |
lambdas/libs/storage-providers/aws/ssm/environment.d.ts |
Declares SSM environment variables. |
lambdas/libs/compute-providers/package.json |
Updates workspace dependencies. |
lambdas/libs/compute-providers/core/index.ts |
Neutralizes runner metadata contracts. |
lambdas/libs/compute-providers/aws/ec2/src/control-plane/scale-up.test.ts |
Updates EC2 metadata expectations. |
lambdas/libs/compute-providers/aws/ec2/src/control-plane/runner-creation.ts |
Produces neutral runner metadata. |
lambdas/functions/control-plane/src/scale-runners/scale-up.ts |
Removes token-path coupling. |
lambdas/functions/control-plane/src/scale-runners/scale-up.test.ts |
Updates scale-up integration tests. |
lambdas/functions/control-plane/src/scale-runners/scale-up-contract.test.ts |
Supplies adapter environment configuration. |
lambdas/functions/control-plane/src/scale-runners/github-runner.ts |
Writes configurations through the store. |
lambdas/functions/control-plane/src/pool/pool.ts |
Removes token-path coupling from pools. |
lambdas/functions/control-plane/src/pool/pool-contract.test.ts |
Configures SSM for contract tests. |
lambdas/functions/control-plane/src/modules.d.ts |
Removes obsolete local environment typing. |
lambdas/functions/control-plane/package.json |
Adds the storage package dependency. |
Review details
- Files reviewed: 21/25 changed files
- Comments generated: 3
- Review effort level: Balanced
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Comment on lines
+9
to
+11
| coverage: { | ||
| include: ['index.ts', 'runner-config.ts', 'core/**/*.ts', 'aws/**/*.ts'], | ||
| exclude: ['**/*.test.ts', '**/*.d.ts'], |
| "dependencies": { | ||
| "@aws-github-runner/aws-powertools-util": "*", | ||
| "@aws-github-runner/aws-ssm-util": "*", | ||
| "@aws-github-runner/storage-providers": "*", |
Comment on lines
+19
to
+21
| "@aws-github-runner/aws-powertools-util": "*", | ||
| "@aws-github-runner/aws-ssm-util": "*", | ||
| "@aws-sdk/client-ssm": "^3.1009.0" |
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
Introduces the provider-neutral
RunnerConfigStorecontract and moves the existing SSM implementation behind it. Scale-up and runner creation now write registration-token or JIT configuration through the store'screateoperation, while SSM-specific parameter paths, tags, encryption behavior, and environment parsing stay in the AWS adapter.The adapter preserves the existing stored values and metadata, exposes its maximum write throughput so callers can pace batches without hard-coding SSM limits, and accepts provider-neutral runner metadata that is translated into SSM tags. This establishes the storage boundary without adding another backend or changing Terraform resource addresses.
Test Plan
git diff --checkpassed.Related Issues