summaryrefslogtreecommitdiff
path: root/config/initializers/load_balancing.rb
diff options
context:
space:
mode:
Diffstat (limited to 'config/initializers/load_balancing.rb')
-rw-r--r--config/initializers/load_balancing.rb23
1 files changed, 23 insertions, 0 deletions
diff --git a/config/initializers/load_balancing.rb b/config/initializers/load_balancing.rb
new file mode 100644
index 00000000000..1ac422a6e8a
--- /dev/null
+++ b/config/initializers/load_balancing.rb
@@ -0,0 +1,23 @@
+# We need to run this initializer after migrations are done so it doesn't fail on CI
+
+Gitlab.ee do
+ if ActiveRecord::Base.connected? && ActiveRecord::Base.connection.data_source_exists?('licenses')
+ if Gitlab::Database::LoadBalancing.enable?
+ Gitlab::Database.disable_prepared_statements
+
+ Gitlab::Application.configure do |config|
+ config.middleware.use(Gitlab::Database::LoadBalancing::RackMiddleware)
+ end
+
+ Gitlab::Database::LoadBalancing.configure_proxy
+
+ # This needs to be executed after fork of clustered processes
+ Gitlab::Cluster::LifecycleEvents.on_worker_start do
+ # Service discovery must be started after configuring the proxy, as service
+ # discovery depends on this.
+ Gitlab::Database::LoadBalancing.start_service_discovery
+ end
+
+ end
+ end
+end