Allow to configure gitlab_shell_secret location
This commit is contained in:
parent
35729671fb
commit
ed3298fc01
6 changed files with 12 additions and 6 deletions
|
@ -67,6 +67,7 @@ v 7.11.0 (unreleased)
|
||||||
- Spin spinner icon next to "Checking for CI status..." on MR page.
|
- Spin spinner icon next to "Checking for CI status..." on MR page.
|
||||||
- Fix reference links in dashboard activity and ATOM feeds.
|
- Fix reference links in dashboard activity and ATOM feeds.
|
||||||
- Ensure that the first added admin performs repository imports
|
- Ensure that the first added admin performs repository imports
|
||||||
|
- Allow to configure location of the `.gitlab_shell_secret` file. (Jakub Jirutka)
|
||||||
|
|
||||||
v 7.10.2
|
v 7.10.2
|
||||||
- Fix CI links on MR page
|
- Fix CI links on MR page
|
||||||
|
|
|
@ -245,6 +245,10 @@ production: &base
|
||||||
repos_path: /home/git/repositories/
|
repos_path: /home/git/repositories/
|
||||||
hooks_path: /home/git/gitlab-shell/hooks/
|
hooks_path: /home/git/gitlab-shell/hooks/
|
||||||
|
|
||||||
|
# File that contains the secret key for verifying access for gitlab-shell.
|
||||||
|
# Default is '.gitlab_shell_secret' relative to Rails.root (i.e. root of the GitLab app).
|
||||||
|
# secret_file: /home/git/gitlab/.gitlab_shell_secret
|
||||||
|
|
||||||
# Git over HTTP
|
# Git over HTTP
|
||||||
upload_pack: true
|
upload_pack: true
|
||||||
receive_pack: true
|
receive_pack: true
|
||||||
|
|
|
@ -148,6 +148,7 @@ Settings.gravatar['ssl_url'] ||= 'https://secure.gravatar.com/avatar/%{hash}?
|
||||||
Settings['gitlab_shell'] ||= Settingslogic.new({})
|
Settings['gitlab_shell'] ||= Settingslogic.new({})
|
||||||
Settings.gitlab_shell['path'] ||= Settings.gitlab['user_home'] + '/gitlab-shell/'
|
Settings.gitlab_shell['path'] ||= Settings.gitlab['user_home'] + '/gitlab-shell/'
|
||||||
Settings.gitlab_shell['hooks_path'] ||= Settings.gitlab['user_home'] + '/gitlab-shell/hooks/'
|
Settings.gitlab_shell['hooks_path'] ||= Settings.gitlab['user_home'] + '/gitlab-shell/hooks/'
|
||||||
|
Settings.gitlab_shell['secret_file'] ||= Rails.root.join('.gitlab_shell_secret')
|
||||||
Settings.gitlab_shell['receive_pack'] = true if Settings.gitlab_shell['receive_pack'].nil?
|
Settings.gitlab_shell['receive_pack'] = true if Settings.gitlab_shell['receive_pack'].nil?
|
||||||
Settings.gitlab_shell['upload_pack'] = true if Settings.gitlab_shell['upload_pack'].nil?
|
Settings.gitlab_shell['upload_pack'] = true if Settings.gitlab_shell['upload_pack'].nil?
|
||||||
Settings.gitlab_shell['repos_path'] ||= Settings.gitlab['user_home'] + '/repositories/'
|
Settings.gitlab_shell['repos_path'] ||= Settings.gitlab['user_home'] + '/repositories/'
|
||||||
|
|
|
@ -5,8 +5,7 @@ require 'securerandom'
|
||||||
# Your secret key for verifying the gitlab_shell.
|
# Your secret key for verifying the gitlab_shell.
|
||||||
|
|
||||||
|
|
||||||
secret_file = Rails.root.join('.gitlab_shell_secret')
|
secret_file = Gitlab.config.gitlab_shell.secret_file
|
||||||
gitlab_shell_symlink = File.join(Gitlab.config.gitlab_shell.path, '.gitlab_shell_secret')
|
|
||||||
|
|
||||||
unless File.exist? secret_file
|
unless File.exist? secret_file
|
||||||
# Generate a new token of 16 random hexadecimal characters and store it in secret_file.
|
# Generate a new token of 16 random hexadecimal characters and store it in secret_file.
|
||||||
|
@ -14,6 +13,7 @@ unless File.exist? secret_file
|
||||||
File.write(secret_file, token)
|
File.write(secret_file, token)
|
||||||
end
|
end
|
||||||
|
|
||||||
if File.exist?(Gitlab.config.gitlab_shell.path) && !File.exist?(gitlab_shell_symlink)
|
link_path = File.join(Gitlab.config.gitlab_shell.path, '.gitlab_shell_secret')
|
||||||
FileUtils.symlink(secret_file, gitlab_shell_symlink)
|
if File.exist?(Gitlab.config.gitlab_shell.path) && !File.exist?(link_path)
|
||||||
|
FileUtils.symlink(secret_file, link_path)
|
||||||
end
|
end
|
||||||
|
|
|
@ -243,7 +243,7 @@ module API
|
||||||
end
|
end
|
||||||
|
|
||||||
def secret_token
|
def secret_token
|
||||||
File.read(Rails.root.join('.gitlab_shell_secret')).chomp
|
File.read(Gitlab.config.gitlab_shell.secret_file).chomp
|
||||||
end
|
end
|
||||||
|
|
||||||
def handle_member_errors(errors)
|
def handle_member_errors(errors)
|
||||||
|
|
|
@ -5,7 +5,7 @@ describe API::API, api: true do
|
||||||
let(:user) { create(:user) }
|
let(:user) { create(:user) }
|
||||||
let(:key) { create(:key, user: user) }
|
let(:key) { create(:key, user: user) }
|
||||||
let(:project) { create(:project) }
|
let(:project) { create(:project) }
|
||||||
let(:secret_token) { File.read Rails.root.join('.gitlab_shell_secret') }
|
let(:secret_token) { File.read Gitlab.config.gitlab_shell.secret_file }
|
||||||
|
|
||||||
describe "GET /internal/check", no_db: true do
|
describe "GET /internal/check", no_db: true do
|
||||||
it do
|
it do
|
||||||
|
|
Loading…
Reference in a new issue