Harden ops run identity and leases
Assistant: codex Assistant-Model: gpt-5.6-sol Assistant-Session: 01a028de-e2c8-7732-8521-46a7fc5db82f
This commit is contained in:
parent
36161d346f
commit
f0a897e088
13 changed files with 522 additions and 50 deletions
|
|
@ -59,7 +59,9 @@ workplan task file. Not an issue-core or Forgejo ticket.
|
|||
- `labels_mode`: `any` (default) — run must contain at least one listed label;
|
||||
`all` — run must contain every listed label; omit `labels` to claim any open run.
|
||||
- Claim uses `FOR UPDATE SKIP LOCKED` for concurrency safety.
|
||||
- Stale claims (`state=claimed` and `lease_until < now()`) are reopened before select.
|
||||
- Stale claims (`state=claimed` and `lease_until <= now()`) are reopened before select.
|
||||
- Heartbeat, complete, and fail lock the row and require an active lease
|
||||
(`lease_until > now()`). An expired worker cannot revive or close its claim.
|
||||
|
||||
### Complete / fail body
|
||||
|
||||
|
|
@ -150,9 +152,14 @@ model output are persisted or returned.
|
|||
## Auth
|
||||
|
||||
- **Worker:** `ACTIVITY_CORE_WORKER_TOKEN` via `X-Worker-Token` or
|
||||
`Authorization: Bearer` (same value accepted on claim/complete/fail/heartbeat).
|
||||
- **Operator:** existing ops SSO / `ACTIVITY_CORE_OPERATOR_TOKEN` for list/status.
|
||||
- **Local dev:** `ACTIVITY_CORE_OPS_ALLOW_UNAUTH_MUTATIONS=1` when no tokens set.
|
||||
`Authorization: Bearer`, bound to the exact non-secret
|
||||
`ACTIVITY_CORE_WORKER_ID`. The body `worker_id` is a compatibility field and
|
||||
must match that authenticated identity on claim/complete/fail/heartbeat.
|
||||
- **Operator:** existing ops SSO / `ACTIVITY_CORE_OPERATOR_TOKEN` for
|
||||
list/status and explicit lease expiry; operator credentials are not accepted
|
||||
as worker mutation identities.
|
||||
- **Local dev:** `ACTIVITY_CORE_OPS_ALLOW_UNAUTH_MUTATIONS=1` is required when
|
||||
no tokens are set. There is no implicit open mode.
|
||||
|
||||
## Env
|
||||
|
||||
|
|
@ -162,6 +169,7 @@ model output are persisted or returned.
|
|||
| `OPS_RUN_LEASE_SECONDS` | `900` | Default claim lease |
|
||||
| `OPS_RUN_MAX_ATTEMPTS` | `3` | Fail permanently after N claims |
|
||||
| `ACTIVITY_CORE_WORKER_TOKEN` | unset | Harness claim credential |
|
||||
| `ACTIVITY_CORE_WORKER_ID` | unset | Exact queue identity bound to the worker credential; required when the token is set |
|
||||
|
||||
## Consumer (rein-aharness)
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue