Add Federation for GitLab instances via Kademlia DHT (maybe IPFS compatible?)
Proposal
Add federation for GitLab instances.
On the technical level, this can be realized by publishing the root hash of a git repository to Kademlia DHT together with a reference to the GitLab instance and repository (if the project is public). Once this information is publicly available the GitLab web app can use it to lookup which instances contain a fork of the same project and build a cross instance (global) fork graph. This would also lay the foundation for Merge requests across instances.
Consideration
Instead of creating a completely new DHT configuration, GitLab could also reuse an existing one like the IPFS one. This would be a reasonable first choice, as IPFS already offers its own git repository hosting and publishes the git hashes into Kademlia DHT.
What does success look like, and how can we measure that?
- Can one independent GitLab instance interact with another GitLab instance that is managed by another independent admin?
- Can a developer that has an account on two GitLab instances send a merge request from one repository on one instance to a repository on another instance?
- Can users see if a repository was forked into another public instance?
- Does the fork relationship still get detected when a repository is switched public at a later point in time? And lost when it is deleted or switched private?
- Does the fork relationship get detected when a user checks out the repository and then pushes it from the local checkout into another GitLab instance?
Edited by 🤖 GitLab Bot 🤖