in files/gitlab-cookbooks/gitlab/libraries/gitlab_workhorse.rb [115:140]
def parse_separate_redis_instance_settings
if Gitlab['gitlab_rails']['redis_workhorse_instance']
uri = URI(Gitlab['gitlab_rails']['redis_workhorse_instance'])
Gitlab['gitlab_workhorse']['redis_ssl'] = uri.scheme == 'rediss' unless Gitlab['gitlab_workhorse'].key?('redis_ssl')
if uri.scheme == 'unix'
Gitlab['gitlab_workhorse']['redis_socket'] = uri.path
else
Gitlab['gitlab_workhorse']['redis_host'] ||= if uri.path.start_with?('/')
uri.host
else
uri.path
end
Gitlab['gitlab_workhorse']['redis_port'] ||= uri.port
Gitlab['gitlab_workhorse']['redis_password'] ||= uri.password
Gitlab['gitlab_workhorse']['redis_database'] ||= uri.path.delete_prefix('/') if uri.path.start_with?('/')
end
end
%w[username password cluster_nodes sentinels sentinel_master sentinels_password].each do |setting|
Gitlab['gitlab_workhorse']["redis_#{setting}"] ||= Gitlab['gitlab_rails']["redis_workhorse_#{setting}"]
end
end