Notes for configuring Jenkins with LDAP inside FreeBSD cluster
Configuring LDAP client
(this looks out-of-dated)
- pkg install openldap-client (Not really necessary, but useful for testing LDAP)
- copy /usr/local/etc/openldap/* files from freefall.freebsd.org to the Jenkins host
Configuring LDAP in Jenkins
make sure that Jenkins LDAP Plugin is installed
follow Jenkins Standard Security Setup, configuring LDAP
Enabled Matrix Based Security. Create a user in the UI with the same login id as in LDAP.
- Look at the config files in /usr/local/etc/openldap/ and put enter the parameters in the Jenkins LDAP Plugin cofiguration UI
- Use ldaps:// for the URL so that SSL is used.
Configuring the certificate
This is not needed anymore since ldap.freebsd.org is using letsencrypt and the CA information is in base now
For ldaps:// , it may be necessary to add the certificate associated with the LDAP server to the JDK's list of trusted certificates. This is especially true if the certificate is self-signed or not built-in JDK. If you don't do this, then authentication errors will occur.
If this is necessary, then you should:
- Make sure that the opendjk is installed from ports / pkg.
Obtain the certificate for the LDAP server from https://www.gandi.net/static/CAs/GandiStandardSSLCA2.pem
- Copy default cacert file from $JAVA_HOME/lib/security/cacerts to $JENKINS_HOME/cacerts
Import certificate:
keytool -import -trustcacerts -alias gandistandardsslca2 -file GandiStandardSSLCA2.pem -keystore $JENKINS_HOME/cacerts
(Default password for openjdk certificate store is: changeit)
Make jenkins use this new keystore by adding this line to /etc/rc.conf:
jenkins_java_opts="-Djavax.net.ssl.trustStore=/usr/local/jenkins/cacerts"