Epic: service-worker-gateway Productionisation
Opened this issue ยท 7 comments
For general use
Minimal feature set
Optimizations
- #73
- #93
- CI should not [fail when no need to publish to ipfs]
- #110
- #88
- #72 (pick up after others are tackled first)
- #180
- https://github.com/ipshipyard/waterworks-infra/pull/82
Security and Compliance
- #30
- #181
- #33
- Original URL is passed to @helia/verified-fetch as-is (minimized delta for conformance tests)
- #59
- #116
UX / Configuration
- #133
- #58
- #80
- #22
- #91
- #32
- Documentation for how to self-host
- Nginx, DNS and TLS setup (expand gist from Russell, replace Fleek with local build + updating DNSLink. via Cloudflare API + token limited to single domain as example)
For inbrowser.link
- https://github.com/ipshipyard/waterworks-infra/issues/54
- https://github.com/ipshipyard/waterworks-infra/issues/55
- https://github.com/ipshipyard/waterworks-infra/pull/44
- https://github.com/ipshipyard/waterworks-infra/pull/42
- #53 (remove need for passing BASE_URL during build)
- Subdomain isolation enforced on
inbrowser.link
(subset of #30)- Partially broken, needs #67
- #78
- Works on localhost gateway and when loaded via ipns:// in Brave
- #28)
- #20
- #69 (remove dependency on fleek)
- pin in more places than just our collab cluster
- #79
- Migrate Fleek from Ignite team to ipfs.tech infra team account. (low priority, we will use fleek oly for PR reviews)
Until we get automated testing in place, here's a list of CIDs of websites for testing the Service Worker Gateway
Site | CID | IPNS subdomain |
---|---|---|
Wikipedia on IPFS | bafybeiaysi4s6lnjev27ln5icwm6tueaw2vdykrtjkwiphwekaywqhcjze |
n/a |
Uniswap Interface | bafybeifaiclxh6pc3bdtrrkpbvvqqxq6hz5r6htdzxaga4fikfpu2u56qi |
n/a |
CID tool | bafybeiae366charqmeewxags5b2jxtkhfmqyyagvqhrr5l7l7xfpp5ikpa |
cid-ipfs-tech.ipns |
IPFS Docs | bafybeiedlhslivmuj2iinnpd24ulx3fyd7cjenddbkeoxbf3snjiz3npda |
docs-ipfs-tech.ipns |
I think we should consider how we name this and call it in the docs and materials we will create before we make a splash. I propose we call it "Service Worker IPFS Gateway" or just "Service Worker Gateway" since the fact that it uses Helia is an implementation detail for most users. Moreover, it should be pretty clear that it's powered by Helia since it's the most actively maintained JS IPFS implementation.
I figured it's a good time be bring it up since we're going to be using the inbrowser.link
domain for it (which already doesn't have Helia in it).
I added a list of CID of sites for manual testing to the issue body. Feel free to add any additional ones.
NOTE: subdomains don't automatically refresh the service worker.. so we need some clever logic for checking for service worker assets, and then redirecting to /#/ipfs-sw-config again.
see #96 for some changes that make this more likely to happen
Question: should we default to an ipfs favicon when favicon.ico doesn't exist...?
We should not modify immutable data. If the DAG that user tries to load does not have favicon, we should not add it.
Add the following examples to the list and make sure are working well enough before sharing:
- Video
- ENS link
- IPNS name