Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Split out the gateway project into it's own repo #3

Closed
olizilla opened this issue Mar 22, 2022 · 2 comments · Fixed by #4
Closed

Split out the gateway project into it's own repo #3

olizilla opened this issue Mar 22, 2022 · 2 comments · Fixed by #4
Assignees
Labels
kind/enhancement A net-new feature or improvement to an existing feature pi/superhot stack/read-services

Comments

@olizilla
Copy link
Contributor

The IPFS Gateway Racing Gateway™️ worker in /packages/gateway isn't coupled to nft.storage and would make more sense as a seperate repo. I'd put it under the web3-storage org as it's not NFT specific code either.

mono-repos are great for managing interdependent puzzle pieces where edits to one often require edits to the other (e.g. api and api-client), but where a thing is seperate, keeping it in it's own repo can help avoid un-intended cross-dependencies appearing, or just dependenncy bloat... where a dev has to install and update many packages for many projects that they dont need to use to work on the main thing.

@olizilla olizilla added kind/enhancement A net-new feature or improvement to an existing feature need/triage Needs initial labeling and prioritization labels Mar 22, 2022
@olizilla
Copy link
Contributor Author

@vasco-santos why do we track record the winning gateway for every CID in a durable object? Where do we use that data?
https://github.com/nftstorage/nft.storage/blob/main/packages/gateway/src/durable-objects/cids.js

@vasco-santos
Copy link
Member

I'd put it under the web3-storage org as it's not NFT specific code either.

We have talked before about specific logic for NFTs on top of the gateway. We still need to figure out how to have a core version that we can use for everything else.

Anyway, I agree that we should move out of the monorepo. There will be new repos for the gateway, and I will look into how to structure it.

why do we track record the winning gateway for every CID in a durable object?

It is not winning gateway, but all gateways that could previously resolve a given CID. We don't use this information yet, but this opens lot's of opportunities for us:

  • easily debug if a given CID was ever successfully fetched and from where (we will likely want a protected route for this)
  • create "badge like" check if CID is available

@vasco-santos vasco-santos self-assigned this Mar 28, 2022
@vasco-santos vasco-santos transferred this issue from nftstorage/nft.storage Apr 4, 2022
@vasco-santos vasco-santos removed the need/triage Needs initial labeling and prioritization label Apr 4, 2022
This was referenced Apr 5, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/enhancement A net-new feature or improvement to an existing feature pi/superhot stack/read-services
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants