Skip to content

refactor(storage): extract runner configuration stores - #5277

Draft
edersonbrilhante wants to merge 6 commits into
mainfrom
refactor-runner-config-storage-provider
Draft

refactor(storage): extract runner configuration stores#5277
edersonbrilhante wants to merge 6 commits into
mainfrom
refactor-runner-config-storage-provider

Conversation

@edersonbrilhante

@edersonbrilhante edersonbrilhante commented Aug 18, 2026

Copy link
Copy Markdown
Contributor

Description

  • Introduce provider-neutral RunnerConfigStore, RunnerGroupCacheStore, and GitHubAppCredentialsStore contracts.
  • Keep aws_ssm as the default for RUNNER_CONFIG_STORAGE_PROVIDER.
  • Move token/JIT writes, runner-group caching, runner-config housekeeping, and GitHub App credential reads into the SSM provider implementation.
  • Keep generic metadata provider-neutral; the SSM adapter alone maps metadata to AWS tags.
  • Remove ssmTokenPath, ssmConfigPath, SSM tag configuration, and direct SSM credential reads from compute-provider and control-plane code.

Existing SSM behavior is preserved: SecureString create-only runner records, plaintext create-only group IDs, legacy paths, configured tag ordering, 40-write pacing, scheduled cleanup, and one batched/decrypted multi-app credential read. The existing ssmHousekeeper Lambda export and Terraform handlers remain unchanged. No Terraform, IAM, or resource changes are included.

Test Plan

  • Full Lambda Vitest suite: 56 files / 877 tests passed.
  • Scale-up tests use provider-neutral store mocks; SSM tag-to-command behavior is covered by the SSM utility tests.
  • Auth and rate-limit tests use provider-neutral credential access; SSM parameter parsing and decoding are covered by the provider tests.
  • Storage-provider, control-plane, and SSM utility TypeScript checks passed.
  • Focused ESLint and Prettier checks passed.
  • Control-plane NCC production bundle built successfully.
  • git diff --check and commit hooks passed.

Related Issues

@github-actions

github-actions Bot commented Aug 18, 2026

Copy link
Copy Markdown
Contributor

Dependency Review

The following issues were found:
  • ✅ 0 vulnerable package(s)
  • ✅ 0 package(s) with incompatible licenses
  • ✅ 0 package(s) with invalid SPDX license definitions
  • ⚠️ 4 package(s) with unknown licenses.
See the Details below.

License Issues

lambdas/functions/control-plane/package.json

PackageVersionLicenseIssue Type
@aws-github-runner/storage-providersNullUnknown License

lambdas/libs/storage-providers/package.json

PackageVersionLicenseIssue Type
@aws-github-runner/aws-powertools-utilNullUnknown License
@aws-github-runner/aws-ssm-utilNullUnknown License
@aws-sdk/client-ssm^3.1009.0NullUnknown License

OpenSSF Scorecard

PackageVersionScoreDetails
npm/@aws-github-runner/storage-providers UnknownUnknown
npm/@aws-github-runner/aws-powertools-util UnknownUnknown
npm/@aws-github-runner/aws-ssm-util UnknownUnknown
npm/@aws-sdk/client-ssm ^3.1009.0 UnknownUnknown
npm/aws-sdk-client-mock ^4.1.0 UnknownUnknown
npm/aws-sdk-client-mock-jest ^4.1.0 UnknownUnknown

Scanned Files

  • lambdas/functions/control-plane/package.json
  • lambdas/libs/storage-providers/package.json

@edersonbrilhante edersonbrilhante changed the title refactor(storage): extract SSM provider refactor(storage): route runtime config through providers Aug 18, 2026
@edersonbrilhante
edersonbrilhante force-pushed the refactor-runner-config-storage-provider branch from a53715b to 127c8f8 Compare August 18, 2026 20:00
@edersonbrilhante edersonbrilhante changed the title refactor(storage): route runtime config through providers refactor(storage): extract runner config store Aug 18, 2026
@edersonbrilhante edersonbrilhante changed the title refactor(storage): extract runner config store refactor(storage): extract runner configuration stores Aug 18, 2026
@edersonbrilhante
edersonbrilhante force-pushed the refactor-runner-config-storage-provider branch from 4726813 to c2a8566 Compare August 19, 2026 13:59
@edersonbrilhante
edersonbrilhante changed the base branch from experimental-multi-runner-config-v2-20260805 to refactor-ec2-provider-isolation August 19, 2026 13:59
@edersonbrilhante
edersonbrilhante force-pushed the refactor-runner-config-storage-provider branch from c2a8566 to 47b53cb Compare August 19, 2026 15:04
@edersonbrilhante
edersonbrilhante changed the base branch from refactor-ec2-provider-isolation to main August 19, 2026 15:04
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.

1 participant