27 lines
844 B
Ruby
27 lines
844 B
Ruby
namespace :ldap do
|
|
desc "Reset the LDAP directory and set up base entries and default org"
|
|
task seed: :environment do |t, args|
|
|
ldap = LdapService.new
|
|
|
|
# Delete all existing entries and re-add base entries
|
|
ldap.reset_directory!
|
|
|
|
ldap.add_organization "kosmos.org", "Kosmos", true
|
|
|
|
# add admin role
|
|
ldap.add_entry "cn=admin_role,ou=kosmos.org,cn=users,dc=kosmos,dc=org", {
|
|
objectClass: %w{top LDAPsubentry nsRoleDefinition nsComplexRoleDefinition nsFilteredRoleDefinition},
|
|
cn: "admin_role",
|
|
nsRoleFilter: "(&(objectclass=person)(admin=true))",
|
|
description: "filtered role for admins"
|
|
}, true
|
|
end
|
|
|
|
desc "List user domains/organizations"
|
|
task list_organizations: :environment do |t, args|
|
|
ldap = LdapService.new
|
|
orgs = ldap.fetch_organizations
|
|
puts orgs.inspect
|
|
end
|
|
end
|