Skip to content
/ ldapsp Public

Foreman Realm smart proxy for creating LDAP entries

License

Notifications You must be signed in to change notification settings

agx/ldapsp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

A Realm smart proxy for the Foreman

Build Status

ldapsp is a simple smart proxy for the Foreman that creates LDAP entries on host creation and removes them on destroy. It uses Foreman's realm smart proxy API.

Running

To run in development mode use

make shell

The proxy will then listen on port 8080. You can check this like

$ curl https://localhost:8080/features
["realm"]

See tests/test.sh for more usage examples. To build releases, etc. check the rebar3 documentation.

Configuration in the Foreman

Add the smart proxy via Foreman Web-GUI (Infrastructure → Smart Proxies → New Smart Proxy). Foreman will detect the realm feature.

Configuration of ldapsp

priv/ldapsp.config has the ldap connection parameters while priv/policy.erl determines how the created ldap entries will look like. The default policy creates entries of the form:

dn: cn=<hostname>, dc=example, dc=com
objectclass: top
objectclass: groupOfUniqueNames
cn: <hostname>
uniqueMember: cn=<hostname>, dc=example, dc=com

You can replace the module with whatever Erlang module you like as long as it implements add_host/3 and del_host/2.

For SSL it's simplest to put e.g. apache in front of it.