graphprotocol / graphprotocol/graph-node

Separate IPFS file hosting: subgraph core files vs. arbitrary use files

Aperta
#5,572 2 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

area/ipfs hardening infra Stale
Lingua principale
Rust
Stelle
3.2k
Fork
1.1k
Merge medio
4g 1h
PR unite (30g)
1

Descrizione

Background

We have two major classes of files hosted on IPFS: core subgraph files (manifests, schemas, mappings) and files to be synced by subgraphs with file data sources (arbitrary user files such as images, and text documents).

I propose we separate the storage and access points for these two classes of files in order to provide better fault separation, and to prioritize robustness of the core subgraph file hosting.

Proposal

Let's setup a new IPFS gateway for subgraph core files, ensure only core subgraph files are pinned and accessed via that gateway, and start to use IPFS cluster for other core devs and indexers to begin hosting these files too. For now the arbitrary file hosting can use the existing paradigm until we redesign that setup. In the meantime at least the subgraph core file hosting will be robust and fast for network participants.

Tasks

  • Setup new IPFS gateway for subgraph core files, located at ipfs.network.thegraph.com/subgraphs (just a strawman URL, let's discuss)
  • Protect subgraph core IPFS with middleware and configurations that only allows subgraph core files to be pinned to it and accessed from it.
  • Update graph-node to use different IPFS gateways for subgraph core objects then it does for FDS files. Needs plan. Do we supply a single IPFS gateway URL and the graph-node uses different paths for each gateway /files or /subgraphs? Or do we allow operator to supply different endpoints for each?
  • Setup IPFS cluster for the subgraph core IPFS gateway and bring in at least one operator running a node.

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Direzione di ricerca

La issue nomina graph-node, percorsi IPFS gateway separati (/files e /subgraphs), middleware e configuration, oltre a IPFS cluster, ma non include file né test. Inizia trasformando i requisiti di gateway e operator in un piano concreto; il lavoro sarà completato quando i file subgraph principali utilizzeranno un hosting protetto separato, mentre l’hosting di file arbitrari rimarrà sulla configurazione esistente.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
rust
Ambito
backend, distributed-systems, infrastructure
Tipo di issue
Funzionalità
Difficoltà
5/5
Tempo stimato
Più di una settimana
Stato di attività
Ferma
Chiarezza
Da chiarire
Idoneità per principianti
20/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.