syntaqxBrokered secrets work on self-hosted runners whose jobs run on Linux or macOS, and the value still never reaches the runner's computer. The job keeps its stand-in; a harness that can broker says so when it fetches its spec (`broker`), and the spec then lists each stand-in's hosts (`brokered`), never a value. The harness runs a proxy for the job on 127.0.0.1 and gives the steps HTTPS_PROXY, NODE_USE_ENV_PROXY and the trusted-certificate variables g1t's own sandboxes set (SSL_CERT_FILE, NODE_EXTRA_CA_CERTS, REQUESTS_CA_BUNDLE, CURL_CA_BUNDLE, PIP_CERT, GIT_SSL_CAINFO, CARGO_HTTP_CAINFO), each pointing at what it pointed at before with the job's certificate added. HTTPS to any other host is a plain tunnel. HTTPS to a brokered host is opened with a certificate from an authority made for that job alone, name-constrained to the brokered hosts and with its key only in memory; each request on it that carries one of the job's stand-ins goes to POST /actions/jobs/{job}/broker with the job's current token in Authorization, and a request without one goes straight to the host on a connection of its own.c1606d3History
- ..
- anchors.yml
- artifacts.yml
- branches-ignore.yml
- cache.yml
- codeql.yml
- concurrency.yml
- container-job.yml
- defaults.yml
- dependabot-automerge.yml
- description-and-env.yml
- docker-action.yml
- docker-publish.yml
- environments.yml
- g1t-extension.yml
- go.yml
- if-expressions.yml
- issue-comment.yml
- java-gradle.yml
- job-options.yml
- labeler.yml
- many-events.yml
- matrix-from-json.yml
- max-parallel-expression.yml
- merge-queue.yml
- multiline-and-quotes.yml
- needs-outputs.yml
- node-matrix.yml
- on-null-events.yml
- pages.yml
- permissions-all.yml
- pr-review.yml
- pr-target-paths.yml
- publish-npm.yml
- python-package.yml
- release-on-tag.yml
- repository-dispatch.yml
- reusable-called.yml
- reusable-caller.yml
- runs-on-forms.yml
- rust-ci.yml
- sccache-like.yml
- schedule.yml
- services-postgres.yml
- single-event-string.yml
- stale.yml
- step-options.yml
- workflow-call-and-dispatch.yml
- workflow-dispatch-inputs.yml
- workflow-run.yml