diff options
Diffstat (limited to 'doc/administration/gitaly/index.md')
-rw-r--r-- | doc/administration/gitaly/index.md | 56 |
1 files changed, 33 insertions, 23 deletions
diff --git a/doc/administration/gitaly/index.md b/doc/administration/gitaly/index.md index d5749427f6e..82283650070 100644 --- a/doc/administration/gitaly/index.md +++ b/doc/administration/gitaly/index.md @@ -89,6 +89,10 @@ your GitLab installation has three repository storages: `default`, `storage1` and `storage2`. You can use as little as just one server with one repository storage if desired. +Note: **Note:** The token referred to throughout the Gitaly documentation is +just an arbitrary password selected by the administrator. It is unrelated to +tokens created for the GitLab API or other similar web API tokens. + ### 1. Installation First install Gitaly on each Gitaly server using either @@ -142,11 +146,6 @@ the Gitaly server. The easiest way to accomplish this is to copy `/etc/gitlab/gi from an existing GitLab server to the Gitaly server. Without this shared secret, Git operations in GitLab will result in an API error. -NOTE: **Note:** -In most or all cases, the storage paths below end in `/repositories` which is -not the case with `path` in `git_data_dirs` of Omnibus GitLab installations. -Check the directory layout on your Gitaly server to be sure. - **For Omnibus GitLab** 1. Edit `/etc/gitlab/gitlab.rb`: @@ -193,24 +192,26 @@ Check the directory layout on your Gitaly server to be sure. On `gitaly1.internal`: ``` - gitaly['storage'] = [ - { 'name' => 'default' }, - { 'name' => 'storage1' }, - ] + git_data_dirs({ + 'default' => { + 'path' => '/var/opt/gitlab/git-data' + }, + 'storage1' => { + 'path' => '/mnt/gitlab/git-data' + }, + }) ``` On `gitaly2.internal`: ``` - gitaly['storage'] = [ - { 'name' => 'storage2' }, - ] + git_data_dirs({ + 'storage2' => { + 'path' => '/srv/gitlab/git-data' + }, + }) ``` - NOTE: **Note:** - In some cases, you'll have to set `path` for `gitaly['storage']` in the - format `'path' => '/mnt/gitlab/<storage name>/repositories'`. - 1. Save the file and [reconfigure GitLab](../restart_gitlab.md#omnibus-gitlab-reconfigure). **For installations from source** @@ -222,6 +223,11 @@ Check the directory layout on your Gitaly server to be sure. [auth] token = 'abc123secret' + + [logging] + format = 'json' + level = 'info' + dir = '/var/log/gitaly' ``` 1. Append the following to `/home/git/gitaly/config.toml` for each respective server: @@ -231,9 +237,11 @@ Check the directory layout on your Gitaly server to be sure. ```toml [[storage]] name = 'default' + path = '/var/opt/gitlab/git-data/repositories' [[storage]] name = 'storage1' + path = '/mnt/gitlab/git-data/repositories' ``` On `gitaly2.internal`: @@ -241,12 +249,9 @@ Check the directory layout on your Gitaly server to be sure. ```toml [[storage]] name = 'storage2' + path = '/srv/gitlab/git-data/repositories' ``` - NOTE: **Note:** - In some cases, you'll have to set `path` for each `[[storage]]` in the - format `path = '/mnt/gitlab/<storage name>/repositories'`. - 1. Save the file and [restart GitLab](../restart_gitlab.md#installations-from-source). ### 4. Converting clients to use the Gitaly server @@ -327,6 +332,8 @@ When you tail the Gitaly logs on your Gitaly server you should see requests coming in. One sure way to trigger a Gitaly request is to clone a repository from your GitLab server over HTTP. +DANGER: **Danger:** If you have [custom server-side Git hooks](../custom_hooks.md#custom-server-side-git-hooks) configured, either per repository or globally, you must move these to the Gitaly node. If you have multiple Gitaly nodes, copy your custom hook(s) to all nodes. + ### Disabling the Gitaly service in a cluster environment If you are running Gitaly [as a remote @@ -404,11 +411,11 @@ To configure Gitaly with TLS: ``` 1. Save the file and [reconfigure GitLab](../restart_gitlab.md#omnibus-gitlab-reconfigure) on client node(s). -1. Create the `/etc/gitlab/ssl` directory and copy your key and certificate there: +1. On the Gitaly server, create the `/etc/gitlab/ssl` directory and copy your key and certificate there: ```sh sudo mkdir -p /etc/gitlab/ssl - sudo chmod 700 /etc/gitlab/ssl + sudo chmod 755 /etc/gitlab/ssl sudo cp key.pem cert.pem /etc/gitlab/ssl/ ``` @@ -550,8 +557,11 @@ a few things that you need to do: to eliminate the need for a shared authorized_keys file. 1. Configure [object storage for job artifacts](../job_artifacts.md#using-object-storage) including [incremental logging](../job_logs.md#new-incremental-logging-architecture). -1. Configure [object storage for LFS objects](../../workflow/lfs/lfs_administration.md#storing-lfs-objects-in-remote-object-storage). +1. Configure [object storage for LFS objects](../lfs/lfs_administration.md#storing-lfs-objects-in-remote-object-storage). 1. Configure [object storage for uploads](../uploads.md#using-object-storage-core-only). +1. Configure [object storage for Merge Request Diffs](../merge_request_diffs.md#using-object-storage). +1. Configure [object storage for Packages](../packages/index.md#using-object-storage) (Optional Feature). +1. Configure [object storage for Dependency Proxy](../packages/dependency_proxy.md#using-object-storage) (Optional Feature). NOTE: **Note:** One current feature of GitLab that still requires a shared directory (NFS) is |