Search in sources :

Example 1 with HdbDatabaseEntry

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);
}
Also used : HdbDatabaseEntry(org.platformlayer.service.openldap.ops.ldap.HdbDatabaseEntry) OrganizationLdapEntry(org.platformlayer.service.openldap.ops.ldap.OrganizationLdapEntry) LdapDomain(org.platformlayer.service.openldap.model.LdapDomain) OrganizationalUnitLdapEntry(org.platformlayer.service.openldap.ops.ldap.OrganizationalUnitLdapEntry) ManagedFilesystemItem(org.platformlayer.ops.filesystem.ManagedFilesystemItem) File(java.io.File) OrganizationalRoleLdapEntry(org.platformlayer.service.openldap.ops.ldap.OrganizationalRoleLdapEntry) LdapDN(org.platformlayer.ops.ldap.LdapDN)

Example 2 with HdbDatabaseEntry

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;
}
Also used : HdbDatabaseEntry(org.platformlayer.service.openldap.ops.ldap.HdbDatabaseEntry) LdapDN(org.platformlayer.ops.ldap.LdapDN)

Aggregations

LdapDN (org.platformlayer.ops.ldap.LdapDN)2 HdbDatabaseEntry (org.platformlayer.service.openldap.ops.ldap.HdbDatabaseEntry)2 File (java.io.File)1 ManagedFilesystemItem (org.platformlayer.ops.filesystem.ManagedFilesystemItem)1 LdapDomain (org.platformlayer.service.openldap.model.LdapDomain)1 OrganizationLdapEntry (org.platformlayer.service.openldap.ops.ldap.OrganizationLdapEntry)1 OrganizationalRoleLdapEntry (org.platformlayer.service.openldap.ops.ldap.OrganizationalRoleLdapEntry)1 OrganizationalUnitLdapEntry (org.platformlayer.service.openldap.ops.ldap.OrganizationalUnitLdapEntry)1