parse_separate_redis_instance_settings

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