The self-hosted runner can generate a fresh proxy auth token for every outbound connection.
What's wrong with this entry?
The self-hosted runner can now authenticate to an outbound HTTP proxy with a token it generates fresh for every connection, via --proxy-authorization-command / SELF_HOSTED_RUNNER_PROXY_AUTHORIZATION_COMMAND or --proxy-authorization-file / SELF_HOSTED_RUNNER_PROXY_AUTHORIZATION_FILE. Set exactly one. It is off unless you set it, and the help text says it is not yet supported with the orchestrator subcommand.
- With it set, the runner starts a small forwarding proxy on 127.0.0.1 that injects the header, then points HTTPS_PROXY/HTTP_PROXY at itself for the runner and every session it spawns, clearing the other proxy variables. NO_PROXY is left alone.
- The command is re-run, or the file re-read, for each new connection, so rotating tokens stay current. The value is never logged.
- The real upstream proxy must be named by HTTPS_PROXY or HTTP_PROXY, and must be
http://orhttps://. ALL_PROXY alone is rejected. - The listener is brought up before the runner registers; if it cannot start, the runner prints a
[runner:fatal]line and exits with code 1. - Both new environment variables are stripped from the environment handed to child processes, alongside the existing pool and environment secrets. Configured runs report
self_hosted_egress_proxy_auth.
SELF_HOSTED_RUNNER_PROXY_AUTHORIZATION_COMMAND, set only one of --proxy-authorization-command (SELF_HOSTED_RUNNER_PROXY_AUTHORIZATION_COMMAND) and --proxy-authorization-file (SELF_HOSTED_RUNNER_PROXY_AUTHORIZATION_FILE), [runner:fatal] could not start the proxy-authorization listener:
Strings lifted out of the shipped bundle, so the claim above can be checked against them.
Related
Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.
-
v2.1.234
Self-hosted runners report when warm-up finished
Both mention self hosted runner
-
v2.1.236
Self-hosted runner releases a session only after its work finishes
Both mention self hosted runner
-
v2.1.236
Runner waits for sessions to be released before shutting down
Both mention self hosted runner