Merge branch 'gitaly-mandatory' into 'master'
Remove option to disable Gitaly in Rails See merge request !12677
This commit is contained in:
commit
5c0d8d59ff
11 changed files with 44 additions and 73 deletions
4
changelogs/unreleased/gitaly-mandatory.yml
Normal file
4
changelogs/unreleased/gitaly-mandatory.yml
Normal file
|
@ -0,0 +1,4 @@
|
|||
---
|
||||
title: Remove option to disable Gitaly
|
||||
merge_request: 12677
|
||||
author:
|
|
@ -450,10 +450,6 @@ production: &base
|
|||
|
||||
# Gitaly settings
|
||||
gitaly:
|
||||
# This setting controls whether GitLab uses Gitaly (new component
|
||||
# introduced in 9.0). Eventually Gitaly use will become mandatory and
|
||||
# this option will disappear.
|
||||
enabled: true
|
||||
# Default Gitaly authentication token. Can be overriden per storage. Can
|
||||
# be left blank when Gitaly is running locally on a Unix socket, which
|
||||
# is the normal way to deploy Gitaly.
|
||||
|
|
|
@ -483,7 +483,6 @@ Settings.rack_attack.git_basic_auth['bantime'] ||= 1.hour
|
|||
# Gitaly
|
||||
#
|
||||
Settings['gitaly'] ||= Settingslogic.new({})
|
||||
Settings.gitaly['enabled'] = true if Settings.gitaly['enabled'].nil?
|
||||
|
||||
#
|
||||
# Webpack settings
|
||||
|
|
|
@ -1,8 +1,6 @@
|
|||
require 'uri'
|
||||
|
||||
if Gitlab.config.gitaly.enabled || Rails.env.test?
|
||||
Gitlab.config.repositories.storages.keys.each do |storage|
|
||||
# Force validation of each address
|
||||
Gitlab::GitalyClient.address(storage)
|
||||
end
|
||||
end
|
||||
|
|
|
@ -179,6 +179,7 @@ have access to GitLab administration tools and settings.
|
|||
|
||||
### Admin tools
|
||||
|
||||
- [Gitaly](administration/gitaly/index.md): Configuring Gitaly, GitLab's Git repository storage service
|
||||
- [Raketasks](raketasks/README.md): Backups, maintenance, automatic webhook setup and the importing of projects.
|
||||
- [Backup and restore](raketasks/backup_restore.md): Backup and restore your GitLab instance.
|
||||
- [Reply by email](administration/reply_by_email.md): Allow users to comment on issues and merge requests by replying to notification emails.
|
||||
|
|
|
@ -2,8 +2,7 @@
|
|||
|
||||
[Gitaly](https://gitlab.com/gitlab-org/gitaly) (introduced in GitLab
|
||||
9.0) is a service that provides high-level RPC access to Git
|
||||
repositories. As of GitLab 9.3 it is still an optional component with
|
||||
limited scope.
|
||||
repositories. Gitaly is a mandatory component in GitLab 9.4 and newer.
|
||||
|
||||
GitLab components that access Git repositories (gitlab-rails,
|
||||
gitlab-shell, gitlab-workhorse) act as clients to Gitaly. End users do
|
||||
|
@ -149,6 +148,8 @@ git_data_dirs({
|
|||
{ 'default' => { 'path' => '/mnt/gitlab/default', 'gitaly_address' => 'tcp://gitlab.internal:9999' } },
|
||||
{ 'storage1' => { 'path' => '/mnt/gitlab/storage1', 'gitaly_address' => 'tcp://gitlab.internal:9999' } },
|
||||
})
|
||||
|
||||
gitlab_rails['gitaly_token'] = 'abc123secret'
|
||||
```
|
||||
|
||||
Source installations:
|
||||
|
@ -164,6 +165,9 @@ gitlab:
|
|||
storage1:
|
||||
path: /mnt/gitlab/storage1/repositories
|
||||
gitaly_address: tcp://gitlab.internal:9999
|
||||
|
||||
gitaly:
|
||||
token: 'abc123secret'
|
||||
```
|
||||
|
||||
Now reconfigure (Omnibus) or restart (source). When you tail the
|
||||
|
@ -172,36 +176,11 @@ Gitaly logs on your Gitaly server (`sudo gitlab-ctl tail gitaly` or
|
|||
coming in. One sure way to trigger a Gitaly request is to clone a
|
||||
repository from your GitLab server over HTTP.
|
||||
|
||||
## Configuring GitLab to not use Gitaly
|
||||
|
||||
Gitaly is still an optional component in GitLab 9.3. This means you
|
||||
can choose to not use it.
|
||||
|
||||
In Omnibus you can make the following change in
|
||||
`/etc/gitlab/gitlab.rb` and reconfigure. This will both disable the
|
||||
Gitaly service and configure the rest of GitLab not to use it.
|
||||
|
||||
```ruby
|
||||
gitaly['enable'] = false
|
||||
```
|
||||
|
||||
In source installations, edit `/home/git/gitlab/config/gitlab.yml` and
|
||||
make sure `enabled` in the `gitaly` section is set to 'false'. This
|
||||
does not disable the Gitaly service in your init script; it only
|
||||
prevents it from being used.
|
||||
|
||||
Apply the change with `service gitlab restart`.
|
||||
|
||||
```yaml
|
||||
gitaly:
|
||||
enabled: false
|
||||
```
|
||||
|
||||
## Disabling or enabling the Gitaly service
|
||||
|
||||
Be careful: if you disable Gitaly without instructing the rest of your
|
||||
GitLab installation not to use Gitaly, you may end up with errors
|
||||
because GitLab tries to access a service that is not running.
|
||||
If you are running Gitaly [as a remote
|
||||
service](#running-gitaly-on-its-own-server) you may want to disable
|
||||
the local Gitaly service that runs on your Gitlab server by default.
|
||||
|
||||
To disable the Gitaly service in your Omnibus installation, add the
|
||||
following line to `/etc/gitlab/gitlab.rb`:
|
||||
|
|
|
@ -148,6 +148,8 @@ sudo -u git -H make
|
|||
If you have not yet set up Gitaly then follow [Gitaly section of the installation
|
||||
guide](../install/installation.md#install-gitaly).
|
||||
|
||||
As of GitLab 9.4, Gitaly is a mandatory component of GitLab.
|
||||
|
||||
#### Check Gitaly configuration
|
||||
|
||||
Due to a bug in the `rake gitlab:gitaly:install` script your Gitaly
|
||||
|
|
|
@ -70,12 +70,8 @@ module Gitlab
|
|||
params['gitaly_token'].presence || Gitlab.config.gitaly['token']
|
||||
end
|
||||
|
||||
def self.enabled?
|
||||
Gitlab.config.gitaly.enabled
|
||||
end
|
||||
|
||||
def self.feature_enabled?(feature, status: MigrationStatus::OPT_IN)
|
||||
return false if !enabled? || status == MigrationStatus::DISABLED
|
||||
return false if status == MigrationStatus::DISABLED
|
||||
|
||||
feature = Feature.get("gitaly_#{feature}")
|
||||
|
||||
|
|
|
@ -25,7 +25,6 @@ module Gitlab
|
|||
RepoPath: repo_path
|
||||
}
|
||||
|
||||
if Gitlab.config.gitaly.enabled
|
||||
server = {
|
||||
address: Gitlab::GitalyClient.address(project.repository_storage),
|
||||
token: Gitlab::GitalyClient.token(project.repository_storage)
|
||||
|
@ -46,7 +45,6 @@ module Gitlab
|
|||
params[:GitalyAddress] = server[:address] # This field will be deprecated
|
||||
params[:GitalyServer] = server
|
||||
end
|
||||
end
|
||||
|
||||
params
|
||||
end
|
||||
|
|
|
@ -1,8 +1,6 @@
|
|||
if Gitlab::GitalyClient.enabled?
|
||||
RSpec.configure do |config|
|
||||
config.before(:each) do |example|
|
||||
next if example.metadata[:skip_gitaly_mock]
|
||||
allow(Gitlab::GitalyClient).to receive(:feature_enabled?).and_return(true)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -69,7 +69,7 @@ module TestEnv
|
|||
# Setup GitLab shell for test instance
|
||||
setup_gitlab_shell
|
||||
|
||||
setup_gitaly if Gitlab::GitalyClient.enabled?
|
||||
setup_gitaly
|
||||
|
||||
# Create repository for FactoryGirl.create(:project)
|
||||
setup_factory_repo
|
||||
|
|
Loading…
Reference in a new issue