Skip to content

Live Runner#3938

Draft
j0sh wants to merge 53 commits into
ja/serverlessfrom
ja/live-runner
Draft

Live Runner#3938
j0sh wants to merge 53 commits into
ja/serverlessfrom
ja/live-runner

Conversation

@j0sh

@j0sh j0sh commented May 21, 2026

Copy link
Copy Markdown
Collaborator

TODO explain this

j0sh added 30 commits April 30, 2026 23:07
Convert the runner price in USD to wei.
start, stop and proxy

Also track capacity
Use the orchestrator registration secret only for initial live runner
registration. On first valid heartbeat, create a per-runner seed in the
registry, derive and return a heartbeat secret, and require that secret for
subsequent heartbeats and unregister requests.

Derive per-session tokens from the runner seed and inject them into proxied
application requests alongside the session ID. Require those session tokens for
trickle channel create/delete requests so channel actions are scoped to the
active session instead of the global registration secret.

Make live runner ID/session/token generation self-contained in the runner
package using crypto/rand with lowercase unpadded Base32 strings suitable for
URL paths. Also move advertised orchestrator URL population into the registry
via the RunnerHost interface and add RegistrationSecret as the semantic name for
the bootstrap credential.

Add coverage for bootstrap auth, follow-up heartbeat auth, session-token
injection, session-token scoping, and Base32-shaped generated IDs/secrets.
Support registering LiveRunners from startup config files and the private
CLI endpoint, with generated runner IDs and label-based upserts.

Static runners now use health endpoints instead of heartbeats, keep active
sessions across healthy upserts, skip heartbeat expiry, and release sessions
when health checks fail. Dynamic heartbeat registration is disabled when no
orchestrator secret is configured.

Add tests for JSON parsing, atomic validation, static runner health behavior,
CLI registration, discovery, and starter flag wiring.
Rename "endpoint" to "url"

Use app URL in single-shot mode instead of private runner URL
@coderabbitai

coderabbitai Bot commented May 21, 2026

Copy link
Copy Markdown

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 18452073-5def-44ba-85c2-1bff3e6bf567

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch ja/live-runner

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions github-actions Bot added go Pull requests that update Go code AI Issues and PR related to the AI-video branch. docs labels May 21, 2026
j0sh added 4 commits May 26, 2026 10:25
There was a bug where remote signer discovery required orchestrators to
advertise eligible capabilities through GetOrchestratorInfo before
surfacing capabilities from /discovery runner data. This meant
orchestrators with valid runners, but no RPC-advertised capabilities,
left the signer discovery cache empty.
Add a runner-facing LiveRunnerURI alongside the existing public
ServiceURI so live runners can use an internal callback address without
leaking that address into public discovery or service metadata.

This is useful when live runners run in Docker or another private
network and can reach the orchestrator directly, for example via
http://go-livepeer:8935, while external clients continue to use the
public HTTPS ServiceURI behind a reverse proxy.

Configure the live runner registry with separate public and internal
trickle base URLs, use the internal URI for heartbeat/O2R/session
trickle channels, and keep discovery proxy URLs on the public service
URI. Add -liveRunnerAddr parsing/validation and coverage for the split
URI behavior.
url is public
internal_url is ... internal URL
@j0sh j0sh force-pushed the ja/live-runner branch from ee2ab80 to d9ee753 Compare June 2, 2026 20:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

AI Issues and PR related to the AI-video branch. docs go Pull requests that update Go code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant