Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Plenty of alternative approaches that can get you there. Here’s one:

  * distributed file system like gluster or ceph for repos
  * clustered db (eg replicated Postgres)
  * redundant instances of gitea
  * load balancing

Am I missing something?


Load balancing redundant gitea over clustered postgres and clustered fs provides a resilient read-only stack.

The trouble comes when the system receives two simultaneous pushes to the same branch. When ceph goes to merge them, which one wins? There has to be a distributed write mutex. Perhaps this mutex could be acquired in a pre-commit hook on the gitea nodes, but it's absolutely necessary (in addition to the other clustered services) to prevent silent data loss or corruption.


post-receive hook pushing everything to other instances. How the push happens could be git remotes, rsync, or whatever else you want.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: