I am setting up an OpenLDAP server on Ubuntu so that this will be the authoritative user database for authentication. I'm going to be using Atlassian Crowd with it so that Google Apps can then use SSO against Crowd.
To further maximise the investment in LDAP, I want to use Google's directory sync tool so that IT can manage the LDAP details and then the sync tool will upload to Google. This will also ensure that if the user uses Crowd to change their password, GADS will resync the password to Google so that non-SSO applications like smartphones, POP, etc, continue to work.
My question stems from how best to define some of the objects in OpenLDAP. People seem to be fairly straightforward to define as the inetOrgPerson objectClass defines all of the attributes I want.
Mailing groups and contacts seem to be harder to pin down as I cannot find any objectClasses that fit the bill. For example, groupOfUniqueNames doesn't have a mail attribute (for defining the email address). I cannot find anything that would seem to resemble a contact.
The documentation for GADS suggests that the tool would look for an attribute like "literal" as holding the email address. There aren't any suggestions on what might be used for contacts.
Any suggestions on how I can proceed? I do want to use LDAP for the groups rather than Google Apps because I also want to use the group membership to control access to resources such as SSH access to servers, git repository access, etc.