diff options
Diffstat (limited to 'roles/common-LDAP/tasks/main.yml')
-rw-r--r-- | roles/common-LDAP/tasks/main.yml | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/roles/common-LDAP/tasks/main.yml b/roles/common-LDAP/tasks/main.yml index 85ad831..e86fa45 100644 --- a/roles/common-LDAP/tasks/main.yml +++ b/roles/common-LDAP/tasks/main.yml @@ -95,34 +95,42 @@ service: name=slapd state=started when: not (r1.changed or r2.changed) - meta: flush_handlers - name: Copy fripost & amavis' schema copy: src=etc/ldap/schema/{{ item }} dest=/etc/ldap/schema/{{ item }} owner=root group=root mode=0644 # It'd certainly be nicer if we didn't have to deploy amavis' schema # everywhere, but we need the 'objectClass' in our replicates, hence # they need to be aware of the 'amavisAccount' class. with_items: - fripost.ldif - amavis.schema tags: - amavis - name: Load amavis' schema - openldap: target=/etc/ldap/schema/amavis.schema state=present + openldap: target=/etc/ldap/schema/amavis.schema format=slapd.conf name=amavis tags: - ldap - name: Load Fripost' schema - openldap: target=/etc/ldap/schema/fripost.ldif state=present + openldap: target=/etc/ldap/schema/fripost.ldif tags: - ldap # We assume a clean (=stock) cn=config - name: Configure the LDAP database openldap: target=etc/ldap/database.ldif.j2 local=template - state=present + +# On read-only replicates, you might have to temporarily switch back to +# read-write, delete the SyncRepl, and delete the DN manually: +# sudo ldapdelete -Y EXTERNAL -H ldapi:// cn=admin,dc=fripost,dc=org +- name: Remove cn=admin,dc=fripost,dc=org + openldap: name="cn=admin,dc=fripost,dc=org" delete=entry + +- name: Remove the rootDN under the 'config' database + openldap: name="olcDatabase={0}config,cn=config" delete=olcRootDN,olcRootPW |