Eddú Meléndez

Zuul: Application Configuration Management

Months ago I read the following blog Mule Meets Zuul Part I | Part II at Mulesoft’s blog and Zuul caught my attention.

What is the problem?

It is a headache when you have to lead with a lot of property files and even worst when you have many environments.

What is Zuul?

Zuul is an open source web application which centralize and manage property files configuration.

What can I do?

  • Create environments
  • Upload property files
  • Create new entries
  • Clone property files between environments
  • Group property files in folders
  • Encryption support

Steps to install Zuul

Zuul can integrate with Google, Yahoo, LDAP and Active Directory.

Here the steps to set up Zuul against LDAP.

1. Install OpenLDAP.

2. Load this file into the LDAP.

3. Instal Mysql

1
2
3
yum install-y mysql-server mysql-devel
chkconfig mysqld on
service mysqld start

4. Create zuul database.

5. Download Zuul.

6. Set this parameters at:

Unix: %TOMCAT_HOME%/bin/catalina.sh

1
export JAVA_OPTS=-Dspring.profiles.active="security-ldap"

Windows: %TOMCAT_HOME%/bin/catalina.bat

1
set JAVA_OPTS=-Dspring.profiles.active="security-ldap"

7. Add database driver into %TOMCAT_HOME%/lib.

8. Copy ldap.properties and zuul-data-config.properties from zuul/WEB-INF/classes/examples to %TOMCAT_HOME%/lib.

9. Modify ldap.properties

ldap.properties
1
2
3
4
5
6
7
8
9
10
11
ldap.url=ldap://localhost:389
ldap.username=cn=Manager,dc=example,dc=com
ldap.password=p@ssw0rd
ldap.dn.ROLE_SYSTEM_ADMIN=CN=Zuul System Admins,OU=Groups,DC=acme,DC=com
ldap.dn.ROLE_ADMIN=CN=Zuul Admins,OU=Groups,DC=acme,DC=com
ldap.dn.ROLE_USER=CN=Zuul Users,OU=Groups,DC=acme,DC=com
ldap.group.search.base=OU=Groups,DC=acme,DC=com
ldap.group.role.attribute=entryDN
ldap.group.filter=member={0}
ldap.user.search.base=OU=Users,DC=acme,DC=com
ldap.user.search.filter=uid={0}

10. Start tomcat and zuul application will create the database tables using liquibase.

Now, you have Zuul application ready to use.

Create a property in dev environment named myproperty

Download Zuul demo

Now run mvn test, you will get the value from Zuul Service.

Screenshots

Create new property option.

Create new property view.

Property created.

Property view and ready to add key and values.

Adding new property.

Property created in DEV environment.

Key Management option.

Key Management view.

Changing password.

You can also create groups.

Comments