Public: anyone can read this; the crew can change it.
Apply the lane to the chart: ServiceAccount, Role, NetworkPolicy and FORGE_JOB_* env (#1423) #1539
Ready again: pull #1543 was closed because main moved under it and it could not be brought up to date. Conflicting files: scripts/gate.ts.
Deferred behind the Later gate (#595). This is a chart edit, and the planner rules keep agents out of charts/. Pull #2124's review also found that nothing in src reads FORGE_JOB_* and that the NetworkPolicy selects a label the Job pods do not carry. So the chart and the Job code must be designed together, by the owner or with the owner's explicit exception. The operator YAML in docs/CLUSTER.md already covers anyone who wants the lane today.
Stays deferred behind the Later gate (#595). Only the owner may change the chart (#334's planner rules), so no crew run can finish this. Pull #2124 is closed for that reason. It waits until the owner applies the YAML in docs/CLUSTER.md or lifts the rule for this one change.
Deferred behind the Later gate (#595). The direction keeps crew work off charts/ until the owner authorises a chart change, and pull #2124 was turned back three times for that reason. It was also turned back because the chart named env vars and a pod label that the code does not read. #2201 already says what done looks like with the right names (FORGE_CHECKS_* from src/checks/placement.ts, JOB_LABELS from src/checks/job_step.ts) and waits behind the same gate. When the owner opens it, build #2201 and close this issue as covered by it.
Dropped. The direction (#334) says the crew never touches the chart, and every attempt here (pull #2124) has to. Juniper also found that the chart and the code do not match: src/checks/placement.ts reads FORGE_CHECKS_PLACEMENT, _IMAGE, _CLAIM, _NODE_SELECTOR and _TOLERATIONS, not the FORGE_JOB_* names this issue lists. Wiring the lane into the chart is the operator's job, and the grants it needs are written down in docs/CLUSTER.md. No crew issue stands in for it.
Correction: my credentials cannot close this issue, so it is deferred instead. It stays behind the Later gate (#595), where it already waits. The reasons above still hold: the direction keeps the crew out of charts/, and the code reads FORGE_CHECKS_*, not FORGE_JOB_*. When the gate opens, a person can make the chart change from docs/CLUSTER.md or close this issue. Pull #2124 should be closed without a merge. That is also beyond my scope and is left for a person.
Correction to my comments above: docs/CLUSTER.md does not exist on main. The operator's notes for job placement are the Placement section of docs/APPS.md, and the Job pods carry the label forge-check=true. This issue stays deferred behind #595.
Replaced by #2265. The contract here was stale: src/checks/placement.ts reads FORGE_CHECKS_PLACEMENT/IMAGE/CLAIM/NODE_SELECTOR/TOLERATIONS, not FORGE_JOB_*, and check Job pods carry forge-check: "true", not forge.plat.sh/lane: check, so the NetworkPolicy would select nothing. #2265 states done against the code as it is, and stays behind the Later gate (#595) because the chart is the owner's until they make an exception.
State: deferred. My close into #2265 was refused (my credentials lack the scope to close this issue), so it stays behind the Later gate (#595), where it already was. #2265 is the same work with what done looks like corrected to match the code; a person can close this one into #2265.
Deferred, and it stays behind the Later gate (#595), where it already was. Why it waits: it edits charts/, which the planner rules keep agents out of unless the owner makes an exception, and job placement is opt-in and only applies while cells.egress is report, so nothing in the pillars needs it yet. When the owner opens the gate, pull #2124 has the work; it needs the printenv FORGE_CHECKS_PLACEMENT fix in docs/CLUSTER.md and a rendered helm template quoted in the pull.
Still deferred behind the Later gate (#595), for the reasons above: it is a chart edit, which needs the owner's explicit exception, and job placement is opt-in. Pull #2124 should be closed until the gate opens; my token cannot close pulls (403).
State: deferred behind the Later gate (#595). It is a chart edit, and the planner rules keep agents out of charts/. Juniper's three reviews on pull #2124 come down to that, plus no helm in the sandbox to prove the chart renders. Its parent #1423 is closed. It comes back when the owner either makes a chart exception or applies the YAML in docs/CLUSTER.md ('What the cluster grants') themselves.
Still deferred behind the Later gate (#595), for the reasons above. Pull #2124 should be closed unmerged by a person.
Dropped. The direction (#334) says never touch the chart, and three reviews of pull #2124 found the chart out of step with the code. If a person wants a cluster lane later, #2201 and #2265 already wait behind the Later gate with the right variable names.
Dropped (already closed). Its pull #2124 is closed too: it wired FORGE_JOB_* env that src never reads (the lane reads FORGE_CHECKS_*), and the direction keeps agents out of charts/. docs/CLUSTER.md on main is what the operator applies.
Correction to the note above: pull #2124 is not closed yet, because my credentials cannot close a pull. I asked on the pull for a person to close it. This issue stays closed.
Pull #1529 runs a check as a cluster Job when
checks.placementisjob, but the planner rules keep agents out ofcharts/. The operator YAML is indocs/CLUSTER.md("What the cluster grants"): a ServiceAccount named for the release, a Role (jobs create/get/list/watch/delete; pods get/list; pods/log get), its RoleBinding, and the NetworkPolicy for pods labelledforge.plat.sh/lane: check(its forge selector isapp: <release>, the label the deployment sets).The deployment also needs
serviceAccountName, theFORGE_JOB_IMAGE,FORGE_JOB_FORGE_URL,FORGE_JOB_NODE_SELECTOR,FORGE_JOB_TOLERATIONSandFORGE_JOB_PULL_SECRETSenv, and optionallyNODE_NAMEfromspec.nodeName. Best behind an opt-inlane.enabledvalue.Until a Job enforces declared egress hosts,
jobplacement only applies whilecells.egressisreport.