Live Runner#3938
Draft
j0sh wants to merge 53 commits into
Draft
Conversation
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
Less surprising that way and allows for tighter semantics around local publish usage.
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment |
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
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
TODO explain this