You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit d6d4f19
Browse filesBrowse the repository at this point in the historyBrowse files
# Before writing the pull Secret, prove the credential can read each image this host installs from that registry (with an App token, each org's own image, in the role and in every renewal): exchange it for a registry bearer token and fetch the image's manifest. A token that authenticates but lacks package access is otherwise only found later, as pods stuck in ImagePullBackOff. Uses the registry's /token endpoint, as GHCR provides.
# Scheduling class and local-storage sizing for the platform's own long-running pods (heartbeat, autoscaler, node recovery). Without them the pods run at the default priority with no ephemeral-storage request, so under disk pressure the kubelet ranks them with, or ahead of, the runner pods it should evict first, and the watcher that recovers a node was itself evicted while a node had disk pressure. The priority value only has to sit above 0, the priority every runner pod runs at, and below 1000000000, the ceiling Kubernetes reserves for its own system classes. The storage request is above what these pods write (container logs and kubectl's small cache) so the kubelet never counts them as exceeding it; the limit stops a runaway log from becoming the pressure.
# Runner reaper (see the role README's Runner reaper section, tasks/install_runner_reaper.yml and files/reap-runners.sh): a CronJob in each runner namespace that deletes an EphemeralRunner whose job's workflow run is completed or cancelled, whose own job is completed, or whose job has been running for longer than github_runner_arc_runner_reaper_max_job_seconds; the scale set replaces it. It reads the runs with an installation token from the org's GitHub App restricted to actions: read, so the App needs the Actions repository permission (read) on every repository whose jobs the runners take, approved on its installation. It never deletes a runner that has not been assigned a job, and deletes nothing when GitHub or the token is unavailable. false removes the CronJob, its RBAC and its ConfigMap.
# The collection version this role was released as, stamped by scripts/release/stamp_version.py. The role records it in the platform namespace's deployed-state ConfigMap once a run has applied everything, and the heartbeat publishes it in fleet-health.json. It is what was applied, not what is running.
# The collection version this role was released as, stamped by scripts/release/stamp_version.py. A server host records it as an annotation on its own node once the node has registered, and the heartbeat publishes it in fleet-health.json. It is what was applied, not what is running, and an agent host, which has no API of its own, records nothing.
0 commit comments