solid / solid-spec

Solid specification draft 0.7.0
Creative Commons Zero v1.0 Universal
1.13k stars 103 forks source link

How to transfer data between POD? #119

Open linonetwo opened 5 years ago

linonetwo commented 5 years ago

It's said that "you’re free to move it at any time". If one POD is stopping its service, how can user transfer data between the previous POD and next POD easily?

Or make a backup.

Another question is: If you change a POD, will you change your WebID?

linonetwo commented 5 years ago

Seems by entering "External WebID:" when register, you can move your data.

RubenVerborgh commented 5 years ago

@linonetwo Interesting question, and actually External WebID is not the full solution. That option is useful for when you have an existing WebID you want to reuse, but not for moving data.

So let me reopen your issue.

melvincarvalho commented 5 years ago

This is a good one for the FAQ.

There's three aspects

sandhawke commented 5 years ago

There have been many detailed discussion of this in the Social Web community, which I think are all applicable.

eg:
https://github.com/tootsuite/mastodon/issues/8465 https://github.com/swicg/general/issues/1 https://github.com/swicg/general/issues/4

I wrote a pod-copy tool at one point, as did a student.

There are various attacks and failure modes to consider.

<30 pages of discussion elided> Bottom line, simplest approach that tackles nearly all the issues, I think: one should generally have one or more backup/failover pods. Your primary pod data should be mirrored to the backup(s) (which might be a feature of the primary, the backups, or just a client). If you don't thoroughly own the domain your using, your pod should be informing all visors about your backup domain(s) to use in case there's a problem. Hopefully the being-informed can be at a machine level so humans don't generally have to worry about it. One probably wants some crypto in there, too, to narrow the options for attacking by taking over via a backup. If the domain failover works well enough, one could just use IP addresses, and live DNS-free internally.
melvincarvalho commented 5 years ago

I wrote a pod-copy tool at one point, as did a student

@sandhawke nice to see you here. Is that code kicking around some place?