-
Notifications
You must be signed in to change notification settings - Fork 20
CAR based Gateway implementation #62
Comments
Flagging filecoin-saturn/L1-node#289 so we don't make the same mistake here. |
Update: Work is taking place in #61 Closing this issue out requires dealing with the high level tasks indicated above. However, the blockers for testing this for usage in Rhea are: Blockers for mirroring traffic:ECD 2023-03-29
Blockers for production traffic:Date for date/plan: 2023-03-30
|
Thanks @aschmahmann . I inlined this information into the issue description. |
@aschmahmann fysa I've moved the description of Implementation Phases from #61 to this meta-issue and marked the first two as done. Mind clarifying which phase covers CAR-based resumes ( Example:
When we load Ideally, opening /ipfs/cid/sub/index.html?format=car&depth=1 # learn cid-of-assets
/ipfs/cid-of-assets/a.jpg?format=car&depth=1 # learn cids in /assets
/ipfs/cid-of-b?format=car&depth=1 #direct fetch of a file
/ipfs/cid-of-c?format=car&depth=1 #direct fetch of a file Lmk how feasible this is, and if should we add this as (3.5) or something else? |
I should actually reword it (I'll change it above) but this is phase 3.
"send a request for blocks" should be "send a request for a CAR/blocks" (i.e. it's the same ask for a CAR, if it fails just use blocks) as above. Note: In the case listed above you're likely actually asking for the directory and then implicitly getting index.html and it might look like this:
Note: the latter two might also be |
This is closed by #160. bifrost-gateway has largely handled the concerns in However, we now use backpressured processing and incremental verification of CAR responses rather than buffering all the data on memory or in on disk-cache with block-request fallbacks. |
Done Criteria
While there is an implementation of
gateway.IPFSBackend
that can leverage retrievals of CAR files with the relevant data in them.It should implemented the proposed version of the API here, which shouldn't have major changes before the above PR lands.
Implementation stages
Why Important
Implementation Phases
Details and Dependencies
ECD: 2023-03-27
Blockers for mirroring traffic for Rhea
ECD: 2023-03-29
The work is happening in #61. See there for more details
Blockers for production traffic for Rhea
ECD: TBD - Date for a date/plan: 2023-03-30
We need to have sufficient testing of the bifrost-gateway code given we aren't able to run Kubo's battery of sharness tests against it (per #58 ).
Options being considered:
BlocksGateway
implementation kubo uses but with DAG prefetching of blocks happening underneath)Completion tasks to mark this done-done-done
gateway.IPFSBackend
request into a CAR request (should be relatively straightforward)Additional Notes
There already is an implementation of
gateway.IPFSBackend
that uses the existing tooling for block-based storage/retrieval here (and related to #57).Some details related to Caboose:
If we need to make some compromises in the implementation here in order to start collecting some data that's doable, but if so they should be explicitly called out and issues filed. Additionally, it should continue to be possible to use a blocks gateway implementation here via config.
cc @Jorropo @aarshkshah1992
The text was updated successfully, but these errors were encountered: