summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJacob Vosmaer <jacob@gitlab.com>2019-02-28 12:20:35 +0100
committerJacob Vosmaer <jacob@gitlab.com>2019-02-28 12:20:35 +0100
commit25692138b6bd4f3b1915e99cfcbbe5a52880b5c2 (patch)
treefcb8c4e7aa6da6358cbb5a5f52a192d059c2f29c
parent39262b39e6c819814a1592b09c8ede99d9f79c31 (diff)
downloadgitlab-shell-25692138b6bd4f3b1915e99cfcbbe5a52880b5c2.tar.gz
Update readme notes about git hooks
-rw-r--r--README.md21
1 files changed, 17 insertions, 4 deletions
diff --git a/README.md b/README.md
index 55f7c61..7cb9619 100644
--- a/README.md
+++ b/README.md
@@ -23,10 +23,23 @@ An overview of the four cases described above:
For historical reasons the gitlab-shell repository also contains the
Git hooks that allow GitLab to validate Git pushes (e.g. "is this user
allowed to push to this protected branch"). These hooks also trigger
-events in GitLab (e.g. to start a CI pipeline after a push). In
-GitLab's current architecture (Q4 2018) these hooks belong to Gitaly
-more than gitlab-shell. We [are moving them to the Gitaly
-repository](https://gitlab.com/gitlab-org/gitaly/issues/1226).
+events in GitLab (e.g. to start a CI pipeline after a push).
+
+We are in the process of moving these hooks to Gitaly, because Git hooks
+require direct disk access to Git repositories, and that is only
+possible on Gitaly servers. It makes no sense to have to install
+gitlab-shell on Gitaly servers.
+
+As of GitLab 11.9 [the actual Git hooks are in the Gitaly
+repository](https://gitlab.com/gitlab-org/gitaly/tree/v1.22.0/ruby/vendor/gitlab-shell/hooks),
+but gitlab-shell must still be installed on Gitaly servers because the
+hooks rely on configuration data (e.g. the GitLab internal API URL) that
+is not yet available in Gitaly itself. Also see the [transition
+plan](https://gitlab.com/gitlab-org/gitaly/issues/1226#note_126519133).
+
+This means that for GitLab 11.9 and up, it is pointless to make changes
+to Git hook code in the gitlab-shell repository, because the code that
+gets run is in the Gitaly repository instead.
## Code status