The historical reasons for the inception of Gitaly and our design decisions are written in the design doc.
Running Gitaly requires it to be configured correctly, options are described in GitLab's configuration documentation.
The reference guide is documented in https://gitlab.com/gitlab-org/gitlab/blob/master/doc/administration/gitaly/reference.md.
- When new to Gitaly development, start by reading the beginners guide
- When developing on Gitaly-Ruby, read the Gitaly-Ruby doc
- The Gitaly release process is described in our process doc
- Tests use Git repositories too, read more about them
- Praefect uses SQL. To create a new SQL migration see sql_migrations.md
- For Gitaly hooks documentation, see Gitaly hooks documentation
Gitaly does not replicate any data. If a Gitaly server goes down, any of its clients can't read or write to the repositories stored on that server. This means that Gitaly is not highly available. How this will be solved is described in the HA design document
For configuration please read praefects configuration documentation.