3 ms·
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
by 3np 6y ago
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?
- elevation 6y agoLoad 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.
- rovr138 6y agopost-receive hook pushing everything to other instances. How the push happens could be git remotes, rsync, or whatever else you want.