-
Notifications
You must be signed in to change notification settings - Fork 40
Add runner install template management #525
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
Merged
gabriel-samfira
merged 13 commits into
cloudbase:main
from
gabriel-samfira:add-install-script-metadata
Sep 23, 2025
Merged
Add runner install template management #525
gabriel-samfira
merged 13 commits into
cloudbase:main
from
gabriel-samfira:add-install-script-metadata
Sep 23, 2025
Conversation
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
Signed-off-by: Gabriel Adrian Samfira <[email protected]>
Pools and scale sets will automatically migrate to the new template system for runner install scripts. If a pool or a scale set cannot be migrate, it is left alone. It is expected that users set a runner install template manually for scenarios we don't yet have a template for (windows on gitea for example). Signed-off-by: Gabriel Adrian Samfira <[email protected]>
Signed-off-by: Gabriel Adrian Samfira <[email protected]>
Signed-off-by: Gabriel Adrian Samfira <[email protected]>
Signed-off-by: Gabriel Adrian Samfira <[email protected]>
Signed-off-by: Gabriel Adrian Samfira <[email protected]>
Signed-off-by: Gabriel Adrian Samfira <[email protected]>
Signed-off-by: Gabriel Adrian Samfira <[email protected]>
Signed-off-by: Gabriel Adrian Samfira <[email protected]>
Signed-off-by: Gabriel Adrian Samfira <[email protected]>
Signed-off-by: Gabriel Adrian Samfira <[email protected]>
Signed-off-by: Gabriel Adrian Samfira <[email protected]>
Signed-off-by: Gabriel Adrian Samfira <[email protected]>
This was referenced Sep 24, 2025
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.
This change adds the ability to easily manage runner install templates. This feature only takes care of the script that ends up downloading, installing and configuring the runner on providers that use userdata to do so. This does not apply to the kubernetes provider where the image can hold an entrypoint that just parses the bootstrap params and does the right thing.
The rest of the providers require userdata to be injected by the provider, a VM or container needs to spin up, fetch its userdata and run it.
In this scenario, the providers are still responsible for crafting and setting the userdata, but GARM will now supply the runner install template that gets included in the userdata. To do that, we added a new metadata URL that generates and serves the install script.
The userdata installed by the provider is just a small wrapper that does a curl/wget on the API endpoint, gets the actual script and runs it.
This allows us a lot of flexibility in terms of creating new templates or customizing existing ones and setting them on the pool/scale set.
Here is a demo:
templates-demo.mp4