Skip to content

SSM Parameter Size Limit Hit for Runner Matcher Config #4790

@edersonbrilhante

Description

@edersonbrilhante

Description:

Currently, when updating the SSM Parameter /github-action-runners/my-prefix/webhook/runner-matcher-config, we occasionally hit the AWS SSM size limit for standard parameters:

Error: updating SSM Parameter (/github-action-runners/my-prefix/webhook/runner-matcher-config): 
operation error SSM: PutParameter, https response error StatusCode: 400, RequestID: ..., 
api error ValidationException: Standard tier parameters support a maximum parameter value of 4096 characters. 
To create a larger parameter value, upgrade the parameter to use the advanced-parameter tier.

This is caused by the number of labels per runner type combined with the number of runner types exceeding the 4096-character limit.

Proposed Solutions / Improvements:

  1. Support multiple SSM parameters via environment variable:
    Update PARAMETER_RUNNER_MATCHER_CONFIG_PATH to accept multiple parameter paths, separated by a colon. Example:

    /github-action-runners/my-prefix/webhook/runner-matcher-config-1:/github-action-runners/my-prefix/webhook/runner-matcher-config-2
    

    This would allow the matcher config to be split across multiple SSM parameters.

  2. Use S3 for storing the matcher config:
    Instead of storing the full JSON in a single SSM parameter, allow the environment variable to point to an S3 path containing the matcher config JSON.

Impact:

  • Avoid hitting SSM size limits for large runner configurations.
  • Improve scalability as the number of labels and runner types grows.

References:

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions