← Back to issue list

Pass-through mode

View original Github issue

Metadata

Project
fetch-service
Number
#589
Type
issue
State
open
Author
steinbro
Labels
Status: Triaged
Created
Updated
Closed
—

Current evaluation

Proposal for a third fetch-service mode: pass-through proxying that streams packages to the builder while inspection runs async, cutting build delays. Triaged; design still being settled by maintainers.

Suggested action: keep open

Reason: Valid, triaged feature request authored by a maintainer (steinbro) with a concrete motivation, and the blocking behaviour it targets is confirmed present in proxy/proxy.go processResponse, which synchronously calls NewFileDownloadHandler (spool -> inspect -> repack) before replying. The most recent comment is steinbro actively refining scope — 'pass-through mode would be a third mode after strict and permissive... we'd like permissive mode to act as a dry-run for strict mode and thus share as many of the same code paths as possible' — so the design is still in flux and there is no agreed spec (no interface, no handling of post-delivery inspection failures, no client notification mechanism), which caps actionability. Inactivity of 190 days is not grounds for closure.

Evaluated by: mr-cal-bot

Impact: 50 Quick Win: 2 Complexity: 88 Confidence: 68 Actionability: 38

Issue body

### What needs to get done @ikoruk suggested an optimization to improve Fetch Service performance in permissive mode: rather than only relaying a package back to the requesting builder after it has been scanned, act as a pass-through network proxy that performs the scanning asynchronously. This way, the client can start using the package data while the Fetch Service performs its checks. @cmatsuoka have we already considered this admittedly fundamental change? ### Why it needs to get done The Fetch Service can introduce substantial unnecessary delays into the build process by waiting until the requested package has been unpacked, scanned, and repacked. In permissive mode, the Fetch Service cannot interrupt the build, so there is no need to block until the package has been verified.

Evaluation history

Date Model Scores Action Summary
stealth/space-bunny-alpha
Impact: 50
Quick Win: 2
Complexity: 88
Confidence: 68
Actionability: 38
keep open Proposal for a third fetch-service mode: pass-through proxying that streams packages to the builder while inspection runs async, cutting build delays. Triaged; design still being settled by maintainers.
stealth/space-bunny-alpha
Impact: 64
Quick Win: 6
Complexity: 83
Confidence: 93
Actionability: 58
keep open Proposed third Fetch Service mode streams packages while inspection continues asynchronously; maintainers are refining how it differs from strict and permissive, but design details remain unsettled.
stealth/space-bunny-alpha
Impact: 63
Quick Win: 7
Complexity: 81
Confidence: 88
Actionability: 58
keep open Proposed third policy for streaming package data to builders while scanning asynchronously; remains open under maintainer discussion, tracked internally as FETCH-67.
qwen/qwen3.6-35b-a3b
Impact: 70
Quick Win: 18
Staleness: 45
Complexity: 75
Confidence: 65
Support Request: 10
keep open Feature proposal to add pass-through mode as a third mode (after strict and permissive) for async package scanning to improve Fetch Service performance. Triaged and under maintainer discussion.

Update history

Date Change
created

Related issues

No related issues found above the similarity threshold.