After GitLab Geo (read-only secondary servers) we can explore the ability to push to any of the servers by using a consensus protocol.
There is a 2013 project called piehole that does that using etcd.
As discussed on the etcd-dev mailinglist you probably only need the consensus protocol to handle the refs.
The result of git push is writing to redis and database. Would be hard for secondary servers.
- git push trigger post-receive
- post-receive writes job to redis db
- worker pick job from redis and writes to postgres db
- update other servers with information about push
Step 2 and 3 is something to keep in mind if we want accept push to secondary servers.
Hi, I am highly interested in this feature. I already contacted Drew about GitLab Geo. Is there any progress?