Repository navigation
Conversation
LIVEPEER_GATEWAY_VERIFY_TLS=1, or livepeer_gateway.http.VERIFY_TLS = True, verifies HTTPS certificates against the system trust store on every HTTP call the SDK makes: the shared request helpers (signer, discovery, runners, live payments), BYOC, the lv2v /payment call, and trickle publish/subscribe. The setting is read at call time and both SSL contexts are built once. The default is unchanged. Orchestrators serve self-signed certificates and go-livepeer itself skips verification for orchestrator-facing calls, so verifying by default would break runner calls, BYOC, payments and trickle against stock orchestrators. Split from BlueClawNetwork#1, without per-call verify_tls arguments. Co-authored-by: Mike Zupper <me@mikezupper.com> Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Generate a throwaway self-signed certificate in the TLS tests instead of committing the fixture certificate and key.
Default to verifying HTTPS certificates against the system trust store; LIVEPEER_GATEWAY_VERIFY_TLS=0 (or http.VERIFY_TLS=False) turns it off for self-signed orchestrators. Build the opt-out context explicitly instead of the private ssl._create_unverified_context(), matching orch_info.py and clearing the Snyk no-hostname-verification finding. Revert byoc.py: those TLS changes are out of scope since livepeer#69 removes the BYOC client. Document the process-wide, all-or-nothing scope.
3 of 5 tasks
Collaborator
Author
|
Superseded by #73 on |
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.
Summary
/paymentcall, and trickle publish/subscribe.LIVEPEER_GATEWAY_VERIFY_TLS=0(0/false/no/off), orlivepeer_gateway.http.VERIFY_TLS = False, to turn verification off for the process when talking to a stock orchestrator that serves a self-signed certificate. The setting is read at call time.create_default_context()+check_hostname=False+CERT_NONE), matchingorch_info.py, instead of the privatessl._create_unverified_context().Scope
_ssl_contextdocstring.byoc.pyis left unchanged here, since Remove BYOC inference and training jobs #69 removes the BYOC client entirely.Behavior change
Previously the SDK never verified HTTPS certificates. With verification now on by default, a deployment pointing at a stock self-signed orchestrator must set
LIVEPEER_GATEWAY_VERIFY_TLS=0. The gRPC client remains unverified.Test plan
uv run --frozen --group test pytest— 262 passed, includingtests/test_tls.pyruff checkonhttp.pyandtests/test_tls.pyhttp.py— no issues (the priorno-hostname-verificationfinding is resolved)LIVEPEER_GATEWAY_VERIFY_TLS=0: the self-signed orchestrator call succeeds