Skip to content

Expose orchestrators list on reserve_session() for direct multi-orch discovery #36

Description

@rickstaa

reserve_session() only accepts a single discovery_url, so selecting across a few orchestrators needs either a remote signer + /discover-orchestrators aggregator, or dropping to the low-level API.

The list support already exists one layer down: runner_selector() / discover_orchestrator_runners() / orchestrator_discovery_urls() all accept orchestrators: Sequence[str] | str (list or comma-delimited), fan out each /discovery, and select in parallel. reserve_session() just does not forward it.

Why

Test/select across a chosen set of orchs without standing up a signer + aggregator (funded wallet, container, and a capability filter that drops generic apps). Direct per-orch discovery, so it works with any app id.

Today

Possible only via runner_selector(orchestrators=[...]), which returns a RunnerSelectionCursor and forces re-implementing the cursor -> LiveRunnerSession extraction that reserve_session() already does. Or through a remote signer discovery endpoint through the OrchAddr flag. However this has been broken right now (see livepeer/go-livepeer#3938 (comment)).

Scope

Dev/testing ergonomics, not a new production path: direct discovery only (no registry, no price-capping), not a replacement for signer aggregation.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Fields

No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions