use of org.platformlayer.service.openldap.ops.ldap.HdbDatabaseEntry in project platformlayer by platformlayer.
the class LdapDomainController method addChildren.
@Override
protected void addChildren() throws OpsException {
LdapDomain ldapDomain = OpsContext.get().getInstance(LdapDomain.class);
String hostName = ldapDomain.organizationName;
LdapDN ldapBase = LdapServerUtilities.createBaseDN(hostName);
File dataRoot = new File("/var/ldap/data");
File dataDir = new File(dataRoot, hostName);
String ldapBaseOrganization = hostName;
ManagedFilesystemItem directory = ManagedDirectory.build(dataDir, "0700").setGroup("openldap").setOwner("openldap");
addChild(directory);
HdbDatabaseEntry db = buildDatabase(ldapBase, dataDir, hostName);
addChild(db);
OrganizationLdapEntry organization = buildOrganization(ldapBase, ldapBaseOrganization);
organization.setTop(true);
addChild(organization);
String ldapAdminPassword = LdapPasswords.getLdapPasswordEncoded(ldapDomain.adminPassword.plaintext());
OrganizationalRoleLdapEntry organizationalRole = buildOrganizationalRole(ldapBase, LdapAttributes.MANAGER_CN, "LDAP Administrator", ldapAdminPassword);
addChild(organizationalRole);
OrganizationalUnitLdapEntry users = buildOrganizationUnit(ldapBase, LdapAttributes.LDAP_USERS_CONTAINER_OU, "Users");
addChild(users);
OrganizationalUnitLdapEntry groups = buildOrganizationUnit(ldapBase, LdapAttributes.LDAP_GROUPS_CONTAINER_OU, "Groups");
addChild(groups);
}
use of org.platformlayer.service.openldap.ops.ldap.HdbDatabaseEntry in project platformlayer by platformlayer.
the class LdapDomainController method buildDatabase.
private HdbDatabaseEntry buildDatabase(LdapDN ldapBase, File dataDir, String dbName) {
HdbDatabaseEntry database = Injection.getInstance(HdbDatabaseEntry.class);
database.setLdapDN(new LdapDN(LdapAttributes.LDAP_ATTRIBUTE_CN, "config").childDN("olcDatabase", "hdb"));
database.setLdapRoot(ldapBase);
database.setDataDirectory(dataDir);
database.setDbName(dbName);
database.setOnlyConfigureOnForce(true);
return database;
}
Aggregations