IMPORTANT: Before launching the following script you need to build the fuse image yourself, see # Build the Fuse image
sh fuseLdap.sh
This is a simple script that run for you 3 docker images:
- OpenLdap with preloaded users/groups data: valdar/ldapfuseusers:1.0.0
- address:
localhost:389admin dn:cn=admin,dc=example,dc=orgadmin password:admin
- address:
- PhpLdapAdmin (just to have a convenient way to visualize/modifiy ldap contents): osixia/phpldapadmin:0.6.9
- address:
https://localhostadmin dn:cn=admin,dc=example,dc=orgadmin password:admin
- address:
- Jbosse fuse (you need to build this image yourself, see # Build the Fuse image)
After that it creates a fabric and update the configuration to authenticate using the openldap server. In this way you will be able to log in in to karaf console or hawtio using credentials stored in openldap:
- user:
fuseldappassword:fuseldapgroup:admin - user:
notfuseldappassword:notfuseldapgroup:none
When the script finish you should be able to check fuse container's local ports with:
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
9e996ab8e080 fuse6.3:latest "/bin/sh -c 'service About an hour ago Up About an hour 0.0.0.0:49153->44444/tcp, 0.0.0.0:49154->61616/tcp, 0.0.0.0:49155->8101/tcp, 0.0.0.0:49156->8181/tcp, 0.0.0.0:49157->1099/tcp, 0.0.0.0:49158->22/tcp root
398aa9b12fc8 osixia/phpldapadmin:0.5.0 "/sbin/my_init" About an hour ago Up About an hour 80/tcp, 0.0.0.0:443->443/tcp phpldapadmin
38b8e0885dbf valdar/ldapfuseusers:1.0.0 "/sbin/my_init" About an hour ago Up About an hour 0.0.0.0:389->389/tcp openldap
in this example the hawtio console would be at http://localhost:49156, activeMQ at localhost:49154, karaf console at localhost:49155 and ssh into the container at localhost:49158.
Should now be possible to login in to hawtio or the karaf console using the users fuseldap with password fuseldap (coming from ldap) and the default user admin password admin (coming from the ZookeeperLoginMoule); should not be possible to login with user notfuseldap and password notfuseldap (although this one is present in ldap, dose not belong to the group admin so is lacking the permissions to login to fuse).
Before launching the script you need to build fuse6.3 image yourself by downloading JBoss Fuse distribution from
http://www.jboss.org/products/fuse
The build process will extract in the Docker image all the zip files it will find in your working folder. If it finds more than a file it will put all of them inside the Docker it's going to be created. Most of the time you will want to have just a single zip file.
# download docker file
wget https://raw.github.com/paoloantinori/dockerfiles/master/centos/fuse/fuse/Dockerfile
# check if base image has been updated
docker pull pantinor/fuse
# build your docker fuse image. you are expected to have either a copy of jboss-fuse-karaf-6.3.x.redhat-y.zip or a link to that file in the current folder.
docker build --rm -t fuse6.3 .
more infoan be found at https://github.com/paoloantinori/dockerfiles/tree/master/centos/fuse
Instructions and code for this same lab targeting Fuse 6.2.1 has been moved to his own branch: https://github.com/valdar/fuseLdapAuthentcation/tree/fuse-6.2.1