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
- ..
- background-step.yml
- bare-event-with-settings.yml
- branches-and-ignore.yml
- call-input-type-missing.yml
- call-input-unexpected-property.yml
- call-output-value-missing.yml
- call-secret-unknown-key.yml
- caller-job-env.yml
- caller-secrets-word.yml
- concurrency-unknown.yml
- concurrency-without-group.yml
- container-unknown.yml
- credentials-unknown.yml
- defaults-run-unknown.yml
- defaults-unknown.yml
- dispatch-input-unknown-key.yml
- dispatch-unknown-key.yml
- environment-unknown.yml
- environment-without-name.yml
- g1t-not-mapping.yml
- g1t-not-under-strategy.yml
- job-id-case-duplicate.yml
- job-id-digit.yml
- job-id-dot.yml
- job-id-reserved.yml
- merge-key-list.yml
- merge-key.yml
- on-missing.yml
- permission-metadata.yml
- permission-unknown.yml
- push-branch-typo.yml
- push-inputs.yml
- push-types.yml
- root-true-key.yml
- runs-on-mapping-unknown.yml
- runs-on-missing.yml
- schedule-not-list.yml
- schedule-without-cron.yml
- service-unknown.yml
- shell-on-action-step.yml
- step-id-duplicate.yml
- step-id-invalid.yml
- step-uses-and-run.yml
- steps-mapping.yml
- strategy-unknown.yml
- unknown-event-in-list.yml
- unknown-event-in-mapping.yml
- unknown-event.yml
- unknown-job-key.yml
- unknown-root-key.yml
- unknown-step-key.yml
- uses-and-runs-on.yml
- uses-and-steps.yml
- wait-step.yml
- with-on-run-step.yml