summaryrefslogtreecommitdiff
path: root/config
diff options
context:
space:
mode:
authorJacob Vosmaer <contact@jacobvosmaer.nl>2016-03-09 15:16:46 +0100
committerJacob Vosmaer <contact@jacobvosmaer.nl>2016-03-09 15:16:46 +0100
commitc46e6eff104891ca4e404605ad3bf302a3aad9c7 (patch)
tree36552d841679239cad915ddbb2e2721d89f8a962 /config
parent500337c4b23700a30876c6d2f8e7c612f8114432 (diff)
downloadgitlab-ce-c46e6eff104891ca4e404605ad3bf302a3aad9c7.tar.gz
Parse config/resque.yml in one place only
Diffstat (limited to 'config')
-rw-r--r--config/application.rb18
-rw-r--r--config/initializers/session_store.rb5
-rw-r--r--config/initializers/sidekiq.rb17
-rw-r--r--config/mail_room.yml9
4 files changed, 13 insertions, 36 deletions
diff --git a/config/application.rb b/config/application.rb
index 7fd75ebe69e..d8d1e7b4679 100644
--- a/config/application.rb
+++ b/config/application.rb
@@ -4,6 +4,7 @@ require 'rails/all'
require 'devise'
I18n.config.enforce_available_locales = false
Bundler.require(:default, Rails.env)
+require_relative '../lib/gitlab/redis_config'
module Gitlab
REDIS_CACHE_NAMESPACE = 'cache:gitlab'
@@ -67,22 +68,7 @@ module Gitlab
end
end
- # Use Redis caching across all environments
- redis_config_file = Rails.root.join('config', 'resque.yml')
-
- redis_url_string = if File.exists?(redis_config_file)
- YAML.load_file(redis_config_file)[Rails.env]
- else
- "redis://localhost:6379"
- end
-
- # Redis::Store does not handle Unix sockets well, so let's do it for them
- redis_config_hash = Redis::Store::Factory.extract_host_options_from_uri(redis_url_string)
- redis_uri = URI.parse(redis_url_string)
- if redis_uri.scheme == 'unix'
- redis_config_hash[:path] = redis_uri.path
- end
-
+ redis_config_hash = Gitlab::RedisConfig.redis_store_options
redis_config_hash[:namespace] = REDIS_CACHE_NAMESPACE
redis_config_hash[:expires_in] = 2.weeks # Cache should not grow forever
config.cache_store = :redis_store, redis_config_hash
diff --git a/config/initializers/session_store.rb b/config/initializers/session_store.rb
index 0fc725842ba..3da5d46be92 100644
--- a/config/initializers/session_store.rb
+++ b/config/initializers/session_store.rb
@@ -13,9 +13,12 @@ end
if Rails.env.test?
Gitlab::Application.config.session_store :cookie_store, key: "_gitlab_session"
else
+ redis_config = Gitlab::RedisConfig.redis_store_options
+ redis_config[:namespace] = 'session:gitlab'
+
Gitlab::Application.config.session_store(
:redis_store, # Using the cookie_store would enable session replay attacks.
- servers: Rails.application.config.cache_store[1].merge(namespace: 'session:gitlab'), # re-use the Redis config from the Rails cache store
+ servers: redis_config,
key: '_gitlab_session',
secure: Gitlab.config.gitlab.https,
httponly: true,
diff --git a/config/initializers/sidekiq.rb b/config/initializers/sidekiq.rb
index dcf6ce74d96..cc83137745a 100644
--- a/config/initializers/sidekiq.rb
+++ b/config/initializers/sidekiq.rb
@@ -1,16 +1,9 @@
-# Custom Redis configuration
-config_file = Rails.root.join('config', 'resque.yml')
-
-resque_url = if File.exists?(config_file)
- YAML.load_file(config_file)[Rails.env]
- else
- "redis://localhost:6379"
- end
+SIDEKIQ_REDIS_NAMESPACE = 'resque:gitlab'
Sidekiq.configure_server do |config|
config.redis = {
- url: resque_url,
- namespace: 'resque:gitlab'
+ url: Gitlab::RedisConfig.url,
+ namespace: SIDEKIQ_REDIS_NAMESPACE
}
config.server_middleware do |chain|
@@ -36,7 +29,7 @@ end
Sidekiq.configure_client do |config|
config.redis = {
- url: resque_url,
- namespace: 'resque:gitlab'
+ url: Gitlab::RedisConfig.url,
+ namespace: SIDEKIQ_REDIS_NAMESPACE
}
end
diff --git a/config/mail_room.yml b/config/mail_room.yml
index f266a70ee0d..aed55f74eab 100644
--- a/config/mail_room.yml
+++ b/config/mail_room.yml
@@ -2,6 +2,7 @@
<%
require "yaml"
require "json"
+require_relative "lib/gitlab/redis_config"
rails_env = ENV["RAILS_ENV"] || ENV["RACK_ENV"] || "development"
@@ -17,13 +18,7 @@ if File.exists?(config_file)
config['mailbox'] = "inbox" if config['mailbox'].nil?
if config['enabled'] && config['address'] && config['address'].include?('%{key}')
- redis_config_file = "config/resque.yml"
- redis_url =
- if File.exists?(redis_config_file)
- YAML.load_file(redis_config_file)[rails_env]
- else
- "redis://localhost:6379"
- end
+ redis_url = Gitlab::RedisConfig.new(rails_env).url
%>
-
:host: <%= config['host'].to_json %>