Just-in-time runners for enterprises? #57526
-
Select Topic AreaQuestion BodyHi folks! The just-in-time runners are an amazingly useful feature, but even though the blog post and the security guide mentions that this feature may be available for enterprises, I don't see enterprises being documented for this feature: https://docs.github.com/en/rest/actions/self-hosted-runners?apiVersion=2022-11-28 Can JIT runners be created for enterprises/GHES? Thanks! |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments 4 replies
-
|
I cannot find anything, which maps the api endpoints to GHES versions. They seem to add new apis to the versioned api of last year, maybe as long they do not make breaking changes to the Api.
You can use the actions/runner itself (on linux/macos hosts, windows encrypts a file that makes it less trivial) to create a similar JIT token, otherwise wait for the GHES release. I try to explain the format It is a base64 encoded json structure {
".runner": "base64 of .runner file content",
".credentials": "base64 of .credentials file content",
".credentials_rsaparams": "base64 of .credentials_rsaparams file content"
}Using your own rm .runner # allow to repeat it with a single runner app
./config.sh --unattended --ephemeral --no-default-labels ...
# now create the base64 json by reading the three files created after configure |
Beta Was this translation helpful? Give feedback.
-
|
My own golang actions runner implemention can now create jitconfig tokens like a drop in replacement for the actions api until GHES 3.10.0. It uses the same api as actions/runner, but reimplemented in golang. Using the tool might be even more secure, because your RSA private key is never transfered over the internet # Using runner token
jitconfig="$(github-act-runner configure --ephemeral --disableupdate --no-default-labels --labels <comma seperated labels> --url <registration url> --token <token> --work _work --print-jitconfig --unattended)"
# Using a personal access token / GitHub App installation token
jitconfig="$(github-act-runner configure --ephemeral --disableupdate --no-default-labels --labels <comma seperated labels> --url <registration url> --pat <pat> --work _work --print-jitconfig --unattended)" |
Beta Was this translation helpful? Give feedback.
I cannot find anything, which maps the api endpoints to GHES versions. They seem to add new apis to the versioned api of last year, maybe as long they do not make breaking changes to the Api.
You can use the actions/runner itself (on linux/macos hosts, windows encrypts a file that makes it less trivial) to create a similar JIT token, otherwise wait for the GHES release.
I try to explain the format
It is a base64 encoded json structure
{ ".runner": "base64 of .runner file content", ".credentials": "base64 of .credentials file content", ".credentials_rsaparams": "base64 of .credentials_rsaparams file content" }Using your own
--no-def…