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.
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.
Add the smart proxy via Foreman Web-GUI (Infrastructure → Smart Proxies → New Smart Proxy). Foreman will detect the realm feature.
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.