Commit 1dcf19c924ee46d713fa9fc7c8a630386a475d49
Exists in
master
and in
4 other branches
Merge pull request #2247 from riyad/update-settings
Reorganize settings
Showing
36 changed files
with
363 additions
and
158 deletions
Show diff stats
app/controllers/admin/users_controller.rb
| @@ -30,7 +30,7 @@ class Admin::UsersController < AdminController | @@ -30,7 +30,7 @@ class Admin::UsersController < AdminController | ||
| 30 | 30 | ||
| 31 | 31 | ||
| 32 | def new | 32 | def new |
| 33 | - @admin_user = User.new({ projects_limit: Gitlab.config.default_projects_limit }, as: :admin) | 33 | + @admin_user = User.new({ projects_limit: Gitlab.config.gitlab.default_projects_limit }, as: :admin) |
| 34 | end | 34 | end |
| 35 | 35 | ||
| 36 | def edit | 36 | def edit |
app/controllers/omniauth_callbacks_controller.rb
| 1 | class OmniauthCallbacksController < Devise::OmniauthCallbacksController | 1 | class OmniauthCallbacksController < Devise::OmniauthCallbacksController |
| 2 | - Gitlab.config.omniauth_providers.each do |provider| | 2 | + Gitlab.config.omniauth.providers.each do |provider| |
| 3 | define_method provider['name'] do | 3 | define_method provider['name'] do |
| 4 | handle_omniauth | 4 | handle_omniauth |
| 5 | end | 5 | end |
app/helpers/application_helper.rb
| @@ -34,10 +34,10 @@ module ApplicationHelper | @@ -34,10 +34,10 @@ module ApplicationHelper | ||
| 34 | def gravatar_icon(user_email = '', size = nil) | 34 | def gravatar_icon(user_email = '', size = nil) |
| 35 | size = 40 if size.nil? || size <= 0 | 35 | size = 40 if size.nil? || size <= 0 |
| 36 | 36 | ||
| 37 | - if Gitlab.config.disable_gravatar? || user_email.blank? | 37 | + if !Gitlab.config.gravatar.enabled || user_email.blank? |
| 38 | 'no_avatar.png' | 38 | 'no_avatar.png' |
| 39 | else | 39 | else |
| 40 | - gravatar_url = request.ssl? ? Gitlab.config.gravatar_ssl_url : Gitlab.config.gravatar_url | 40 | + gravatar_url = request.ssl? ? Gitlab.config.gravatar.ssl_url : Gitlab.config.gravatar.plain_url |
| 41 | user_email.strip! | 41 | user_email.strip! |
| 42 | sprintf(gravatar_url, {:hash => Digest::MD5.hexdigest(user_email.downcase), :email => URI.escape(user_email), :size => size}) | 42 | sprintf(gravatar_url, {:hash => Digest::MD5.hexdigest(user_email.downcase), :email => URI.escape(user_email), :size => size}) |
| 43 | end | 43 | end |
| @@ -48,7 +48,7 @@ module ApplicationHelper | @@ -48,7 +48,7 @@ module ApplicationHelper | ||
| 48 | end | 48 | end |
| 49 | 49 | ||
| 50 | def web_app_url | 50 | def web_app_url |
| 51 | - "#{request_protocol}://#{Gitlab.config.web_host}/" | 51 | + "#{request_protocol}://#{Gitlab.config.gitlab.host}/" |
| 52 | end | 52 | end |
| 53 | 53 | ||
| 54 | def last_commit(project) | 54 | def last_commit(project) |
app/mailers/notify.rb
| @@ -3,11 +3,11 @@ class Notify < ActionMailer::Base | @@ -3,11 +3,11 @@ class Notify < ActionMailer::Base | ||
| 3 | add_template_helper ApplicationHelper | 3 | add_template_helper ApplicationHelper |
| 4 | add_template_helper GitlabMarkdownHelper | 4 | add_template_helper GitlabMarkdownHelper |
| 5 | 5 | ||
| 6 | - default_url_options[:host] = Gitlab.config.web_host | ||
| 7 | - default_url_options[:protocol] = Gitlab.config.web_protocol | ||
| 8 | - default_url_options[:port] = Gitlab.config.web_port if Gitlab.config.web_custom_port? | 6 | + default_url_options[:host] = Gitlab.config.gitlab.host |
| 7 | + default_url_options[:protocol] = Gitlab.config.gitlab.protocol | ||
| 8 | + default_url_options[:port] = Gitlab.config.gitlab.port if Gitlab.config.gitlab_on_non_standard_port? | ||
| 9 | 9 | ||
| 10 | - default from: Gitlab.config.email_from | 10 | + default from: Gitlab.config.gitlab.email_from |
| 11 | 11 | ||
| 12 | 12 | ||
| 13 | 13 |
app/models/namespace.rb
| @@ -48,14 +48,14 @@ class Namespace < ActiveRecord::Base | @@ -48,14 +48,14 @@ class Namespace < ActiveRecord::Base | ||
| 48 | end | 48 | end |
| 49 | 49 | ||
| 50 | def ensure_dir_exist | 50 | def ensure_dir_exist |
| 51 | - namespace_dir_path = File.join(Gitlab.config.git_base_path, path) | 51 | + namespace_dir_path = File.join(Gitlab.config.gitolite.repos_path, path) |
| 52 | system("mkdir -m 770 #{namespace_dir_path}") unless File.exists?(namespace_dir_path) | 52 | system("mkdir -m 770 #{namespace_dir_path}") unless File.exists?(namespace_dir_path) |
| 53 | end | 53 | end |
| 54 | 54 | ||
| 55 | def move_dir | 55 | def move_dir |
| 56 | if path_changed? | 56 | if path_changed? |
| 57 | - old_path = File.join(Gitlab.config.git_base_path, path_was) | ||
| 58 | - new_path = File.join(Gitlab.config.git_base_path, path) | 57 | + old_path = File.join(Gitlab.config.gitolite.repos_path, path_was) |
| 58 | + new_path = File.join(Gitlab.config.gitolite.repos_path, path) | ||
| 59 | if File.exists?(new_path) | 59 | if File.exists?(new_path) |
| 60 | raise "Already exists" | 60 | raise "Already exists" |
| 61 | end | 61 | end |
| @@ -64,7 +64,7 @@ class Namespace < ActiveRecord::Base | @@ -64,7 +64,7 @@ class Namespace < ActiveRecord::Base | ||
| 64 | end | 64 | end |
| 65 | 65 | ||
| 66 | def rm_dir | 66 | def rm_dir |
| 67 | - dir_path = File.join(Gitlab.config.git_base_path, path) | 67 | + dir_path = File.join(Gitlab.config.gitolite.repos_path, path) |
| 68 | system("rm -rf #{dir_path}") | 68 | system("rm -rf #{dir_path}") |
| 69 | end | 69 | end |
| 70 | end | 70 | end |
app/models/project.rb
| @@ -195,7 +195,7 @@ class Project < ActiveRecord::Base | @@ -195,7 +195,7 @@ class Project < ActiveRecord::Base | ||
| 195 | end | 195 | end |
| 196 | 196 | ||
| 197 | def web_url | 197 | def web_url |
| 198 | - [Gitlab.config.url, path_with_namespace].join("/") | 198 | + [Gitlab.config.gitlab.url, path_with_namespace].join("/") |
| 199 | end | 199 | end |
| 200 | 200 | ||
| 201 | def common_notes | 201 | def common_notes |
app/roles/push_observer.rb
| @@ -114,7 +114,7 @@ module PushObserver | @@ -114,7 +114,7 @@ module PushObserver | ||
| 114 | id: commit.id, | 114 | id: commit.id, |
| 115 | message: commit.safe_message, | 115 | message: commit.safe_message, |
| 116 | timestamp: commit.date.xmlschema, | 116 | timestamp: commit.date.xmlschema, |
| 117 | - url: "#{Gitlab.config.url}/#{path_with_namespace}/commit/#{commit.id}", | 117 | + url: "#{Gitlab.config.gitlab.url}/#{path_with_namespace}/commit/#{commit.id}", |
| 118 | author: { | 118 | author: { |
| 119 | name: commit.author_name, | 119 | name: commit.author_name, |
| 120 | email: commit.author_email | 120 | email: commit.author_email |
app/roles/repository.rb
| @@ -97,7 +97,7 @@ module Repository | @@ -97,7 +97,7 @@ module Repository | ||
| 97 | end | 97 | end |
| 98 | 98 | ||
| 99 | def path_to_repo | 99 | def path_to_repo |
| 100 | - File.join(Gitlab.config.git_base_path, "#{path_with_namespace}.git") | 100 | + File.join(Gitlab.config.gitolite.repos_path, "#{path_with_namespace}.git") |
| 101 | end | 101 | end |
| 102 | 102 | ||
| 103 | def namespace_dir | 103 | def namespace_dir |
| @@ -199,7 +199,7 @@ module Repository | @@ -199,7 +199,7 @@ module Repository | ||
| 199 | end | 199 | end |
| 200 | 200 | ||
| 201 | def http_url_to_repo | 201 | def http_url_to_repo |
| 202 | - http_url = [Gitlab.config.url, "/", path_with_namespace, ".git"].join('') | 202 | + http_url = [Gitlab.config.gitlab.url, "/", path_with_namespace, ".git"].join('') |
| 203 | end | 203 | end |
| 204 | 204 | ||
| 205 | # Check if current branch name is marked as protected in the system | 205 | # Check if current branch name is marked as protected in the system |
app/views/admin/groups/show.html.haml
app/views/errors/gitolite.html.haml
| @@ -21,5 +21,5 @@ | @@ -21,5 +21,5 @@ | ||
| 21 | Permissions: | 21 | Permissions: |
| 22 | %pre | 22 | %pre |
| 23 | = preserve do | 23 | = preserve do |
| 24 | - sudo chown -R git:git #{Gitlab.config.git_base_path} | ||
| 25 | - sudo chmod -R ug+rwXs #{Gitlab.config.git_base_path} | 24 | + sudo chown -R git:git #{Gitlab.config.gitolite.repos_path} |
| 25 | + sudo chmod -R ug+rwXs #{Gitlab.config.gitolite.repos_path} |
app/views/profiles/account.html.haml
app/views/profiles/show.html.haml
| @@ -33,11 +33,11 @@ | @@ -33,11 +33,11 @@ | ||
| 33 | %ul | 33 | %ul |
| 34 | %li | 34 | %li |
| 35 | %p You can change your password on Account page | 35 | %p You can change your password on Account page |
| 36 | - -unless Gitlab.config.disable_gravatar? | 36 | + - if Gitlab.config.gravatar.enabled |
| 37 | %li | 37 | %li |
| 38 | %p You can change your avatar at #{link_to "gravatar.com", "http://gravatar.com"} | 38 | %p You can change your avatar at #{link_to "gravatar.com", "http://gravatar.com"} |
| 39 | 39 | ||
| 40 | - - if Gitlab.config.omniauth_enabled? && @user.provider? | 40 | + - if Gitlab.config.omniauth.enabled && @user.provider? |
| 41 | %li | 41 | %li |
| 42 | %p | 42 | %p |
| 43 | You can login through #{@user.provider.titleize}! | 43 | You can login through #{@user.provider.titleize}! |
app/views/shared/_clone_panel.html.haml
| 1 | .input-prepend.project_clone_holder | 1 | .input-prepend.project_clone_holder |
| 2 | %button{class: "btn active", :"data-clone" => @project.ssh_url_to_repo} SSH | 2 | %button{class: "btn active", :"data-clone" => @project.ssh_url_to_repo} SSH |
| 3 | - %button{class: "btn", :"data-clone" => @project.http_url_to_repo}= Gitlab.config.web_protocol.upcase | 3 | + %button{class: "btn", :"data-clone" => @project.http_url_to_repo}= Gitlab.config.gitlab.protocol.upcase |
| 4 | = text_field_tag :project_clone, @project.url_to_repo, class: "one_click_select input-xxlarge" | 4 | = text_field_tag :project_clone, @project.url_to_repo, class: "one_click_select input-xxlarge" |
app/workers/post_receive.rb
| @@ -2,7 +2,7 @@ class PostReceive | @@ -2,7 +2,7 @@ class PostReceive | ||
| 2 | @queue = :post_receive | 2 | @queue = :post_receive |
| 3 | 3 | ||
| 4 | def self.perform(repo_path, oldrev, newrev, ref, identifier) | 4 | def self.perform(repo_path, oldrev, newrev, ref, identifier) |
| 5 | - repo_path.gsub!(Gitlab.config.git_base_path.to_s, "") | 5 | + repo_path.gsub!(Gitlab.config.gitolite.repos_path.to_s, "") |
| 6 | repo_path.gsub!(/.git$/, "") | 6 | repo_path.gsub!(/.git$/, "") |
| 7 | repo_path.gsub!(/^\//, "") | 7 | repo_path.gsub!(/^\//, "") |
| 8 | 8 | ||
| @@ -10,7 +10,7 @@ class PostReceive | @@ -10,7 +10,7 @@ class PostReceive | ||
| 10 | return false if project.nil? | 10 | return false if project.nil? |
| 11 | 11 | ||
| 12 | # Ignore push from non-gitlab users | 12 | # Ignore push from non-gitlab users |
| 13 | - user = if identifier.eql? Gitlab.config.gitolite_admin_key | 13 | + user = if identifier.eql? Gitlab.config.gitolite.admin_key |
| 14 | email = project.commit(newrev).author.email rescue nil | 14 | email = project.commit(newrev).author.email rescue nil |
| 15 | User.find_by_email(email) if email | 15 | User.find_by_email(email) if email |
| 16 | elsif /^[A-Z0-9._%a-z\-]+@(?:[A-Z0-9a-z\-]+\.)+[A-Za-z]{2,4}$/.match(identifier) | 16 | elsif /^[A-Z0-9._%a-z\-]+@(?:[A-Z0-9a-z\-]+\.)+[A-Za-z]{2,4}$/.match(identifier) |
config/gitlab.yml.example
| 1 | -# # # # # # # # # # # # # # # # # # | ||
| 2 | -# Gitlab application config file # | ||
| 3 | -# # # # # # # # # # # # # # # # # # | ||
| 4 | 1 | ||
| 5 | # | 2 | # |
| 6 | -# 1. Common settings | 3 | +# 1. GitLab app settings |
| 7 | # ========================== | 4 | # ========================== |
| 8 | 5 | ||
| 9 | -# Web application specific settings | ||
| 10 | -web: | 6 | +## GitLab settings |
| 7 | +gitlab: | ||
| 8 | + ## Web server settings | ||
| 11 | host: localhost | 9 | host: localhost |
| 12 | port: 80 | 10 | port: 80 |
| 13 | https: false | 11 | https: false |
| 14 | 12 | ||
| 15 | -# Email used for notification | ||
| 16 | -# about new issues, comments | ||
| 17 | -email: | ||
| 18 | - from: notify@localhost | 13 | + ## Email settings |
| 14 | + # Email address used in the "From" field in mails sent by GitLab | ||
| 15 | + email_from: gitlab@localhost | ||
| 19 | 16 | ||
| 20 | -# Application specific settings | ||
| 21 | -# Like default project limit for user etc | ||
| 22 | -app: | 17 | + ## Project settings |
| 23 | default_projects_limit: 10 | 18 | default_projects_limit: 10 |
| 24 | - # backup_path: "/vol/backups" # default: Rails.root + backups/ | ||
| 25 | - # backup_keep_time: 604800 # default: 0 (forever) (in seconds) | ||
| 26 | - # disable_gravatar: true # default: false - Disable user avatars from Gravatar.com | ||
| 27 | - # gravatar_url: "http://" # default: http://www.gravatar.com/avatar/%{hash}?s=%{size}&d=mm | ||
| 28 | - # gravatar_ssl_url: "https://" # default: https://secure.gravatar.com/avatar/%{hash}?s=%{size}&d=mm | 19 | + |
| 20 | +## Gravatar | ||
| 21 | +gravatar: | ||
| 22 | + enabled: true # Use user avatar images from Gravatar.com (default: true) | ||
| 23 | + # plain_url: "http://..." # default: http://www.gravatar.com/avatar/%{hash}?s=%{size}&d=mm | ||
| 24 | + # ssl_url: "https://..." # default: https://secure.gravatar.com/avatar/%{hash}?s=%{size}&d=mm | ||
| 25 | + | ||
| 29 | 26 | ||
| 30 | 27 | ||
| 31 | # | 28 | # |
| 32 | # 2. Auth settings | 29 | # 2. Auth settings |
| 33 | # ========================== | 30 | # ========================== |
| 34 | -ldap: | 31 | + |
| 32 | +## LDAP settings | ||
| 33 | +ldap: | ||
| 35 | enabled: false | 34 | enabled: false |
| 36 | host: '_your_ldap_server' | 35 | host: '_your_ldap_server' |
| 37 | base: '_the_base_where_you_search_for_users' | 36 | base: '_the_base_where_you_search_for_users' |
| 38 | port: 636 | 37 | port: 636 |
| 39 | uid: 'sAMAccountName' | 38 | uid: 'sAMAccountName' |
| 40 | - method: 'ssl' # plain | 39 | + method: 'ssl' # "ssl" or "plain" |
| 41 | bind_dn: '_the_full_dn_of_the_user_you_will_bind_with' | 40 | bind_dn: '_the_full_dn_of_the_user_you_will_bind_with' |
| 42 | password: '_the_password_of_the_bind_user' | 41 | password: '_the_password_of_the_bind_user' |
| 43 | 42 | ||
| 43 | +## Omniauth settings | ||
| 44 | omniauth: | 44 | omniauth: |
| 45 | # Enable ability for users | 45 | # Enable ability for users |
| 46 | - # to login via twitter, google .. | 46 | + # Allow logging in via Twitter, Google, etc. using Omniauth providers |
| 47 | enabled: false | 47 | enabled: false |
| 48 | 48 | ||
| 49 | - # IMPORTANT! | ||
| 50 | - # It allows user to login without having user account | 49 | + # CAUTION! |
| 50 | + # This allows users to login without having a user account first (default: false) | ||
| 51 | + # User accounts will be created automatically when authentication was successful. | ||
| 51 | allow_single_sign_on: false | 52 | allow_single_sign_on: false |
| 53 | + # Locks down those users until they have been cleared by the admin (default: true) | ||
| 52 | block_auto_created_users: true | 54 | block_auto_created_users: true |
| 53 | 55 | ||
| 54 | - # Auth providers | 56 | + ## Auth providers |
| 57 | + # Uncomment the lines and fill in the data of the auth provider you want to use | ||
| 58 | + # If your favorite auth provider is not listed you can user others: | ||
| 59 | + # see https://github.com/gitlabhq/gitlabhq/wiki/Using-Custom-Omniauth-Providers | ||
| 55 | providers: | 60 | providers: |
| 56 | # - { name: 'google_oauth2', app_id: 'YOUR APP ID', | 61 | # - { name: 'google_oauth2', app_id: 'YOUR APP ID', |
| 57 | # app_secret: 'YOUR APP SECRET', | 62 | # app_secret: 'YOUR APP SECRET', |
| @@ -62,29 +67,36 @@ omniauth: | @@ -62,29 +67,36 @@ omniauth: | ||
| 62 | # app_secret: 'YOUR APP SECRET' } | 67 | # app_secret: 'YOUR APP SECRET' } |
| 63 | 68 | ||
| 64 | 69 | ||
| 70 | + | ||
| 65 | # | 71 | # |
| 66 | -# 3. Advanced settings: | 72 | +# 3. Advanced settings |
| 67 | # ========================== | 73 | # ========================== |
| 68 | 74 | ||
| 69 | -# Git Hosting configuration | ||
| 70 | -git_host: | 75 | +## Backup settings |
| 76 | +backup: | ||
| 77 | + path: "tmp/backups" # Relative paths are relative to Rails.root (default: tmp/backups/) | ||
| 78 | + # keep_time: 604800 # default: 0 (forever) (in seconds) | ||
| 79 | + | ||
| 80 | +## Gitolite settings | ||
| 81 | +gitolite: | ||
| 71 | admin_uri: git@localhost:gitolite-admin | 82 | admin_uri: git@localhost:gitolite-admin |
| 72 | - base_path: /home/git/repositories/ | 83 | + repos_path: /home/git/repositories/ |
| 73 | hooks_path: /home/git/.gitolite/hooks/ | 84 | hooks_path: /home/git/.gitolite/hooks/ |
| 74 | - gitolite_admin_key: gitlab | ||
| 75 | - git_user: git | 85 | + admin_key: gitlab |
| 76 | upload_pack: true | 86 | upload_pack: true |
| 77 | receive_pack: true | 87 | receive_pack: true |
| 78 | - # host: localhost | 88 | + ssh_user: git |
| 89 | + ssh_host: localhost | ||
| 90 | + # ssh_port: 22 | ||
| 79 | # config_file: gitolite.conf | 91 | # config_file: gitolite.conf |
| 80 | - # port: 22 | ||
| 81 | 92 | ||
| 82 | -# Git settings | ||
| 83 | -# Use default values unless you understand it | 93 | +## Git settings |
| 94 | +# CAUTION! | ||
| 95 | +# Use the default values unless you really know what you are doing | ||
| 84 | git: | 96 | git: |
| 85 | - path: /usr/bin/git | 97 | + bin_path: /usr/bin/git |
| 86 | # Max size of git object like commit, in bytes | 98 | # Max size of git object like commit, in bytes |
| 87 | # This value can be increased if you have a very large commits | 99 | # This value can be increased if you have a very large commits |
| 88 | - git_max_size: 5242880 # 5.megabytes | 100 | + max_size: 5242880 # 5.megabytes |
| 89 | # Git timeout to read commit, in seconds | 101 | # Git timeout to read commit, in seconds |
| 90 | - git_timeout: 10 | 102 | + timeout: 10 |
config/initializers/1_settings.rb
| @@ -2,23 +2,43 @@ class Settings < Settingslogic | @@ -2,23 +2,43 @@ class Settings < Settingslogic | ||
| 2 | source "#{Rails.root}/config/gitlab.yml" | 2 | source "#{Rails.root}/config/gitlab.yml" |
| 3 | 3 | ||
| 4 | class << self | 4 | class << self |
| 5 | + # FIXME: Deprecated: remove for 4.1 | ||
| 5 | def web_protocol | 6 | def web_protocol |
| 7 | + ActiveSupport::Deprecation.warn("Settings.web_protocol is deprecated and will be removed from GitLab 4.1", caller) | ||
| 8 | + gitlab.protocol | ||
| 9 | + rescue Settingslogic::MissingSetting | ||
| 6 | self.web['protocol'] ||= web.https ? "https" : "http" | 10 | self.web['protocol'] ||= web.https ? "https" : "http" |
| 7 | end | 11 | end |
| 8 | 12 | ||
| 13 | + # FIXME: Deprecated: remove for 4.1 | ||
| 9 | def web_host | 14 | def web_host |
| 15 | + ActiveSupport::Deprecation.warn("Settings.web_host is deprecated and will be removed from GitLab 4.1", caller) | ||
| 16 | + gitlab.host | ||
| 17 | + rescue Settingslogic::MissingSetting | ||
| 10 | self.web['host'] ||= 'localhost' | 18 | self.web['host'] ||= 'localhost' |
| 11 | end | 19 | end |
| 12 | 20 | ||
| 21 | + # FIXME: Deprecated: remove for 4.1 | ||
| 13 | def email_from | 22 | def email_from |
| 23 | + ActiveSupport::Deprecation.warn("Settings.email_from is deprecated and will be removed from GitLab 4.1", caller) | ||
| 24 | + gitlab.email_from | ||
| 25 | + rescue Settingslogic::MissingSetting | ||
| 14 | self.email['from'] ||= ("notify@" + web_host) | 26 | self.email['from'] ||= ("notify@" + web_host) |
| 15 | end | 27 | end |
| 16 | 28 | ||
| 29 | + # FIXME: Deprecated: remove for 4.1 | ||
| 17 | def url | 30 | def url |
| 31 | + ActiveSupport::Deprecation.warn("Settings.url is deprecated and will be removed from GitLab 4.1", caller) | ||
| 32 | + gitlab.url | ||
| 33 | + rescue Settingslogic::MissingSetting | ||
| 18 | self['url'] ||= build_url | 34 | self['url'] ||= build_url |
| 19 | end | 35 | end |
| 20 | 36 | ||
| 37 | + # FIXME: Deprecated: remove for 4.1 | ||
| 21 | def web_port | 38 | def web_port |
| 39 | + ActiveSupport::Deprecation.warn("Settings.web_port is deprecated and will be removed from GitLab 4.1", caller) | ||
| 40 | + gitlab.port.to_i | ||
| 41 | + rescue Settingslogic::MissingSetting | ||
| 22 | if web.https | 42 | if web.https |
| 23 | web['port'] = 443 | 43 | web['port'] = 443 |
| 24 | else | 44 | else |
| @@ -26,11 +46,17 @@ class Settings < Settingslogic | @@ -26,11 +46,17 @@ class Settings < Settingslogic | ||
| 26 | end.to_i | 46 | end.to_i |
| 27 | end | 47 | end |
| 28 | 48 | ||
| 49 | + # FIXME: Deprecated: remove for 4.1 | ||
| 29 | def web_custom_port? | 50 | def web_custom_port? |
| 51 | + ActiveSupport::Deprecation.warn("Settings.web_custom_port? is deprecated and will be removed from GitLab 4.1", caller) | ||
| 52 | + gitlab_on_non_standard_port? | ||
| 53 | + rescue Settingslogic::MissingSetting | ||
| 30 | ![443, 80].include?(web_port) | 54 | ![443, 80].include?(web_port) |
| 31 | end | 55 | end |
| 32 | 56 | ||
| 57 | + # FIXME: Deprecated: remove for 4.1 | ||
| 33 | def build_url | 58 | def build_url |
| 59 | + ActiveSupport::Deprecation.warn("Settings.build_url is deprecated and will be removed from GitLab 4.1", caller) | ||
| 34 | if web_custom_port? | 60 | if web_custom_port? |
| 35 | custom_port = ":#{web_port}" | 61 | custom_port = ":#{web_port}" |
| 36 | else | 62 | else |
| @@ -44,19 +70,35 @@ class Settings < Settingslogic | @@ -44,19 +70,35 @@ class Settings < Settingslogic | ||
| 44 | ].join('') | 70 | ].join('') |
| 45 | end | 71 | end |
| 46 | 72 | ||
| 73 | + # FIXME: Deprecated: remove for 4.1 | ||
| 47 | def ssh_port | 74 | def ssh_port |
| 75 | + ActiveSupport::Deprecation.warn("Settings.ssh_port is deprecated and will be removed from GitLab 4.1", caller) | ||
| 76 | + gitolite.ssh_port | ||
| 77 | + rescue Settingslogic::MissingSetting | ||
| 48 | git_host['port'] || 22 | 78 | git_host['port'] || 22 |
| 49 | end | 79 | end |
| 50 | 80 | ||
| 81 | + # FIXME: Deprecated: remove for 4.1 | ||
| 51 | def ssh_user | 82 | def ssh_user |
| 83 | + ActiveSupport::Deprecation.warn("Settings.ssh_user is deprecated and will be removed from GitLab 4.1", caller) | ||
| 84 | + gitolite.ssh_user | ||
| 85 | + rescue Settingslogic::MissingSetting | ||
| 52 | git_host['git_user'] || 'git' | 86 | git_host['git_user'] || 'git' |
| 53 | end | 87 | end |
| 54 | 88 | ||
| 89 | + # FIXME: Deprecated: remove for 4.1 | ||
| 55 | def ssh_host | 90 | def ssh_host |
| 91 | + ActiveSupport::Deprecation.warn("Settings.ssh_host is deprecated and will be removed from GitLab 4.1", caller) | ||
| 92 | + gitolite.ssh_host | ||
| 93 | + rescue Settingslogic::MissingSetting | ||
| 56 | git_host['host'] || web_host || 'localhost' | 94 | git_host['host'] || web_host || 'localhost' |
| 57 | end | 95 | end |
| 58 | 96 | ||
| 97 | + # FIXME: Deprecated: remove for 4.1 | ||
| 59 | def ssh_path | 98 | def ssh_path |
| 99 | + ActiveSupport::Deprecation.warn("Settings.ssh_path is deprecated and will be removed from GitLab 4.1", caller) | ||
| 100 | + gitolite.ssh_path_prefix | ||
| 101 | + rescue Settingslogic::MissingSetting | ||
| 60 | if ssh_port != 22 | 102 | if ssh_port != 22 |
| 61 | "ssh://#{ssh_user}@#{ssh_host}:#{ssh_port}/" | 103 | "ssh://#{ssh_user}@#{ssh_host}:#{ssh_port}/" |
| 62 | else | 104 | else |
| @@ -64,15 +106,27 @@ class Settings < Settingslogic | @@ -64,15 +106,27 @@ class Settings < Settingslogic | ||
| 64 | end | 106 | end |
| 65 | end | 107 | end |
| 66 | 108 | ||
| 109 | + # FIXME: Deprecated: remove for 4.1 | ||
| 67 | def git_base_path | 110 | def git_base_path |
| 111 | + ActiveSupport::Deprecation.warn("Settings.git_base_path is deprecated and will be removed from GitLab 4.1", caller) | ||
| 112 | + gitolite.repos_path | ||
| 113 | + rescue Settingslogic::MissingSetting | ||
| 68 | git_host['base_path'] || '/home/git/repositories/' | 114 | git_host['base_path'] || '/home/git/repositories/' |
| 69 | end | 115 | end |
| 70 | 116 | ||
| 117 | + # FIXME: Deprecated: remove for 4.1 | ||
| 71 | def git_hooks_path | 118 | def git_hooks_path |
| 119 | + ActiveSupport::Deprecation.warn("Settings.git_hooks_path is deprecated and will be removed from GitLab 4.1", caller) | ||
| 120 | + gitolite.hooks_path | ||
| 121 | + rescue Settingslogic::MissingSetting | ||
| 72 | git_host['hooks_path'] || '/home/git/share/gitolite/hooks/' | 122 | git_host['hooks_path'] || '/home/git/share/gitolite/hooks/' |
| 73 | end | 123 | end |
| 74 | 124 | ||
| 125 | + # FIXME: Deprecated: remove for 4.1 | ||
| 75 | def git_upload_pack | 126 | def git_upload_pack |
| 127 | + ActiveSupport::Deprecation.warn("Settings.git_upload_pack is deprecated and will be removed from GitLab 4.1", caller) | ||
| 128 | + gitolite.upload_pack | ||
| 129 | + rescue Settingslogic::MissingSetting | ||
| 76 | if git_host['upload_pack'] != false | 130 | if git_host['upload_pack'] != false |
| 77 | true | 131 | true |
| 78 | else | 132 | else |
| @@ -80,7 +134,11 @@ class Settings < Settingslogic | @@ -80,7 +134,11 @@ class Settings < Settingslogic | ||
| 80 | end | 134 | end |
| 81 | end | 135 | end |
| 82 | 136 | ||
| 137 | + # FIXME: Deprecated: remove for 4.1 | ||
| 83 | def git_receive_pack | 138 | def git_receive_pack |
| 139 | + ActiveSupport::Deprecation.warn("Settings.git_receive_pack is deprecated and will be removed from GitLab 4.1", caller) | ||
| 140 | + gitolite.receive_pack | ||
| 141 | + rescue Settingslogic::MissingSetting | ||
| 84 | if git_host['receive_pack'] != false | 142 | if git_host['receive_pack'] != false |
| 85 | true | 143 | true |
| 86 | else | 144 | else |
| @@ -88,71 +146,207 @@ class Settings < Settingslogic | @@ -88,71 +146,207 @@ class Settings < Settingslogic | ||
| 88 | end | 146 | end |
| 89 | end | 147 | end |
| 90 | 148 | ||
| 149 | + # FIXME: Deprecated: remove for 4.1 | ||
| 91 | def git_bin_path | 150 | def git_bin_path |
| 151 | + ActiveSupport::Deprecation.warn("Settings.git_bin_path is deprecated and will be removed from GitLab 4.1", caller) | ||
| 152 | + git.bin_path | ||
| 153 | + rescue Settingslogic::MissingSetting | ||
| 92 | git['path'] || '/usr/bin/git' | 154 | git['path'] || '/usr/bin/git' |
| 93 | end | 155 | end |
| 94 | 156 | ||
| 157 | + # FIXME: Deprecated: remove for 4.1 | ||
| 95 | def git_max_size | 158 | def git_max_size |
| 159 | + ActiveSupport::Deprecation.warn("Settings.git_max_size is deprecated and will be removed from GitLab 4.1", caller) | ||
| 160 | + git.max_size | ||
| 161 | + rescue Settingslogic::MissingSetting | ||
| 96 | git['git_max_size'] || 5242880 # 5.megabytes | 162 | git['git_max_size'] || 5242880 # 5.megabytes |
| 97 | end | 163 | end |
| 98 | 164 | ||
| 165 | + # FIXME: Deprecated: remove for 4.1 | ||
| 99 | def git_timeout | 166 | def git_timeout |
| 167 | + ActiveSupport::Deprecation.warn("Settings.git_timeout is deprecated and will be removed from GitLab 4.1", caller) | ||
| 168 | + git.timeout | ||
| 169 | + rescue Settingslogic::MissingSetting | ||
| 100 | git['git_timeout'] || 10 | 170 | git['git_timeout'] || 10 |
| 101 | end | 171 | end |
| 102 | 172 | ||
| 173 | + # FIXME: Deprecated: remove for 4.1 | ||
| 103 | def gitolite_admin_uri | 174 | def gitolite_admin_uri |
| 175 | + ActiveSupport::Deprecation.warn("Settings.gitolite_admin_uri is deprecated and will be removed from GitLab 4.1", caller) | ||
| 176 | + gitolite.admin_uri | ||
| 177 | + rescue Settingslogic::MissingSetting | ||
| 104 | git_host['admin_uri'] || 'git@localhost:gitolite-admin' | 178 | git_host['admin_uri'] || 'git@localhost:gitolite-admin' |
| 105 | end | 179 | end |
| 106 | 180 | ||
| 181 | + # FIXME: Deprecated: remove for 4.1 | ||
| 107 | def gitolite_config_file | 182 | def gitolite_config_file |
| 183 | + ActiveSupport::Deprecation.warn("Settings.gitolite_config_file is deprecated and will be removed from GitLab 4.1", caller) | ||
| 184 | + gitolite.config_file | ||
| 185 | + rescue Settingslogic::MissingSetting | ||
| 108 | git_host['config_file'] || 'gitolite.conf' | 186 | git_host['config_file'] || 'gitolite.conf' |
| 109 | end | 187 | end |
| 110 | 188 | ||
| 189 | + # FIXME: Deprecated: remove for 4.1 | ||
| 111 | def gitolite_admin_key | 190 | def gitolite_admin_key |
| 191 | + ActiveSupport::Deprecation.warn("Settings.gitolite_admin_key is deprecated and will be removed from GitLab 4.1", caller) | ||
| 192 | + gitolite.admin_key | ||
| 193 | + rescue Settingslogic::MissingSetting | ||
| 112 | git_host['gitolite_admin_key'] || 'gitlab' | 194 | git_host['gitolite_admin_key'] || 'gitlab' |
| 113 | end | 195 | end |
| 114 | 196 | ||
| 197 | + # FIXME: Deprecated: remove for 4.1 | ||
| 115 | def default_projects_limit | 198 | def default_projects_limit |
| 199 | + ActiveSupport::Deprecation.warn("Settings.default_projects_limit is deprecated and will be removed from GitLab 4.1", caller) | ||
| 200 | + gitlab.default_projects_limit | ||
| 201 | + rescue Settingslogic::MissingSetting | ||
| 116 | app['default_projects_limit'] || 10 | 202 | app['default_projects_limit'] || 10 |
| 117 | end | 203 | end |
| 118 | 204 | ||
| 205 | + # FIXME: Deprecated: remove for 4.1 | ||
| 119 | def backup_path | 206 | def backup_path |
| 120 | - t = app['backup_path'] || "backups/" | ||
| 121 | - t = /^\//.match(t) ? t : Rails.root .join(t) | ||
| 122 | - t | 207 | + ActiveSupport::Deprecation.warn("Settings.backup_path is deprecated and will be removed from GitLab 4.1", caller) |
| 208 | + backup.path | ||
| 209 | + rescue Settingslogic::MissingSetting | ||
| 210 | + File.expand_path(app['backup_path'] || "backups/", Rails.root) | ||
| 123 | end | 211 | end |
| 124 | 212 | ||
| 213 | + # FIXME: Deprecated: remove for 4.1 | ||
| 125 | def backup_keep_time | 214 | def backup_keep_time |
| 215 | + ActiveSupport::Deprecation.warn("Settings.backup_keep_time is deprecated and will be removed from GitLab 4.1", caller) | ||
| 216 | + backup.keep_time | ||
| 217 | + rescue Settingslogic::MissingSetting | ||
| 126 | app['backup_keep_time'] || 0 | 218 | app['backup_keep_time'] || 0 |
| 127 | end | 219 | end |
| 128 | 220 | ||
| 221 | + # FIXME: Deprecated: remove for 4.1 | ||
| 129 | def ldap_enabled? | 222 | def ldap_enabled? |
| 130 | - ldap && ldap['enabled'] | 223 | + ActiveSupport::Deprecation.warn("Settings.ldap_enabled? is deprecated and will be removed from GitLab 4.1", caller) |
| 224 | + ldap.enabled | ||
| 131 | rescue Settingslogic::MissingSetting | 225 | rescue Settingslogic::MissingSetting |
| 132 | false | 226 | false |
| 133 | end | 227 | end |
| 134 | 228 | ||
| 229 | + # FIXME: Deprecated: remove for 4.1 | ||
| 135 | def omniauth_enabled? | 230 | def omniauth_enabled? |
| 136 | - omniauth && omniauth['enabled'] | 231 | + ActiveSupport::Deprecation.warn("Settings.omniauth_enabled? is deprecated and will be removed from GitLab 4.1", caller) |
| 232 | + omniauth.enabled | ||
| 137 | rescue Settingslogic::MissingSetting | 233 | rescue Settingslogic::MissingSetting |
| 138 | false | 234 | false |
| 139 | end | 235 | end |
| 140 | 236 | ||
| 237 | + # FIXME: Deprecated: remove for 4.1 | ||
| 141 | def omniauth_providers | 238 | def omniauth_providers |
| 142 | - (omniauth_enabled? && omniauth['providers']) || [] | 239 | + ActiveSupport::Deprecation.warn("Settings.omniauth_providers is deprecated and will be removed from GitLab 4.1", caller) |
| 240 | + omniauth.providers | ||
| 241 | + rescue Settingslogic::MissingSetting | ||
| 242 | + [] | ||
| 143 | end | 243 | end |
| 144 | 244 | ||
| 245 | + # FIXME: Deprecated: remove for 4.1 | ||
| 145 | def disable_gravatar? | 246 | def disable_gravatar? |
| 247 | + ActiveSupport::Deprecation.warn("Settings.disable_gravatar? is deprecated and will be removed from GitLab 4.1", caller) | ||
| 248 | + !gravatar.enabled | ||
| 249 | + rescue Settingslogic::MissingSetting | ||
| 146 | app['disable_gravatar'] || false | 250 | app['disable_gravatar'] || false |
| 147 | end | 251 | end |
| 148 | 252 | ||
| 253 | + # FIXME: Deprecated: remove for 4.1 | ||
| 149 | def gravatar_url | 254 | def gravatar_url |
| 255 | + ActiveSupport::Deprecation.warn("Settings.gravatar_url is deprecated and will be removed from GitLab 4.1", caller) | ||
| 256 | + gravatar.plain_url | ||
| 257 | + rescue Settingslogic::MissingSetting | ||
| 150 | app['gravatar_url'] || 'http://www.gravatar.com/avatar/%{hash}?s=%{size}&d=mm' | 258 | app['gravatar_url'] || 'http://www.gravatar.com/avatar/%{hash}?s=%{size}&d=mm' |
| 151 | end | 259 | end |
| 152 | 260 | ||
| 261 | + # FIXME: Deprecated: remove for 4.1 | ||
| 153 | def gravatar_ssl_url | 262 | def gravatar_ssl_url |
| 263 | + ActiveSupport::Deprecation.warn("Settings.gravatar_ssl_url is deprecated and will be removed from GitLab 4.1", caller) | ||
| 264 | + gravatar.ssl_url | ||
| 265 | + rescue Settingslogic::MissingSetting | ||
| 154 | app['gravatar_ssl_url'] || 'https://secure.gravatar.com/avatar/%{hash}?s=%{size}&d=mm' | 266 | app['gravatar_ssl_url'] || 'https://secure.gravatar.com/avatar/%{hash}?s=%{size}&d=mm' |
| 155 | end | 267 | end |
| 156 | 268 | ||
| 269 | + | ||
| 270 | + | ||
| 271 | + def gitlab_on_non_standard_port? | ||
| 272 | + ![443, 80].include?(gitlab.port.to_i) | ||
| 273 | + end | ||
| 274 | + | ||
| 275 | + private | ||
| 276 | + | ||
| 277 | + def build_gitolite_ssh_path_prefix | ||
| 278 | + if gitolite.ssh_port != 22 | ||
| 279 | + "ssh://#{gitolite.ssh_user}@#{gitolite.ssh_host}:#{gitolite.ssh_port}/" | ||
| 280 | + else | ||
| 281 | + "#{gitolite.ssh_user}@#{gitolite.ssh_host}:" | ||
| 282 | + end | ||
| 283 | + end | ||
| 284 | + | ||
| 285 | + def build_gitlab_url | ||
| 286 | + if gitlab_on_non_standard_port? | ||
| 287 | + custom_port = ":#{gitlab.port}" | ||
| 288 | + else | ||
| 289 | + custom_port = nil | ||
| 290 | + end | ||
| 291 | + [ gitlab.protocol, | ||
| 292 | + "://", | ||
| 293 | + gitlab.host, | ||
| 294 | + custom_port | ||
| 295 | + ].join('') | ||
| 296 | + end | ||
| 157 | end | 297 | end |
| 158 | end | 298 | end |
| 299 | + | ||
| 300 | + | ||
| 301 | +# Default settings | ||
| 302 | + | ||
| 303 | +# FIXME: Deprecated: remove for 4.1 | ||
| 304 | +# all Settings.web ... | ||
| 305 | +# all Settings.app ... | ||
| 306 | +# all Settings.email ... | ||
| 307 | +# all Settings.git_host ... | ||
| 308 | +Settings['pre_40_config'] ||= Settings['web'].present? | ||
| 309 | + | ||
| 310 | +Settings['ldap'] ||= Settingslogic.new({}) | ||
| 311 | +Settings.ldap['enabled'] ||= false | ||
| 312 | + | ||
| 313 | +Settings['omniauth'] ||= Settingslogic.new({}) | ||
| 314 | +Settings.omniauth['enabled'] ||= false | ||
| 315 | +Settings.omniauth['providers'] ||= [] | ||
| 316 | + | ||
| 317 | +Settings['gitlab'] ||= Settingslogic.new({}) | ||
| 318 | +Settings.gitlab['default_projects_limit'] ||= Settings.pre_40_config ? Settings.default_projects_limit : 10 | ||
| 319 | +Settings.gitlab['host'] ||= Settings.pre_40_config ? Settings.web_host : 'localhost' | ||
| 320 | +Settings.gitlab['https'] ||= Settings.pre_40_config ? Settings.web.https : false | ||
| 321 | +Settings.gitlab['port'] ||= Settings.gitlab.https ? 443 : 80 | ||
| 322 | +Settings.gitlab['protocol'] ||= Settings.gitlab.https ? "https" : "http" | ||
| 323 | +Settings.gitlab['email_from'] ||= Settings.pre_40_config ? Settings.email_from : "gitlab@#{Settings.gitlab.host}" | ||
| 324 | +Settings.gitlab['url'] ||= Settings.pre_40_config ? Settings.url : Settings.send(:build_gitlab_url) | ||
| 325 | + | ||
| 326 | +Settings['gravatar'] ||= Settingslogic.new({}) | ||
| 327 | +Settings.gravatar['enabled'] ||= Settings.pre_40_config ? !Settings.disable_gravatar? : true | ||
| 328 | +Settings.gravatar['plain_url'] ||= Settings.pre_40_config ? Settings.gravatar_url : 'http://www.gravatar.com/avatar/%{hash}?s=%{size}&d=mm' | ||
| 329 | +Settings.gravatar['ssl_url'] ||= Settings.pre_40_config ? Settings.gravatar_ssl_url : 'https://secure.gravatar.com/avatar/%{hash}?s=%{size}&d=mm' | ||
| 330 | + | ||
| 331 | +Settings['gitolite'] ||= Settingslogic.new({}) | ||
| 332 | +Settings.gitolite['admin_key'] ||= Settings.pre_40_config ? Settings.gitolite_admin_key : 'gitlab' | ||
| 333 | +Settings.gitolite['admin_uri'] ||= Settings.pre_40_config ? Settings.gitolite_admin_uri : 'git@localhost:gitolite-admin' | ||
| 334 | +Settings.gitolite['config_file'] ||= Settings.pre_40_config ? Settings.gitolite_config_file : 'gitolite.conf' | ||
| 335 | +Settings.gitolite['hooks_path'] ||= Settings.pre_40_config ? Settings.git_hooks_path : '/home/git/share/gitolite/hooks/' | ||
| 336 | +Settings.gitolite['receive_pack'] ||= Settings.pre_40_config ? Settings.git_receive_pack : (Settings.gitolite['receive_pack'] != false) | ||
| 337 | +Settings.gitolite['repos_path'] ||= Settings.pre_40_config ? Settings.git_base_path : '/home/git/repositories/' | ||
| 338 | +Settings.gitolite['upload_pack'] ||= Settings.pre_40_config ? Settings.git_upload_pack : (Settings.gitolite['upload_pack'] != false) | ||
| 339 | +Settings.gitolite['ssh_host'] ||= Settings.pre_40_config ? Settings.ssh_host : (Settings.gitlab.host || 'localhost') | ||
| 340 | +Settings.gitolite['ssh_port'] ||= Settings.pre_40_config ? Settings.ssh_port : 22 | ||
| 341 | +Settings.gitolite['ssh_user'] ||= Settings.pre_40_config ? Settings.ssh_user : 'git' | ||
| 342 | +Settings.gitolite['ssh_path_prefix'] ||= Settings.pre_40_config ? Settings.ssh_path : Settings.send(:build_gitolite_ssh_path_prefix) | ||
| 343 | + | ||
| 344 | +Settings['backup'] ||= Settingslogic.new({}) | ||
| 345 | +Settings.backup['keep_time'] ||= Settings.pre_40_config ? Settings.backup_keep_time : 0 | ||
| 346 | +Settings.backup['path'] = Settings.pre_40_config ? Settings.backup_path : File.expand_path(Settings.backup['path'] || "tmp/backups/", Rails.root) | ||
| 347 | + | ||
| 348 | +Settings['git'] ||= Settingslogic.new({}) | ||
| 349 | +Settings.git['max_size'] ||= Settings.pre_40_config ? Settings.git_max_size : 5242880 # 5.megabytes | ||
| 350 | +Settings.git['bin_path'] ||= Settings.pre_40_config ? Settings.git_bin_path : '/usr/bin/git' | ||
| 351 | +Settings.git['timeout'] ||= Settings.pre_40_config ? Settings.git_timeout : 10 | ||
| 352 | +Settings.git['path'] ||= Settings.git.bin_path # FIXME: Deprecated: remove for 4.1 |
config/initializers/3_grit_ext.rb
| 1 | require 'grit' | 1 | require 'grit' |
| 2 | require 'pygments' | 2 | require 'pygments' |
| 3 | 3 | ||
| 4 | -Grit::Git.git_timeout = Gitlab.config.git_timeout | ||
| 5 | -Grit::Git.git_max_size = Gitlab.config.git_max_size | 4 | +Grit::Git.git_timeout = Gitlab.config.git.timeout |
| 5 | +Grit::Git.git_max_size = Gitlab.config.git.max_size | ||
| 6 | 6 | ||
| 7 | Grit::Blob.class_eval do | 7 | Grit::Blob.class_eval do |
| 8 | include Linguist::BlobHelper | 8 | include Linguist::BlobHelper |
config/initializers/devise.rb
| @@ -4,7 +4,7 @@ Devise.setup do |config| | @@ -4,7 +4,7 @@ Devise.setup do |config| | ||
| 4 | # ==> Mailer Configuration | 4 | # ==> Mailer Configuration |
| 5 | # Configure the e-mail address which will be shown in Devise::Mailer, | 5 | # Configure the e-mail address which will be shown in Devise::Mailer, |
| 6 | # note that it will be overwritten if you use your own mailer class with default "from" parameter. | 6 | # note that it will be overwritten if you use your own mailer class with default "from" parameter. |
| 7 | - config.mailer_sender = Gitlab.config.email_from | 7 | + config.mailer_sender = Gitlab.config.gitlab.email_from |
| 8 | 8 | ||
| 9 | # Configure the class responsible to send e-mails. | 9 | # Configure the class responsible to send e-mails. |
| 10 | # config.mailer = "Devise::Mailer" | 10 | # config.mailer = "Devise::Mailer" |
| @@ -205,20 +205,18 @@ Devise.setup do |config| | @@ -205,20 +205,18 @@ Devise.setup do |config| | ||
| 205 | # manager.default_strategies(:scope => :user).unshift :some_external_strategy | 205 | # manager.default_strategies(:scope => :user).unshift :some_external_strategy |
| 206 | # end | 206 | # end |
| 207 | 207 | ||
| 208 | - gl = Gitlab.config | ||
| 209 | - | ||
| 210 | - if gl.ldap_enabled? | 208 | + if Gitlab.config.ldap.enabled |
| 211 | config.omniauth :ldap, | 209 | config.omniauth :ldap, |
| 212 | - :host => gl.ldap['host'], | ||
| 213 | - :base => gl.ldap['base'], | ||
| 214 | - :uid => gl.ldap['uid'], | ||
| 215 | - :port => gl.ldap['port'], | ||
| 216 | - :method => gl.ldap['method'], | ||
| 217 | - :bind_dn => gl.ldap['bind_dn'], | ||
| 218 | - :password => gl.ldap['password'] | 210 | + :host => Gitlab.config.ldap['host'], |
| 211 | + :base => Gitlab.config.ldap['base'], | ||
| 212 | + :uid => Gitlab.config.ldap['uid'], | ||
| 213 | + :port => Gitlab.config.ldap['port'], | ||
| 214 | + :method => Gitlab.config.ldap['method'], | ||
| 215 | + :bind_dn => Gitlab.config.ldap['bind_dn'], | ||
| 216 | + :password => Gitlab.config.ldap['password'] | ||
| 219 | end | 217 | end |
| 220 | 218 | ||
| 221 | - gl.omniauth_providers.each do |gl_provider| | ||
| 222 | - config.omniauth gl_provider['name'].to_sym, gl_provider['app_id'], gl_provider['app_secret'] | 219 | + Gitlab.config.omniauth.providers.each do |provider| |
| 220 | + config.omniauth provider['name'].to_sym, provider['app_id'], provider['app_secret'] | ||
| 223 | end | 221 | end |
| 224 | end | 222 | end |
config/routes.rb
| @@ -14,10 +14,10 @@ Gitlab::Application.routes.draw do | @@ -14,10 +14,10 @@ Gitlab::Application.routes.draw do | ||
| 14 | 14 | ||
| 15 | # Enable Grack support | 15 | # Enable Grack support |
| 16 | mount Grack::Bundle.new({ | 16 | mount Grack::Bundle.new({ |
| 17 | - git_path: Gitlab.config.git_bin_path, | ||
| 18 | - project_root: Gitlab.config.git_base_path, | ||
| 19 | - upload_pack: Gitlab.config.git_upload_pack, | ||
| 20 | - receive_pack: Gitlab.config.git_receive_pack | 17 | + git_path: Gitlab.config.git.bin_path, |
| 18 | + project_root: Gitlab.config.gitolite.repos_path, | ||
| 19 | + upload_pack: Gitlab.config.gitolite.upload_pack, | ||
| 20 | + receive_pack: Gitlab.config.gitolite.receive_pack | ||
| 21 | }), at: '/:path', constraints: { path: /[-\/\w\.-]+\.git/ } | 21 | }), at: '/:path', constraints: { path: /[-\/\w\.-]+\.git/ } |
| 22 | 22 | ||
| 23 | # | 23 | # |
features/support/env.rb
| @@ -33,9 +33,9 @@ DatabaseCleaner.strategy = :truncation | @@ -33,9 +33,9 @@ DatabaseCleaner.strategy = :truncation | ||
| 33 | 33 | ||
| 34 | Spinach.hooks.before_scenario do | 34 | Spinach.hooks.before_scenario do |
| 35 | # Use tmp dir for FS manipulations | 35 | # Use tmp dir for FS manipulations |
| 36 | - Gitlab.config.stub(git_base_path: Rails.root.join('tmp', 'test-git-base-path')) | ||
| 37 | - FileUtils.rm_rf Gitlab.config.git_base_path | ||
| 38 | - FileUtils.mkdir_p Gitlab.config.git_base_path | 36 | + Gitlab.config.gitolite.stub(repos_path: Rails.root.join('tmp', 'test-git-base-path')) |
| 37 | + FileUtils.rm_rf Gitlab.config.gitolite.repos_path | ||
| 38 | + FileUtils.mkdir_p Gitlab.config.gitolite.repos_path | ||
| 39 | end | 39 | end |
| 40 | 40 | ||
| 41 | Spinach.hooks.after_scenario do | 41 | Spinach.hooks.after_scenario do |
lib/gitlab/auth.rb
| @@ -38,7 +38,7 @@ module Gitlab | @@ -38,7 +38,7 @@ module Gitlab | ||
| 38 | email: email, | 38 | email: email, |
| 39 | password: password, | 39 | password: password, |
| 40 | password_confirmation: password, | 40 | password_confirmation: password, |
| 41 | - projects_limit: Gitlab.config.default_projects_limit, | 41 | + projects_limit: Gitlab.config.gitlab.default_projects_limit, |
| 42 | }, as: :admin) | 42 | }, as: :admin) |
| 43 | if Gitlab.config.omniauth['block_auto_created_users'] && !ldap | 43 | if Gitlab.config.omniauth['block_auto_created_users'] && !ldap |
| 44 | @user.blocked = true | 44 | @user.blocked = true |
lib/gitlab/backend/gitolite.rb
| @@ -38,7 +38,7 @@ module Gitlab | @@ -38,7 +38,7 @@ module Gitlab | ||
| 38 | end | 38 | end |
| 39 | 39 | ||
| 40 | def url_to_repo path | 40 | def url_to_repo path |
| 41 | - Gitlab.config.ssh_path + "#{path}.git" | 41 | + Gitlab.config.gitolite.ssh_path_prefix + "#{path}.git" |
| 42 | end | 42 | end |
| 43 | 43 | ||
| 44 | def enable_automerge | 44 | def enable_automerge |
lib/gitlab/backend/gitolite_config.rb
| @@ -16,7 +16,7 @@ module Gitlab | @@ -16,7 +16,7 @@ module Gitlab | ||
| 16 | def ga_repo | 16 | def ga_repo |
| 17 | @ga_repo ||= ::Gitolite::GitoliteAdmin.new( | 17 | @ga_repo ||= ::Gitolite::GitoliteAdmin.new( |
| 18 | File.join(config_tmp_dir,'gitolite'), | 18 | File.join(config_tmp_dir,'gitolite'), |
| 19 | - conf: Gitlab.config.gitolite_config_file | 19 | + conf: Gitlab.config.gitolite.config_file |
| 20 | ) | 20 | ) |
| 21 | end | 21 | end |
| 22 | 22 | ||
| @@ -167,7 +167,7 @@ module Gitlab | @@ -167,7 +167,7 @@ module Gitlab | ||
| 167 | # Enable access to all repos for gitolite admin. | 167 | # Enable access to all repos for gitolite admin. |
| 168 | # We use it for accept merge request feature | 168 | # We use it for accept merge request feature |
| 169 | def admin_all_repo | 169 | def admin_all_repo |
| 170 | - owner_name = Gitlab.config.gitolite_admin_key | 170 | + owner_name = Gitlab.config.gitolite.admin_key |
| 171 | 171 | ||
| 172 | # @ALL repos premission for gitolite owner | 172 | # @ALL repos premission for gitolite owner |
| 173 | repo_name = "@all" | 173 | repo_name = "@all" |
| @@ -189,7 +189,7 @@ module Gitlab | @@ -189,7 +189,7 @@ module Gitlab | ||
| 189 | 189 | ||
| 190 | def pull tmp_dir | 190 | def pull tmp_dir |
| 191 | Dir.mkdir tmp_dir | 191 | Dir.mkdir tmp_dir |
| 192 | - `git clone #{Gitlab.config.gitolite_admin_uri} #{tmp_dir}/gitolite` | 192 | + `git clone #{Gitlab.config.gitolite.admin_uri} #{tmp_dir}/gitolite` |
| 193 | 193 | ||
| 194 | unless File.exists?(File.join(tmp_dir, 'gitolite', 'conf', 'gitolite.conf')) | 194 | unless File.exists?(File.join(tmp_dir, 'gitolite', 'conf', 'gitolite.conf')) |
| 195 | raise PullError, "unable to clone gitolite-admin repo" | 195 | raise PullError, "unable to clone gitolite-admin repo" |
lib/gitlab/project_mover.rb
| @@ -15,10 +15,10 @@ module Gitlab | @@ -15,10 +15,10 @@ module Gitlab | ||
| 15 | 15 | ||
| 16 | def execute | 16 | def execute |
| 17 | # Create new dir if missing | 17 | # Create new dir if missing |
| 18 | - new_dir_path = File.join(Gitlab.config.git_base_path, new_dir) | 18 | + new_dir_path = File.join(Gitlab.config.gitolite.repos_path, new_dir) |
| 19 | system("mkdir -m 770 #{new_dir_path}") unless File.exists?(new_dir_path) | 19 | system("mkdir -m 770 #{new_dir_path}") unless File.exists?(new_dir_path) |
| 20 | 20 | ||
| 21 | - old_path = File.join(Gitlab.config.git_base_path, old_dir, "#{project.path}.git") | 21 | + old_path = File.join(Gitlab.config.gitolite.repos_path, old_dir, "#{project.path}.git") |
| 22 | new_path = File.join(new_dir_path, "#{project.path}.git") | 22 | new_path = File.join(new_dir_path, "#{project.path}.git") |
| 23 | 23 | ||
| 24 | if File.exists? new_path | 24 | if File.exists? new_path |
lib/tasks/gitlab/activate_namespaces.rake
| @@ -27,7 +27,7 @@ namespace :gitlab do | @@ -27,7 +27,7 @@ namespace :gitlab do | ||
| 27 | end | 27 | end |
| 28 | 28 | ||
| 29 | print "\n\nMove projects from groups under groups dirs:".yellow | 29 | print "\n\nMove projects from groups under groups dirs:".yellow |
| 30 | - git_path = Gitlab.config.git_base_path | 30 | + git_path = Gitlab.config.gitolite.repos_path |
| 31 | 31 | ||
| 32 | Project.where('namespace_id IS NOT NULL').find_each(batch_size: 500) do |project| | 32 | Project.where('namespace_id IS NOT NULL').find_each(batch_size: 500) do |project| |
| 33 | next unless project.group | 33 | next unless project.group |
lib/tasks/gitlab/backup.rake
| @@ -8,7 +8,7 @@ namespace :gitlab do | @@ -8,7 +8,7 @@ namespace :gitlab do | ||
| 8 | Rake::Task["gitlab:app:db_dump"].invoke | 8 | Rake::Task["gitlab:app:db_dump"].invoke |
| 9 | Rake::Task["gitlab:app:repo_dump"].invoke | 9 | Rake::Task["gitlab:app:repo_dump"].invoke |
| 10 | 10 | ||
| 11 | - Dir.chdir(Gitlab.config.backup_path) | 11 | + Dir.chdir(Gitlab.config.backup.path) |
| 12 | 12 | ||
| 13 | # saving additional informations | 13 | # saving additional informations |
| 14 | s = {} | 14 | s = {} |
| @@ -17,7 +17,7 @@ namespace :gitlab do | @@ -17,7 +17,7 @@ namespace :gitlab do | ||
| 17 | s[:gitlab_version] = %x{git rev-parse HEAD}.gsub(/\n/,"") | 17 | s[:gitlab_version] = %x{git rev-parse HEAD}.gsub(/\n/,"") |
| 18 | s[:tar_version] = %x{tar --version | head -1}.gsub(/\n/,"") | 18 | s[:tar_version] = %x{tar --version | head -1}.gsub(/\n/,"") |
| 19 | 19 | ||
| 20 | - File.open("#{Gitlab.config.backup_path}/backup_information.yml", "w+") do |file| | 20 | + File.open("#{Gitlab.config.backup.path}/backup_information.yml", "w+") do |file| |
| 21 | file << s.to_yaml.gsub(/^---\n/,'') | 21 | file << s.to_yaml.gsub(/^---\n/,'') |
| 22 | end | 22 | end |
| 23 | 23 | ||
| @@ -39,10 +39,10 @@ namespace :gitlab do | @@ -39,10 +39,10 @@ namespace :gitlab do | ||
| 39 | 39 | ||
| 40 | # delete backups | 40 | # delete backups |
| 41 | print "Deleting old backups... " | 41 | print "Deleting old backups... " |
| 42 | - if Gitlab.config.backup_keep_time > 0 | 42 | + if Gitlab.config.backup.keep_time > 0 |
| 43 | file_list = Dir.glob("*_gitlab_backup.tar").map { |f| f.split(/_/).first.to_i } | 43 | file_list = Dir.glob("*_gitlab_backup.tar").map { |f| f.split(/_/).first.to_i } |
| 44 | file_list.sort.each do |timestamp| | 44 | file_list.sort.each do |timestamp| |
| 45 | - if Time.at(timestamp) < (Time.now - Gitlab.config.backup_keep_time) | 45 | + if Time.at(timestamp) < (Time.now - Gitlab.config.backup.keep_time) |
| 46 | %x{rm #{timestamp}_gitlab_backup.tar} | 46 | %x{rm #{timestamp}_gitlab_backup.tar} |
| 47 | end | 47 | end |
| 48 | end | 48 | end |
| @@ -55,7 +55,7 @@ namespace :gitlab do | @@ -55,7 +55,7 @@ namespace :gitlab do | ||
| 55 | # Restore backup of GitLab system | 55 | # Restore backup of GitLab system |
| 56 | desc "GITLAB | Restore a previously created backup" | 56 | desc "GITLAB | Restore a previously created backup" |
| 57 | task :backup_restore => :environment do | 57 | task :backup_restore => :environment do |
| 58 | - Dir.chdir(Gitlab.config.backup_path) | 58 | + Dir.chdir(Gitlab.config.backup.path) |
| 59 | 59 | ||
| 60 | # check for existing backups in the backup dir | 60 | # check for existing backups in the backup dir |
| 61 | file_list = Dir.glob("*_gitlab_backup.tar").each.map { |f| f.split(/_/).first.to_i } | 61 | file_list = Dir.glob("*_gitlab_backup.tar").each.map { |f| f.split(/_/).first.to_i } |
| @@ -111,7 +111,7 @@ namespace :gitlab do | @@ -111,7 +111,7 @@ namespace :gitlab do | ||
| 111 | ################################# REPOSITORIES ################################# | 111 | ################################# REPOSITORIES ################################# |
| 112 | 112 | ||
| 113 | task :repo_dump => :environment do | 113 | task :repo_dump => :environment do |
| 114 | - backup_path_repo = File.join(Gitlab.config.backup_path, "repositories") | 114 | + backup_path_repo = File.join(Gitlab.config.backup.path, "repositories") |
| 115 | FileUtils.mkdir_p(backup_path_repo) until Dir.exists?(backup_path_repo) | 115 | FileUtils.mkdir_p(backup_path_repo) until Dir.exists?(backup_path_repo) |
| 116 | puts "Dumping repositories:" | 116 | puts "Dumping repositories:" |
| 117 | project = Project.all.map { |n| [n.path, n.path_to_repo] } | 117 | project = Project.all.map { |n| [n.path, n.path_to_repo] } |
| @@ -127,7 +127,7 @@ namespace :gitlab do | @@ -127,7 +127,7 @@ namespace :gitlab do | ||
| 127 | end | 127 | end |
| 128 | 128 | ||
| 129 | task :repo_restore => :environment do | 129 | task :repo_restore => :environment do |
| 130 | - backup_path_repo = File.join(Gitlab.config.backup_path, "repositories") | 130 | + backup_path_repo = File.join(Gitlab.config.backup.path, "repositories") |
| 131 | puts "Restoring repositories:" | 131 | puts "Restoring repositories:" |
| 132 | project = Project.all.map { |n| [n.path, n.path_to_repo] } | 132 | project = Project.all.map { |n| [n.path, n.path_to_repo] } |
| 133 | project << ["gitolite-admin.git", File.join(File.dirname(project.first.second), "gitolite-admin.git")] | 133 | project << ["gitolite-admin.git", File.join(File.dirname(project.first.second), "gitolite-admin.git")] |
| @@ -136,8 +136,8 @@ namespace :gitlab do | @@ -136,8 +136,8 @@ namespace :gitlab do | ||
| 136 | FileUtils.rm_rf(project.second) if File.dirname(project.second) # delete old stuff | 136 | FileUtils.rm_rf(project.second) if File.dirname(project.second) # delete old stuff |
| 137 | if Kernel.system("cd #{File.dirname(project.second)} > /dev/null 2>&1 && git clone --bare #{backup_path_repo}/#{project.first}.bundle #{project.first}.git > /dev/null 2>&1") | 137 | if Kernel.system("cd #{File.dirname(project.second)} > /dev/null 2>&1 && git clone --bare #{backup_path_repo}/#{project.first}.bundle #{project.first}.git > /dev/null 2>&1") |
| 138 | permission_commands = [ | 138 | permission_commands = [ |
| 139 | - "sudo chmod -R g+rwX #{Gitlab.config.git_base_path}", | ||
| 140 | - "sudo chown -R #{Gitlab.config.ssh_user}:#{Gitlab.config.ssh_user} #{Gitlab.config.git_base_path}" | 139 | + "sudo chmod -R g+rwX #{Gitlab.config.gitolite.repos_path}", |
| 140 | + "sudo chown -R #{Gitlab.config.gitolite.ssh_user}:#{Gitlab.config.gitolite.ssh_user} #{Gitlab.config.gitolite.repos_path}" | ||
| 141 | ] | 141 | ] |
| 142 | permission_commands.each { |command| Kernel.system(command) } | 142 | permission_commands.each { |command| Kernel.system(command) } |
| 143 | puts "[DONE]".green | 143 | puts "[DONE]".green |
| @@ -150,7 +150,7 @@ namespace :gitlab do | @@ -150,7 +150,7 @@ namespace :gitlab do | ||
| 150 | ###################################### DB ###################################### | 150 | ###################################### DB ###################################### |
| 151 | 151 | ||
| 152 | task :db_dump => :environment do | 152 | task :db_dump => :environment do |
| 153 | - backup_path_db = File.join(Gitlab.config.backup_path, "db") | 153 | + backup_path_db = File.join(Gitlab.config.backup.path, "db") |
| 154 | FileUtils.mkdir_p(backup_path_db) unless Dir.exists?(backup_path_db) | 154 | FileUtils.mkdir_p(backup_path_db) unless Dir.exists?(backup_path_db) |
| 155 | 155 | ||
| 156 | puts "Dumping database tables:" | 156 | puts "Dumping database tables:" |
| @@ -170,7 +170,7 @@ namespace :gitlab do | @@ -170,7 +170,7 @@ namespace :gitlab do | ||
| 170 | end | 170 | end |
| 171 | 171 | ||
| 172 | task :db_restore=> :environment do | 172 | task :db_restore=> :environment do |
| 173 | - backup_path_db = File.join(Gitlab.config.backup_path, "db") | 173 | + backup_path_db = File.join(Gitlab.config.backup.path, "db") |
| 174 | 174 | ||
| 175 | puts "Restoring database tables:" | 175 | puts "Restoring database tables:" |
| 176 | Rake::Task["db:reset"].invoke | 176 | Rake::Task["db:reset"].invoke |
lib/tasks/gitlab/check.rake
| @@ -90,7 +90,7 @@ namespace :gitlab do | @@ -90,7 +90,7 @@ namespace :gitlab do | ||
| 90 | end | 90 | end |
| 91 | 91 | ||
| 92 | def check_gitlab_config_not_outdated | 92 | def check_gitlab_config_not_outdated |
| 93 | - print "GitLab config not outdated? ... " | 93 | + print "GitLab config outdated? ... " |
| 94 | 94 | ||
| 95 | gitlab_config_file = Rails.root.join("config", "gitlab.yml") | 95 | gitlab_config_file = Rails.root.join("config", "gitlab.yml") |
| 96 | unless File.exists?(gitlab_config_file) | 96 | unless File.exists?(gitlab_config_file) |
| @@ -98,11 +98,12 @@ namespace :gitlab do | @@ -98,11 +98,12 @@ namespace :gitlab do | ||
| 98 | end | 98 | end |
| 99 | 99 | ||
| 100 | # omniauth or ldap could have been deleted from the file | 100 | # omniauth or ldap could have been deleted from the file |
| 101 | - if File.read(gitlab_config_file) =~ /^web:/ | ||
| 102 | - puts "yes".green | 101 | + unless Gitlab.config.pre_40_config |
| 102 | + puts "no".green | ||
| 103 | else | 103 | else |
| 104 | - puts "no".red | 104 | + puts "yes".red |
| 105 | try_fixing_it( | 105 | try_fixing_it( |
| 106 | + "Backup your config/gitlab.yml", | ||
| 106 | "Copy config/gitlab.yml.example to config/gitlab.yml", | 107 | "Copy config/gitlab.yml.example to config/gitlab.yml", |
| 107 | "Update config/gitlab.yml to match your setup" | 108 | "Update config/gitlab.yml to match your setup" |
| 108 | ) | 109 | ) |
| @@ -268,7 +269,7 @@ namespace :gitlab do | @@ -268,7 +269,7 @@ namespace :gitlab do | ||
| 268 | 269 | ||
| 269 | options = { | 270 | options = { |
| 270 | "user.name" => "GitLab", | 271 | "user.name" => "GitLab", |
| 271 | - "user.email" => Gitlab.config.email_from | 272 | + "user.email" => Gitlab.config.gitlab.email_from |
| 272 | } | 273 | } |
| 273 | correct_options = options.map do |name, value| | 274 | correct_options = options.map do |name, value| |
| 274 | run("git config --global --get #{name}").try(:squish) == value | 275 | run("git config --global --get #{name}").try(:squish) == value |
| @@ -290,7 +291,7 @@ namespace :gitlab do | @@ -290,7 +291,7 @@ namespace :gitlab do | ||
| 290 | end | 291 | end |
| 291 | 292 | ||
| 292 | def check_gitlab_in_git_group | 293 | def check_gitlab_in_git_group |
| 293 | - gitolite_ssh_user = Gitlab.config.ssh_user | 294 | + gitolite_ssh_user = Gitlab.config.gitolite.ssh_user |
| 294 | print "gitlab user is in #{gitolite_ssh_user} group? ... " | 295 | print "gitlab user is in #{gitolite_ssh_user} group? ... " |
| 295 | 296 | ||
| 296 | if run_and_match("id -rnG", /\Wgit\W/) | 297 | if run_and_match("id -rnG", /\Wgit\W/) |
| @@ -309,10 +310,10 @@ namespace :gitlab do | @@ -309,10 +310,10 @@ namespace :gitlab do | ||
| 309 | 310 | ||
| 310 | # see https://github.com/gitlabhq/gitlabhq/issues/1059 | 311 | # see https://github.com/gitlabhq/gitlabhq/issues/1059 |
| 311 | def check_issue_1056_shell_profile_error | 312 | def check_issue_1056_shell_profile_error |
| 312 | - gitolite_ssh_user = Gitlab.config.ssh_user | 313 | + gitolite_ssh_user = Gitlab.config.gitolite.ssh_user |
| 313 | print "Has no \"-e\" in ~#{gitolite_ssh_user}/.profile ... " | 314 | print "Has no \"-e\" in ~#{gitolite_ssh_user}/.profile ... " |
| 314 | 315 | ||
| 315 | - profile_file = File.expand_path("~#{Gitlab.config.ssh_user}/.profile") | 316 | + profile_file = File.expand_path("~#{Gitlab.config.gitolite.ssh_user}/.profile") |
| 316 | 317 | ||
| 317 | unless File.read(profile_file) =~ /^-e PATH/ | 318 | unless File.read(profile_file) =~ /^-e PATH/ |
| 318 | puts "yes".green | 319 | puts "yes".green |
| @@ -414,7 +415,7 @@ namespace :gitlab do | @@ -414,7 +415,7 @@ namespace :gitlab do | ||
| 414 | 415 | ||
| 415 | test_path = "/tmp/gitlab_gitolite_admin_test" | 416 | test_path = "/tmp/gitlab_gitolite_admin_test" |
| 416 | FileUtils.rm_rf(test_path) | 417 | FileUtils.rm_rf(test_path) |
| 417 | - `git clone -q #{Gitlab.config.gitolite_admin_uri} #{test_path}` | 418 | + `git clone -q #{Gitlab.config.gitolite.admin_uri} #{test_path}` |
| 418 | raise unless $?.success? | 419 | raise unless $?.success? |
| 419 | 420 | ||
| 420 | puts "yes".green | 421 | puts "yes".green |
| @@ -423,7 +424,7 @@ namespace :gitlab do | @@ -423,7 +424,7 @@ namespace :gitlab do | ||
| 423 | try_fixing_it( | 424 | try_fixing_it( |
| 424 | "Make sure the \"admin_uri\" is set correctly in config/gitlab.yml", | 425 | "Make sure the \"admin_uri\" is set correctly in config/gitlab.yml", |
| 425 | "Try cloning it yourself with:", | 426 | "Try cloning it yourself with:", |
| 426 | - " git clone -q #{Gitlab.config.gitolite_admin_uri} /tmp/gitolite-admin", | 427 | + " git clone -q #{Gitlab.config.gitolite.admin_uri} /tmp/gitolite-admin", |
| 427 | "Make sure Gitolite is installed correctly." | 428 | "Make sure Gitolite is installed correctly." |
| 428 | ) | 429 | ) |
| 429 | for_more_information( | 430 | for_more_information( |
| @@ -452,7 +453,7 @@ namespace :gitlab do | @@ -452,7 +453,7 @@ namespace :gitlab do | ||
| 452 | puts "no".red | 453 | puts "no".red |
| 453 | try_fixing_it( | 454 | try_fixing_it( |
| 454 | "Try committing to it yourself with:", | 455 | "Try committing to it yourself with:", |
| 455 | - " git clone -q #{Gitlab.config.gitolite_admin_uri} /tmp/gitolite-admin", | 456 | + " git clone -q #{Gitlab.config.gitolite.admin_uri} /tmp/gitolite-admin", |
| 456 | " touch foo", | 457 | " touch foo", |
| 457 | " git add foo", | 458 | " git add foo", |
| 458 | " git commit -m \"foo\"", | 459 | " git commit -m \"foo\"", |
| @@ -469,7 +470,7 @@ namespace :gitlab do | @@ -469,7 +470,7 @@ namespace :gitlab do | ||
| 469 | def check_dot_gitolite_exists | 470 | def check_dot_gitolite_exists |
| 470 | print "Config directory exists? ... " | 471 | print "Config directory exists? ... " |
| 471 | 472 | ||
| 472 | - gitolite_config_path = File.expand_path("~#{Gitlab.config.ssh_user}/.gitolite") | 473 | + gitolite_config_path = File.expand_path("~#{Gitlab.config.gitolite.ssh_user}/.gitolite") |
| 473 | 474 | ||
| 474 | if File.directory?(gitolite_config_path) | 475 | if File.directory?(gitolite_config_path) |
| 475 | puts "yes".green | 476 | puts "yes".green |
| @@ -490,7 +491,7 @@ namespace :gitlab do | @@ -490,7 +491,7 @@ namespace :gitlab do | ||
| 490 | def check_dot_gitolite_permissions | 491 | def check_dot_gitolite_permissions |
| 491 | print "Config directory access is drwxr-x---? ... " | 492 | print "Config directory access is drwxr-x---? ... " |
| 492 | 493 | ||
| 493 | - gitolite_config_path = File.expand_path("~#{Gitlab.config.ssh_user}/.gitolite") | 494 | + gitolite_config_path = File.expand_path("~#{Gitlab.config.gitolite.ssh_user}/.gitolite") |
| 494 | unless File.exists?(gitolite_config_path) | 495 | unless File.exists?(gitolite_config_path) |
| 495 | puts "can't check because of previous errors".magenta | 496 | puts "can't check because of previous errors".magenta |
| 496 | return | 497 | return |
| @@ -512,7 +513,7 @@ namespace :gitlab do | @@ -512,7 +513,7 @@ namespace :gitlab do | ||
| 512 | end | 513 | end |
| 513 | 514 | ||
| 514 | def check_dot_gitolite_user_and_group | 515 | def check_dot_gitolite_user_and_group |
| 515 | - gitolite_ssh_user = Gitlab.config.ssh_user | 516 | + gitolite_ssh_user = Gitlab.config.gitolite.ssh_user |
| 516 | print "Config directory owned by #{gitolite_ssh_user}:#{gitolite_ssh_user} ... " | 517 | print "Config directory owned by #{gitolite_ssh_user}:#{gitolite_ssh_user} ... " |
| 517 | 518 | ||
| 518 | gitolite_config_path = File.expand_path("~#{gitolite_ssh_user}/.gitolite") | 519 | gitolite_config_path = File.expand_path("~#{gitolite_ssh_user}/.gitolite") |
| @@ -615,9 +616,9 @@ namespace :gitlab do | @@ -615,9 +616,9 @@ namespace :gitlab do | ||
| 615 | print "post-receive hook exists? ... " | 616 | print "post-receive hook exists? ... " |
| 616 | 617 | ||
| 617 | hook_file = "post-receive" | 618 | hook_file = "post-receive" |
| 618 | - gitolite_hooks_path = File.join(Gitlab.config.git_hooks_path, "common") | 619 | + gitolite_hooks_path = File.join(Gitlab.config.gitolite.hooks_path, "common") |
| 619 | gitolite_hook_file = File.join(gitolite_hooks_path, hook_file) | 620 | gitolite_hook_file = File.join(gitolite_hooks_path, hook_file) |
| 620 | - gitolite_ssh_user = Gitlab.config.ssh_user | 621 | + gitolite_ssh_user = Gitlab.config.gitolite.ssh_user |
| 621 | 622 | ||
| 622 | gitlab_hook_file = Rails.root.join.join("lib", "hooks", hook_file) | 623 | gitlab_hook_file = Rails.root.join.join("lib", "hooks", hook_file) |
| 623 | 624 | ||
| @@ -639,10 +640,10 @@ namespace :gitlab do | @@ -639,10 +640,10 @@ namespace :gitlab do | ||
| 639 | print "post-receive hook up-to-date? ... " | 640 | print "post-receive hook up-to-date? ... " |
| 640 | 641 | ||
| 641 | hook_file = "post-receive" | 642 | hook_file = "post-receive" |
| 642 | - gitolite_hooks_path = File.join(Gitlab.config.git_hooks_path, "common") | 643 | + gitolite_hooks_path = File.join(Gitlab.config.gitolite.hooks_path, "common") |
| 643 | gitolite_hook_file = File.join(gitolite_hooks_path, hook_file) | 644 | gitolite_hook_file = File.join(gitolite_hooks_path, hook_file) |
| 644 | gitolite_hook_content = File.read(gitolite_hook_file) | 645 | gitolite_hook_content = File.read(gitolite_hook_file) |
| 645 | - gitolite_ssh_user = Gitlab.config.ssh_user | 646 | + gitolite_ssh_user = Gitlab.config.gitolite.ssh_user |
| 646 | 647 | ||
| 647 | unless File.exists?(gitolite_hook_file) | 648 | unless File.exists?(gitolite_hook_file) |
| 648 | puts "can't check because of previous errors".magenta | 649 | puts "can't check because of previous errors".magenta |
| @@ -669,7 +670,7 @@ namespace :gitlab do | @@ -669,7 +670,7 @@ namespace :gitlab do | ||
| 669 | def check_repo_base_exists | 670 | def check_repo_base_exists |
| 670 | print "Repo base directory exists? ... " | 671 | print "Repo base directory exists? ... " |
| 671 | 672 | ||
| 672 | - repo_base_path = Gitlab.config.git_base_path | 673 | + repo_base_path = Gitlab.config.gitolite.repos_path |
| 673 | 674 | ||
| 674 | if File.exists?(repo_base_path) | 675 | if File.exists?(repo_base_path) |
| 675 | puts "yes".green | 676 | puts "yes".green |
| @@ -691,7 +692,7 @@ namespace :gitlab do | @@ -691,7 +692,7 @@ namespace :gitlab do | ||
| 691 | def check_repo_base_permissions | 692 | def check_repo_base_permissions |
| 692 | print "Repo base access is drwsrws---? ... " | 693 | print "Repo base access is drwsrws---? ... " |
| 693 | 694 | ||
| 694 | - repo_base_path = Gitlab.config.git_base_path | 695 | + repo_base_path = Gitlab.config.gitolite.repos_path |
| 695 | unless File.exists?(repo_base_path) | 696 | unless File.exists?(repo_base_path) |
| 696 | puts "can't check because of previous errors".magenta | 697 | puts "can't check because of previous errors".magenta |
| 697 | return | 698 | return |
| @@ -713,10 +714,10 @@ namespace :gitlab do | @@ -713,10 +714,10 @@ namespace :gitlab do | ||
| 713 | end | 714 | end |
| 714 | 715 | ||
| 715 | def check_repo_base_user_and_group | 716 | def check_repo_base_user_and_group |
| 716 | - gitolite_ssh_user = Gitlab.config.ssh_user | 717 | + gitolite_ssh_user = Gitlab.config.gitolite.ssh_user |
| 717 | print "Repo base owned by #{gitolite_ssh_user}:#{gitolite_ssh_user}? ... " | 718 | print "Repo base owned by #{gitolite_ssh_user}:#{gitolite_ssh_user}? ... " |
| 718 | 719 | ||
| 719 | - repo_base_path = Gitlab.config.git_base_path | 720 | + repo_base_path = Gitlab.config.gitolite.repos_path |
| 720 | unless File.exists?(repo_base_path) | 721 | unless File.exists?(repo_base_path) |
| 721 | puts "can't check because of previous errors".magenta | 722 | puts "can't check because of previous errors".magenta |
| 722 | return | 723 | return |
| @@ -777,9 +778,9 @@ namespace :gitlab do | @@ -777,9 +778,9 @@ namespace :gitlab do | ||
| 777 | print "post-receive hooks in repos are links: ... " | 778 | print "post-receive hooks in repos are links: ... " |
| 778 | 779 | ||
| 779 | hook_file = "post-receive" | 780 | hook_file = "post-receive" |
| 780 | - gitolite_hooks_path = File.join(Gitlab.config.git_hooks_path, "common") | 781 | + gitolite_hooks_path = File.join(Gitlab.config.gitolite.hooks_path, "common") |
| 781 | gitolite_hook_file = File.join(gitolite_hooks_path, hook_file) | 782 | gitolite_hook_file = File.join(gitolite_hooks_path, hook_file) |
| 782 | - gitolite_ssh_user = Gitlab.config.ssh_user | 783 | + gitolite_ssh_user = Gitlab.config.gitolite.ssh_user |
| 783 | 784 | ||
| 784 | unless File.exists?(gitolite_hook_file) | 785 | unless File.exists?(gitolite_hook_file) |
| 785 | puts "can't check because of previous errors".magenta | 786 | puts "can't check because of previous errors".magenta |
| @@ -828,7 +829,7 @@ namespace :gitlab do | @@ -828,7 +829,7 @@ namespace :gitlab do | ||
| 828 | ######################## | 829 | ######################## |
| 829 | 830 | ||
| 830 | def gitolite_home | 831 | def gitolite_home |
| 831 | - File.expand_path("~#{Gitlab.config.ssh_user}") | 832 | + File.expand_path("~#{Gitlab.config.gitolite.ssh_user}") |
| 832 | end | 833 | end |
| 833 | 834 | ||
| 834 | def gitolite_version | 835 | def gitolite_version |
lib/tasks/gitlab/import.rake
| @@ -12,7 +12,7 @@ namespace :gitlab do | @@ -12,7 +12,7 @@ namespace :gitlab do | ||
| 12 | desc "GITLAB | Import bare repositories from git_host -> base_path into GitLab project instance" | 12 | desc "GITLAB | Import bare repositories from git_host -> base_path into GitLab project instance" |
| 13 | task :repos => :environment do | 13 | task :repos => :environment do |
| 14 | 14 | ||
| 15 | - git_base_path = Gitlab.config.git_base_path | 15 | + git_base_path = Gitlab.config.gitolite.repos_path |
| 16 | repos_to_import = Dir.glob(git_base_path + '/*') | 16 | repos_to_import = Dir.glob(git_base_path + '/*') |
| 17 | 17 | ||
| 18 | repos_to_import.each do |repo_path| | 18 | repos_to_import.each do |repo_path| |
lib/tasks/gitlab/info.rake
| @@ -46,7 +46,7 @@ namespace :gitlab do | @@ -46,7 +46,7 @@ namespace :gitlab do | ||
| 46 | http_clone_url = project.http_url_to_repo | 46 | http_clone_url = project.http_url_to_repo |
| 47 | ssh_clone_url = project.ssh_url_to_repo | 47 | ssh_clone_url = project.ssh_url_to_repo |
| 48 | 48 | ||
| 49 | - omniauth_providers = Gitlab.config.omniauth_providers | 49 | + omniauth_providers = Gitlab.config.omniauth.providers |
| 50 | omniauth_providers.map! { |provider| provider['name'] } | 50 | omniauth_providers.map! { |provider| provider['name'] } |
| 51 | 51 | ||
| 52 | puts "" | 52 | puts "" |
| @@ -55,17 +55,17 @@ namespace :gitlab do | @@ -55,17 +55,17 @@ namespace :gitlab do | ||
| 55 | puts "Revision:\t#{Gitlab::Revision}" | 55 | puts "Revision:\t#{Gitlab::Revision}" |
| 56 | puts "Directory:\t#{Rails.root}" | 56 | puts "Directory:\t#{Rails.root}" |
| 57 | puts "DB Adapter:\t#{database_adapter}" | 57 | puts "DB Adapter:\t#{database_adapter}" |
| 58 | - puts "URL:\t\t#{Gitlab.config.url}" | 58 | + puts "URL:\t\t#{Gitlab.config.gitlab.url}" |
| 59 | puts "HTTP Clone URL:\t#{http_clone_url}" | 59 | puts "HTTP Clone URL:\t#{http_clone_url}" |
| 60 | puts "SSH Clone URL:\t#{ssh_clone_url}" | 60 | puts "SSH Clone URL:\t#{ssh_clone_url}" |
| 61 | - puts "Using LDAP:\t#{Gitlab.config.ldap_enabled? ? "yes".green : "no"}" | ||
| 62 | - puts "Using Omniauth:\t#{Gitlab.config.omniauth_enabled? ? "yes".green : "no"}" | ||
| 63 | - puts "Omniauth Providers: #{omniauth_providers.map(&:magenta).join(', ')}" if Gitlab.config.omniauth_enabled? | 61 | + puts "Using LDAP:\t#{Gitlab.config.ldap.enabled ? "yes".green : "no"}" |
| 62 | + puts "Using Omniauth:\t#{Gitlab.config.omniauth.enabled ? "yes".green : "no"}" | ||
| 63 | + puts "Omniauth Providers: #{omniauth_providers.map(&:magenta).join(', ')}" if Gitlab.config.omniauth.enabled | ||
| 64 | 64 | ||
| 65 | 65 | ||
| 66 | 66 | ||
| 67 | # check Gitolite version | 67 | # check Gitolite version |
| 68 | - gitolite_version_file = "#{Gitlab.config.git_base_path}/../gitolite/src/VERSION" | 68 | + gitolite_version_file = "#{Gitlab.config.gitolite.repos_path}/../gitolite/src/VERSION" |
| 69 | if File.exists?(gitolite_version_file) && File.readable?(gitolite_version_file) | 69 | if File.exists?(gitolite_version_file) && File.readable?(gitolite_version_file) |
| 70 | gitolite_version = File.read(gitolite_version_file) | 70 | gitolite_version = File.read(gitolite_version_file) |
| 71 | end | 71 | end |
| @@ -73,11 +73,11 @@ namespace :gitlab do | @@ -73,11 +73,11 @@ namespace :gitlab do | ||
| 73 | puts "" | 73 | puts "" |
| 74 | puts "Gitolite information".yellow | 74 | puts "Gitolite information".yellow |
| 75 | puts "Version:\t#{gitolite_version || "unknown".red}" | 75 | puts "Version:\t#{gitolite_version || "unknown".red}" |
| 76 | - puts "Admin URI:\t#{Gitlab.config.gitolite_admin_uri}" | ||
| 77 | - puts "Admin Key:\t#{Gitlab.config.gitolite_admin_key}" | ||
| 78 | - puts "Repositories:\t#{Gitlab.config.git_base_path}" | ||
| 79 | - puts "Hooks:\t\t#{Gitlab.config.git_hooks_path}" | ||
| 80 | - puts "Git:\t\t#{Gitlab.config.git.path}" | 76 | + puts "Admin URI:\t#{Gitlab.config.gitolite.admin_uri}" |
| 77 | + puts "Admin Key:\t#{Gitlab.config.gitolite.admin_key}" | ||
| 78 | + puts "Repositories:\t#{Gitlab.config.gitolite.repos_path}" | ||
| 79 | + puts "Hooks:\t\t#{Gitlab.config.gitolite.hooks_path}" | ||
| 80 | + puts "Git:\t\t#{Gitlab.config.git.bin_path}" | ||
| 81 | 81 | ||
| 82 | end | 82 | end |
| 83 | 83 |
spec/helpers/application_helper_spec.rb
| @@ -43,7 +43,7 @@ describe ApplicationHelper do | @@ -43,7 +43,7 @@ describe ApplicationHelper do | ||
| 43 | let(:user_email) { 'user@email.com' } | 43 | let(:user_email) { 'user@email.com' } |
| 44 | 44 | ||
| 45 | it "should return a generic avatar path when Gravatar is disabled" do | 45 | it "should return a generic avatar path when Gravatar is disabled" do |
| 46 | - Gitlab.config.stub(:disable_gravatar?).and_return(true) | 46 | + Gitlab.config.gravatar.stub(:enabled).and_return(false) |
| 47 | gravatar_icon(user_email).should == 'no_avatar.png' | 47 | gravatar_icon(user_email).should == 'no_avatar.png' |
| 48 | end | 48 | end |
| 49 | 49 | ||
| @@ -63,7 +63,7 @@ describe ApplicationHelper do | @@ -63,7 +63,7 @@ describe ApplicationHelper do | ||
| 63 | 63 | ||
| 64 | it "should return custom gravatar path when gravatar_url is set" do | 64 | it "should return custom gravatar path when gravatar_url is set" do |
| 65 | stub!(:request).and_return(double(:ssl? => false)) | 65 | stub!(:request).and_return(double(:ssl? => false)) |
| 66 | - Gitlab.config.stub(:gravatar_url).and_return('http://example.local/?s=%{size}&hash=%{hash}') | 66 | + Gitlab.config.gravatar.stub(:plain_url).and_return('http://example.local/?s=%{size}&hash=%{hash}') |
| 67 | gravatar_icon(user_email, 20).should == 'http://example.local/?s=20&hash=b58c6f14d292556214bd64909bcdb118' | 67 | gravatar_icon(user_email, 20).should == 'http://example.local/?s=20&hash=b58c6f14d292556214bd64909bcdb118' |
| 68 | end | 68 | end |
| 69 | 69 |
spec/lib/gitolite_spec.rb
| @@ -16,7 +16,7 @@ describe Gitlab::Gitolite do | @@ -16,7 +16,7 @@ describe Gitlab::Gitolite do | ||
| 16 | it { should respond_to :create_repository } | 16 | it { should respond_to :create_repository } |
| 17 | it { should respond_to :remove_repository } | 17 | it { should respond_to :remove_repository } |
| 18 | 18 | ||
| 19 | - it { gitolite.url_to_repo('diaspora').should == Gitlab.config.ssh_path + "diaspora.git" } | 19 | + it { gitolite.url_to_repo('diaspora').should == Gitlab.config.gitolite.ssh_path_prefix + "diaspora.git" } |
| 20 | 20 | ||
| 21 | it "should call config update" do | 21 | it "should call config update" do |
| 22 | gitolite_config.should_receive(:update_project!) | 22 | gitolite_config.should_receive(:update_project!) |
spec/lib/project_mover_spec.rb
| @@ -6,7 +6,7 @@ describe Gitlab::ProjectMover do | @@ -6,7 +6,7 @@ describe Gitlab::ProjectMover do | ||
| 6 | before do | 6 | before do |
| 7 | FileUtils.rm_rf base_path if File.exists? base_path | 7 | FileUtils.rm_rf base_path if File.exists? base_path |
| 8 | 8 | ||
| 9 | - Gitlab.config.stub(git_base_path: base_path) | 9 | + Gitlab.config.gitolite.stub(repos_path: base_path) |
| 10 | 10 | ||
| 11 | @project = create(:project) | 11 | @project = create(:project) |
| 12 | end | 12 | end |
spec/models/project_hooks_spec.rb
| @@ -108,7 +108,7 @@ describe Project, "Hooks" do | @@ -108,7 +108,7 @@ describe Project, "Hooks" do | ||
| 108 | it { should include(id: @commit.id) } | 108 | it { should include(id: @commit.id) } |
| 109 | it { should include(message: @commit.safe_message) } | 109 | it { should include(message: @commit.safe_message) } |
| 110 | it { should include(timestamp: @commit.date.xmlschema) } | 110 | it { should include(timestamp: @commit.date.xmlschema) } |
| 111 | - it { should include(url: "#{Gitlab.config.url}/#{project.code}/commit/#{@commit.id}") } | 111 | + it { should include(url: "#{Gitlab.config.gitlab.url}/#{project.code}/commit/#{@commit.id}") } |
| 112 | 112 | ||
| 113 | context "with a author" do | 113 | context "with a author" do |
| 114 | subject { @data[:commits].first[:author] } | 114 | subject { @data[:commits].first[:author] } |
spec/models/project_spec.rb
| @@ -148,7 +148,7 @@ describe Project do | @@ -148,7 +148,7 @@ describe Project do | ||
| 148 | 148 | ||
| 149 | it "should return valid url to repo" do | 149 | it "should return valid url to repo" do |
| 150 | project = Project.new(path: "somewhere") | 150 | project = Project.new(path: "somewhere") |
| 151 | - project.url_to_repo.should == Gitlab.config.ssh_path + "somewhere.git" | 151 | + project.url_to_repo.should == Gitlab.config.gitolite.ssh_path_prefix + "somewhere.git" |
| 152 | end | 152 | end |
| 153 | 153 | ||
| 154 | it "should return path to repo" do | 154 | it "should return path to repo" do |
| @@ -158,7 +158,7 @@ describe Project do | @@ -158,7 +158,7 @@ describe Project do | ||
| 158 | 158 | ||
| 159 | it "returns the full web URL for this repo" do | 159 | it "returns the full web URL for this repo" do |
| 160 | project = Project.new(path: "somewhere") | 160 | project = Project.new(path: "somewhere") |
| 161 | - project.web_url.should == "#{Gitlab.config.url}/somewhere" | 161 | + project.web_url.should == "#{Gitlab.config.gitlab.url}/somewhere" |
| 162 | end | 162 | end |
| 163 | 163 | ||
| 164 | describe "last_activity methods" do | 164 | describe "last_activity methods" do |
spec/spec_helper.rb
| @@ -42,8 +42,8 @@ RSpec.configure do |config| | @@ -42,8 +42,8 @@ RSpec.configure do |config| | ||
| 42 | # ActiveRecord::Base.observers.enable(:all) | 42 | # ActiveRecord::Base.observers.enable(:all) |
| 43 | 43 | ||
| 44 | # Use tmp dir for FS manipulations | 44 | # Use tmp dir for FS manipulations |
| 45 | - Gitlab.config.stub(git_base_path: Rails.root.join('tmp', 'test-git-base-path')) | ||
| 46 | - FileUtils.rm_rf Gitlab.config.git_base_path | ||
| 47 | - FileUtils.mkdir_p Gitlab.config.git_base_path | 45 | + Gitlab.config.gitolite.stub(repos_path: Rails.root.join('tmp', 'test-git-base-path')) |
| 46 | + FileUtils.rm_rf Gitlab.config.gitolite.repos_path | ||
| 47 | + FileUtils.mkdir_p Gitlab.config.gitolite.repos_path | ||
| 48 | end | 48 | end |
| 49 | end | 49 | end |
spec/workers/post_receive_spec.rb
| @@ -39,6 +39,6 @@ describe PostReceive do | @@ -39,6 +39,6 @@ describe PostReceive do | ||
| 39 | end | 39 | end |
| 40 | 40 | ||
| 41 | def pwd(project) | 41 | def pwd(project) |
| 42 | - File.join(Gitlab.config.git_base_path, project.path_with_namespace) | 42 | + File.join(Gitlab.config.gitolite.repos_path, project.path_with_namespace) |
| 43 | end | 43 | end |
| 44 | end | 44 | end |