summaryrefslogtreecommitdiffstats
path: root/roles
diff options
context:
space:
mode:
authorGuilhem Moulin <guilhem@fripost.org>2014-07-06 19:55:58 +0200
committerGuilhem Moulin <guilhem@fripost.org>2015-06-07 02:52:32 +0200
commit1e68d980a0587bb1afea3685d0a46fce86135cb9 (patch)
tree64ef0d52ec5142058beab3ce5728d7cfbdd9f1a8 /roles
parentf877db8c189fc0a0c43aa5df9303ad34cceb774e (diff)
Enable zero-copy updates to the LDAP directory.
Diffstat (limited to 'roles')
-rw-r--r--roles/LDAP-provider/tasks/main.yml9
-rw-r--r--roles/common-LDAP/tasks/main.yml27
-rw-r--r--roles/common-LDAP/templates/etc/ldap/database.ldif.j22
3 files changed, 12 insertions, 26 deletions
diff --git a/roles/LDAP-provider/tasks/main.yml b/roles/LDAP-provider/tasks/main.yml
index 64c8e30..fc9ed62 100644
--- a/roles/LDAP-provider/tasks/main.yml
+++ b/roles/LDAP-provider/tasks/main.yml
@@ -1,12 +1,7 @@
-- name: Copy the syncprov overlay configuration
- copy: src=etc/ldap/syncprov.ldif
- dest=/etc/ldap/fripost/syncprov.ldif
- owner=root group=root
- mode=0644
-
- name: Load and configure the syncprov overlay
openldap: module=syncprov state=present
suffix=o=mailHosting,dc=fripost,dc=org
- target=/etc/ldap/fripost/syncprov.ldif
+ target=etc/ldap/syncprov.ldif
+ local=file
# TODO: authz constraint
diff --git a/roles/common-LDAP/tasks/main.yml b/roles/common-LDAP/tasks/main.yml
index 3ef02e8..5aa8a2e 100644
--- a/roles/common-LDAP/tasks/main.yml
+++ b/roles/common-LDAP/tasks/main.yml
@@ -43,18 +43,6 @@
# Not sure if required
- Restart slapd
-- name: Create directory /etc/ldap/fripost
- file: path=/etc/ldap/fripost
- state=directory
- owner=root group=root
- mode=0755
-
-- name: Copy fripost database definition
- template: src=etc/ldap/database.ldif.j2
- dest=/etc/ldap/fripost/database.ldif
- owner=root group=root
- mode=0600
-
- name: Copy fripost & amavis' schema
copy: src=etc/ldap/schema/{{ item }}
dest=/etc/ldap/schema/{{ item }}
@@ -69,18 +57,21 @@
tags:
- amavis
-- name: Load fripost's schema and configure the database
- openldap: target=/etc/ldap/{{ item }} state=present
- with_items:
- - schema/fripost.ldif
- - fripost/database.ldif
-
- name: Load amavis' schema
openldap: target=/etc/ldap/schema/amavis.schema state=present
format=slapd.conf name=amavis
tags:
- ldap
+- name: Load Fripost' schema
+ openldap: target=/etc/ldap/schema/fripost.ldif state=present
+ tags:
+ - ldap
+
+- name: Configure the LDAP database
+ openldap: target=etc/ldap/database.ldif.j2 local=template
+ state=present
+
- name: Start slapd
service: name=slapd state=started
when: not (r1.changed or r2.changed)
diff --git a/roles/common-LDAP/templates/etc/ldap/database.ldif.j2 b/roles/common-LDAP/templates/etc/ldap/database.ldif.j2
index cde9069..af31836 100644
--- a/roles/common-LDAP/templates/etc/ldap/database.ldif.j2
+++ b/roles/common-LDAP/templates/etc/ldap/database.ldif.j2
@@ -1,5 +1,5 @@
# Fripost's LDAP database definition
-# Copyright © 2013 Guilhem Moulin <guilhem@fripost.org>
+# Copyright (c) 2013 Guilhem Moulin <guilhem@fripost.org>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by