Search in sources :

Example 6 with LdapDN

use of org.platformlayer.ops.ldap.LdapDN in project platformlayer by platformlayer.

the class GitServerController method buildTemplateModel.

@Override
public void buildTemplateModel(Map<String, Object> model) throws OpsException {
    LdapDomain ldapDomain = getLdapDomain();
    LdapService ldapService = getLdapService();
    LdapDN organizationDN = LdapDN.fromDomainName(ldapDomain.organizationName);
    LdapDN allUsersDN = organizationDN.childDN("ou", "Users");
    LdapDN managerDN = organizationDN.childDN("cn", "Manager");
    LdapDN groupsDN = organizationDN.childDN("ou", "Groups");
    LdapDN gitUsersDN = groupsDN.childDN("cn", "Git");
    // String authLdapUrl = "ldap://192.168.192.67:389/ou=Users,dc=com,dc=fathomscale?uid";
    // String authLDAPBindDN = "cn=Manager,dc=com,dc=fathomscale";
    // String authLDAPBindPassword = "adminsecret";
    // String requireLdapGroup = "cn=Git,ou=Groups,dc=com,dc=fathomscale";
    int port = 389;
    List<EndpointInfo> endpoints = EndpointInfo.findEndpoints(ldapService.getTags(), port);
    EndpointInfo ldapEndpoint = EndpointChooser.preferIpv4().choose(endpoints);
    if (ldapEndpoint == null) {
        throw new OpsException("Cannot find suitable LDAP endpoint");
    }
    // TODO: Maybe we should just reference an LdapGroup
    // TODO: It sucks that we're logging in here as the Manager account
    // LdapGroup -> LdapDomain -> LdapService
    String authLdapUrl = "ldap://" + ldapEndpoint.publicIp + ":389/" + allUsersDN.toLdifEncoded() + "?uid";
    String authLDAPBindDN = managerDN.toLdifEncoded();
    String authLDAPBindPassword = ldapDomain.adminPassword.plaintext();
    String requireLdapGroup = gitUsersDN.toLdifEncoded();
    model.put("AuthLDAPURL", authLdapUrl);
    model.put("AuthLDAPBindDN", authLDAPBindDN);
    model.put("AuthLDAPBindPassword", authLDAPBindPassword);
    model.put("requireLdapGroup", requireLdapGroup);
}
Also used : EndpointInfo(org.platformlayer.core.model.EndpointInfo) OpsException(org.platformlayer.ops.OpsException) LdapDomain(org.platformlayer.service.openldap.model.LdapDomain) LdapService(org.platformlayer.service.openldap.model.LdapService) LdapDN(org.platformlayer.ops.ldap.LdapDN) PublicEndpoint(org.platformlayer.ops.networks.PublicEndpoint)

Example 7 with LdapDN

use of org.platformlayer.ops.ldap.LdapDN 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)7 LdapDomain (org.platformlayer.service.openldap.model.LdapDomain)3 LdapService (org.platformlayer.service.openldap.model.LdapService)2 HdbDatabaseEntry (org.platformlayer.service.openldap.ops.ldap.HdbDatabaseEntry)2 File (java.io.File)1 EndpointInfo (org.platformlayer.core.model.EndpointInfo)1 OpsException (org.platformlayer.ops.OpsException)1 ManagedFilesystemItem (org.platformlayer.ops.filesystem.ManagedFilesystemItem)1 PublicEndpoint (org.platformlayer.ops.networks.PublicEndpoint)1 GitService (org.platformlayer.service.git.model.GitService)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