Page MenuHomePhabricator

Request creation of IPFS VPS project
Closed, ResolvedPublic

Description

Project Name: IPFS

Wikitech Usernames of requestors: Samtar, Firefly

Purpose: To provide an environment to update and mirror (selected) Wikimedia projects to IPFS

Brief description: After reading https://blog.ipfs.io/24-uncensorable-wikipedia, I believe we could utilise the work started at https://github.com/ipfs/distributed-wikipedia-mirror to effectively mirror selected Wikimedia projects (or, the generated Kiwix ZIM archives) on IPFS, to ensure resilient and distributed access to Wikipedia content. As data would need to be "pinned" on this single VPS, so that other peers could then mirror and distribute it, the disk quota would need to be sufficient enough to hold multiple ZIM archives. We could potentially start with a proof-of-concept using a smaller project, and scale from there. I will install go-ipfs as described in these docs, and there are potentially networking considerations per this IPFS concept description.

How soon you are hoping this can be fulfilled: Within a week if possible, but there is no pressing urgency

Event Timeline

Hi! I have a few questions:

  • Do you have any estimates how much bandwidth this would use?
  • Would the WMCS instances store/transmit IPFS content other that the Wikimedia content you would be hosting?
In T302621#7738743, @Majavah wrote:

Hi! I have a few questions:

Thank you for the questions!

  • Do you have any estimates how much bandwidth this would use?

Bandwidth use is one of IPFS' primary concerns, and something they have been working on for a while—I personally run an IPFS node, and ended up using a similar approach to the one suggested here and here, which is to use trickle and ensure a sane configuration of the node. This would of course need to be monitored.

Additionally, are we able to set QoS for the instance in OpenStack?

  • Would the WMCS instances store/transmit IPFS content other that the Wikimedia content you would be hosting?

In a default installation, an IPFS node would store/transmit other content—I would ensure the reprovider settings are modified as per https://docs.ipfs.io/concepts/privacy-and-encryption/#controlling-what-you-share

Additionally, are we able to set QoS for the instance in OpenStack?

Maybe! That's not currently supported by our Neutron setup, but I can think of a few other use cases as well - patches would likely be welcome. (cc @aborrero)

  • Would the WMCS instances store/transmit IPFS content other that the Wikimedia content you would be hosting?

In a default installation, an IPFS node would store/transmit other content—I would ensure the reprovider settings are modified as per https://docs.ipfs.io/concepts/privacy-and-encryption/#controlling-what-you-share

Sounds good, thank you!

While I understand the base idea, the sole concept of this being slightly related to a web3/blockchain thingy gives me shivers.

While I understand the base idea, the sole concept of this being slightly related to a web3/blockchain thingy gives me shivers.

I am wholeheartedly opposed to web3/blockchain technology (just read my tweets 😬)—I will note that "decentralised", while normally a buzzword for web3 rubbish, is here used in a much more "respectable" manner :-)

Will the default quota suffice? (80GB for volumes, 20GB for instance OS, 8 instances, 16GB RAM, 12 CPUs)
If not, can you specify what resources you need?

Will the default quota suffice? (80GB for volumes, 20GB for instance OS, 8 instances, 16GB RAM, 12 CPUs)
If not, can you specify what resources you need?

An initial guesstimate suggests that we certainly won't need 8 instances (2 - one for "production", another for testing etc.), but that the 80GB volume quota will be a limiting factor — happy to start there and review once a proof of concept is running though

+1. I would suggest talking to the folks in the mwoffliner project if you need ZIM files related to the wikis.

Approved! Will start working on it shortly, I'll use the default quota, and once you need more storage feel free to create a task requesting the new quota :)

dcaro changed the task status from Open to In Progress.Mar 2 2022, 4:00 PM
dcaro claimed this task.
dcaro moved this task from To refine to Doing on the User-dcaro board.

Done!

dcaro@cloudcontrol1005:~$ sudo wmcs-openstack project create --enable --description "Environment to update and mirror (selected) Wikimedia projects to IPFS (https://ipfs.io)" ipfs
dcaro@cloudcontrol1005:~$ sudo wmcs-openstack role add --project ipfs --user samtar user
dcaro@cloudcontrol1005:~$ sudo wmcs-openstack role add --project ipfs --user firefly user
dcaro@cloudcontrol1005:~$ sudo wmcs-openstack role add --project ipfs --user samtar projectadmin
dcaro@cloudcontrol1005:~$ sudo wmcs-openstack role add --project ipfs --user firefly projectadmin

Mentioned in SAL (#wikimedia-cloud) [2022-03-02T16:58:00Z] <dcaro> Created the project with default quotas (T302621)