---
|
|
- name: 'populate tree - organization units'
|
|
ldap_entry:
|
|
dn: 'ou={{ item }},{{ ldap_basedn }}'
|
|
objectClass:
|
|
- 'organizationalUnit'
|
|
bind_dn: 'cn=admin,{{ ldap_basedn }}'
|
|
bind_pw: '{{ ldap_passwd }}'
|
|
loop:
|
|
- 'People'
|
|
- 'Group'
|
|
- 'Server'
|
|
- 'VirtualDomain'
|
|
- 'Kerberos'
|
|
|
|
- name: 'populate tree - virtual domains'
|
|
ldap_entry:
|
|
dn: 'vd={{ item }},ou=VirtualDomain,{{ ldap_basedn }}'
|
|
objectClass:
|
|
- 'VirtualDomain'
|
|
attributes:
|
|
postfixTransport: 'maildrop:'
|
|
delete: 'FALSE'
|
|
accountActive: 'TRUE'
|
|
lastChange: '{{ ansible_date_time.epoch }}'
|
|
bind_dn: 'cn=admin,{{ ldap_basedn }}'
|
|
bind_pw: '{{ ldap_passwd }}'
|
|
loop: '{{ virtual_domains }}'
|
|
|
|
- name: 'popoulate tree - virtual domain postmasters'
|
|
ldap_entry:
|
|
dn: 'cn=postmaster,vd={{ item }},ou=VirtualDomain,{{ ldap_basedn }}'
|
|
objectClass:
|
|
- 'VirtualMailAlias'
|
|
attributes:
|
|
mail: 'postmaster@{{ item }}'
|
|
editAccounts: 'TRUE'
|
|
accountActive: 'TRUE'
|
|
lastChange: '{{ ansible_date_time.epoch }}'
|
|
maildrop: 'postmaster'
|
|
sn: 'postmaster'
|
|
bind_dn: 'cn=admin,{{ ldap_basedn }}'
|
|
bind_pw: '{{ ldap_passwd }}'
|
|
loop: '{{ virtual_domains }}'
|
|
|
|
- name: 'populate tree - posix groups'
|
|
ldap_entry:
|
|
dn: 'cn={{ item.key }},ou=Group,{{ ldap_basedn }}'
|
|
objectClass:
|
|
- 'posixGroup'
|
|
attributes:
|
|
gidNumber: '{{ item.value }}'
|
|
bind_dn: 'cn=admin,{{ ldap_basedn }}'
|
|
bind_pw: '{{ ldap_passwd }}'
|
|
loop: '{{ ldap_groups_posix|dict2items }}'
|
|
|
|
- name: 'populate tree - name groups'
|
|
ldap_entry:
|
|
dn: 'cn={{ item }},ou=Group,{{ ldap_basedn }}'
|
|
objectClass:
|
|
- 'groupOfNames'
|
|
attributes:
|
|
member: 'cn=admin,{{ ldap_basedn }}'
|
|
bind_dn: 'cn=admin,{{ ldap_basedn }}'
|
|
bind_pw: '{{ ldap_passwd }}'
|
|
loop: '{{ ldap_groups_name }}'
|
|
|
|
- name: 'provisioning tree - test users'
|
|
ldap_entry:
|
|
dn: 'uid={{ item.key }},ou=People,{{ ldap_basedn }}'
|
|
objectClass:
|
|
- 'inetOrgPerson'
|
|
- 'authorizedServiceObject'
|
|
attributes:
|
|
sn: '{{ item.value.sn }}'
|
|
mail: '{{ item.value.mail }}'
|
|
bind_dn: 'cn=admin,{{ ldap_basedn }}'
|
|
bind_pw: '{{ ldap_passwd }}'
|
|
loop: '{{ ldap_users_common|dict2items + ldap_users_admin|dict2items }}'
|
|
|
|
- name: 'provisioning tree - test users passwd'
|
|
ldap_passwd:
|
|
dn: 'uid={{ item.key }},ou=People,{{ ldap_basedn }}'
|
|
passwd: '{{ item.value.password }}'
|
|
bind_dn: 'cn=admin,{{ ldap_basedn }}'
|
|
bind_pw: '{{ ldap_passwd }}'
|
|
loop: '{{ ldap_users_common|dict2items + ldap_users_admin|dict2items }}'
|
|
|
|
- name: 'provisioning tree - authorizedService'
|
|
ldap_attr:
|
|
dn: 'uid={{ item.key }},ou=People,{{ ldap_basedn }}'
|
|
name: 'authorizedService'
|
|
values: '{{ item.value.authorizedServices }}'
|
|
bind_dn: 'cn=admin,{{ ldap_basedn }}'
|
|
bind_pw: '{{ ldap_passwd }}'
|
|
when: item.value.authorizedServices is defined
|
|
loop: '{{ ldap_users_common|dict2items + ldap_users_admin|dict2items }}'
|
|
|
|
- name: 'provisioning tree - admin group members'
|
|
ldap_attr:
|
|
dn: 'cn=admin,ou=Group,{{ ldap_basedn }}'
|
|
name: 'member'
|
|
values: 'uid={{ item.key }},ou=People,{{ ldap_basedn }}'
|
|
bind_dn: 'cn=admin,{{ ldap_basedn }}'
|
|
bind_pw: '{{ ldap_passwd }}'
|
|
loop: '{{ ldap_users_admin|dict2items }}'
|
|
|
|
- name: 'provisioning tree - servers'
|
|
ldap_entry:
|
|
dn: 'cn={{ item }},ou=Server,{{ ldap_basedn }}'
|
|
objectClass:
|
|
- 'person'
|
|
attributes:
|
|
sn: '{{ item }}'
|
|
bind_dn: 'cn=admin,{{ ldap_basedn }}'
|
|
bind_pw: '{{ ldap_passwd }}'
|
|
loop: '{{ ldap_server_accounts }}'
|
|
...
|