aboutsummaryrefslogtreecommitdiffstats
path: root/modules/openldap/templates/init_ldap.sh
diff options
context:
space:
mode:
Diffstat (limited to 'modules/openldap/templates/init_ldap.sh')
-rw-r--r--modules/openldap/templates/init_ldap.sh40
1 files changed, 40 insertions, 0 deletions
diff --git a/modules/openldap/templates/init_ldap.sh b/modules/openldap/templates/init_ldap.sh
new file mode 100644
index 00000000..dfcaf236
--- /dev/null
+++ b/modules/openldap/templates/init_ldap.sh
@@ -0,0 +1,40 @@
+#!/bin/bash
+
+ldapadd -Y EXTERNAL -H ldapi:/// <<EOF
+dn: <%= dc_suffix %>
+dc: <%= dc_suffix.split(',')[0].split('=')[1] %>
+objectClass: domain
+objectClass: domainRelatedObject
+associatedDomain: <%= domain %>
+
+<% for g in ['People','Group','Hosts'] %>
+dn: ou=<%= g%>,<%= dc_suffix %>
+ou: <%= g %>
+objectClass: organizationalUnit
+<% end %>
+
+<%
+gid = 5000
+for g in ['packagers','web','sysadmin','packagers-committers','forum-developers'] %>
+dn: cn=mga-<%= g %>,ou=Group,<%= dc_suffix %>
+objectClass: groupOfNames
+objectClass: posixGroup
+cn: mga-<%= g %>
+gidNumber: <%= gid %>
+member: cn=manager,<%= dc_suffix %>
+<%-
+gid+=1
+end -%>
+
+
+<% # FIXME automatically get the list of servers
+for g in ['duvel','alamut'] %>
+dn: cn=<%= g%>.<%= domain %>,ou=Hosts,<%= dc_suffix %>
+objectClass: device
+objectClass: simpleSecurityObject
+cn: <%= g%>.<%= domain %>
+userPassword: x
+<% end %>
+
+
+EOF