What does this MR do?
Add support for LDAP server failover. Closed gitlab-org/gitlab-ee#139.
It introduces an LDAP configuration key called hosts
. Users can specify a server set with the syntax ['primary-ldap.example.com:389', 'failover-ldap.example.com:3890']
. The first item will be used first in all cases while the second will be failover. The existing separate host
and port
configurations will continue to work if hosts
is not set.
NOTE: gitlab_omniauth-ldap
1.3.0 needs to be released before this is merged.
Are there points in the code the reviewer needs to double check?
No.
Why was this MR needed?
Many organizations want to have LDAP failover support. Net::LDAP supports it but omniauth-ldap and GitLab have not until now. It's simple to add because the library supports it. I chose to include this in CE because it would cause unnecessary merge conflicts if we try to separate the feature. It's also not a lot of effort so we should just not cause ourselves headaches for CE-EE merges. Also, it's nice to give this feature to the community.
Does this MR meet the acceptance criteria?
-
CHANGELOG entry added -
Documentation created/updated -
API support added - Tests
-
Added for this feature/bug -
All builds are passing
-
-
Conform by the merge request performance guides -
Conform by the style guides -
Branch has no merge conflicts with master
(if you do - rebase it please) -
Squashed related commits together