Skip to content
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

feat: use dynamodb instead of ssm for JIT config #4446

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

id
Copy link

@id id commented Feb 27, 2025

Add extra capabilities to support ephemeral multiarch runners.
In workflow jobs with large matrix, github can request large number of runners simultaneously. This can cause the ssm to be overwhelmed.
This PR replaces the ssm with dynamodb to store the JIT config.

Also fixed a couple things:

  • runners_ssm_housekeeper schema was not aligned across modules
  • syntax for env in github_agent.ubuntu.pkr.hcl

Added a couple of improvements:

  • updated baseline provisioning script for prebuilt runners to make it closer to what github hosted runners do
  • startup-runner.sh now automatically discovers attached ebs volume, mounts it to /data, and points root directory for docker and containerd daemons to /data/docker and /data/containerd respectively.

@id id requested review from a team as code owners February 27, 2025 14:31
@id id force-pushed the use-dynamodb-ephemeral-multi-arch-prebuilt-example branch 2 times, most recently from f3d5721 to 89cac18 Compare February 27, 2025 17:21
Add extra capabilities to support ephemeral multiarch runners.
In workflow jobs with large matrix, github can request large number of
runners simultaneously. This can cause the ssm to be overwhelmed.
This PR replaces the ssm with dynamodb to store the JIT config.

Also fixed a couple things:
- `runners_ssm_housekeeper` schema was not aligned across modules
- syntax for `env` in `github_agent.ubuntu.pkr.hcl`

Added a couple of improvements:
- updated baseline provisioning script for prebuilt runners to make it
closer to what github hosted runners do
- startup-runner.sh now automatically discovers attached ebs volume
and mounts it to /data
@id id force-pushed the use-dynamodb-ephemeral-multi-arch-prebuilt-example branch from 1711979 to 16a67b8 Compare February 28, 2025 11:10
@npalm
Copy link
Member

npalm commented Mar 1, 2025

@id thanks for creating the PR. It is abit one so need to find some time to review. I see you also added a lambda for cleaning up github left overs. Would it be possible to split this in a sperate PR? Would help the review and testing part.

Are you on our discord server? Maybe a short chat about some question is quicker when I go over the code.

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.

2 participants