[re2o-ldap-replica] Deploy a re2o-ldap-replica
Signed-off-by: Yohann D'ANELLO <ynerant@crans.org>certbot_on_virtu
parent
b14fd01ce0
commit
05c641fa7e
|
@ -0,0 +1,8 @@
|
||||||
|
---
|
||||||
|
glob_re2o_ldap_replica:
|
||||||
|
replicator:
|
||||||
|
username: replicator
|
||||||
|
password: "{{ vault.ldap_replication_re2o_credentials }}"
|
||||||
|
suffix: dc=crans,dc=org
|
||||||
|
url: "ldaps://{{ query('ldap', 'ip', 're2o-ldap', 'adm') | ipv4 | first }}:636"
|
||||||
|
root_password_hash: "{{ vault.ldap_master_password_hash }}"
|
3
hosts
3
hosts
|
@ -158,6 +158,9 @@ radius
|
||||||
re2o.adm.crans.org
|
re2o.adm.crans.org
|
||||||
re2o.cachan-adm.crans.org
|
re2o.cachan-adm.crans.org
|
||||||
|
|
||||||
|
[re2o_ldap_replica:children]
|
||||||
|
adh_server
|
||||||
|
|
||||||
[reverseproxy]
|
[reverseproxy]
|
||||||
hodaur.adm.crans.org
|
hodaur.adm.crans.org
|
||||||
rodauh.cachan-adm.crans.org
|
rodauh.cachan-adm.crans.org
|
||||||
|
|
|
@ -5,3 +5,9 @@
|
||||||
slapd: '{{ glob_slapd | default({}) | combine(loc_slapd | default({})) }}'
|
slapd: '{{ glob_slapd | default({}) | combine(loc_slapd | default({})) }}'
|
||||||
roles:
|
roles:
|
||||||
- slapd
|
- slapd
|
||||||
|
|
||||||
|
- hosts: re2o_ldap_replica
|
||||||
|
vars:
|
||||||
|
re2o_ldap_replica: '{{ glob_re2o_ldap_replica | default({}) | combine(loc_re2o_ldap_replica | default({})) }}'
|
||||||
|
roles:
|
||||||
|
- re2o-ldap-replica
|
||||||
|
|
|
@ -0,0 +1,84 @@
|
||||||
|
---
|
||||||
|
- name: Install slapd
|
||||||
|
apt:
|
||||||
|
name:
|
||||||
|
- ldap-utils
|
||||||
|
- libio-socket-ssl-perl
|
||||||
|
- slapd
|
||||||
|
update_cache: true
|
||||||
|
install_recommends: false
|
||||||
|
register: apt_result
|
||||||
|
retries: 3
|
||||||
|
until: apt_result is succeeded
|
||||||
|
|
||||||
|
- name: Check if installation was done
|
||||||
|
stat:
|
||||||
|
path: /root/.delete_me_to_reset_ldap_configuration
|
||||||
|
register: installation
|
||||||
|
|
||||||
|
- name: Stop slapd
|
||||||
|
when: not installation.stat.exists
|
||||||
|
systemd:
|
||||||
|
name: slapd
|
||||||
|
state: stopped
|
||||||
|
|
||||||
|
- name: Delete old slapd configuration and data
|
||||||
|
when: not installation.stat.exists
|
||||||
|
file:
|
||||||
|
path: '{{ item }}'
|
||||||
|
state: absent
|
||||||
|
loop:
|
||||||
|
- /etc/ldap/slapd.d
|
||||||
|
- /var/lib/ldap
|
||||||
|
|
||||||
|
- name: Create slapd configuration and data directory
|
||||||
|
file:
|
||||||
|
path: '{{ item }}'
|
||||||
|
state: directory
|
||||||
|
owner: openldap
|
||||||
|
group: openldap
|
||||||
|
mode: 0700
|
||||||
|
loop:
|
||||||
|
- /etc/ldap/slapd.d
|
||||||
|
- /var/lib/ldap
|
||||||
|
|
||||||
|
- name: Copy ldiff files
|
||||||
|
template:
|
||||||
|
src: 'ldap/{{ item }}.ldiff.j2'
|
||||||
|
dest: '/tmp/{{ item }}.ldiff'
|
||||||
|
owner: openldap
|
||||||
|
group: openldap
|
||||||
|
mode: 0600
|
||||||
|
loop:
|
||||||
|
- db
|
||||||
|
- schema
|
||||||
|
- consumer_simple_sync
|
||||||
|
|
||||||
|
- name: Initialize re2o-ldap schema
|
||||||
|
when: not installation.stat.exists
|
||||||
|
shell: slapadd -n 0 -l /tmp/schema.ldiff -F /etc/ldap/slapd.d/
|
||||||
|
become_user: openldap
|
||||||
|
|
||||||
|
- name: Initialize re2o-ldap database
|
||||||
|
when: not installation.stat.exists
|
||||||
|
shell: slapadd -n 1 -l /tmp/db.ldiff
|
||||||
|
become_user: openldap
|
||||||
|
|
||||||
|
- name: Start slapd
|
||||||
|
when: not installation.stat.exists
|
||||||
|
systemd:
|
||||||
|
name: slapd
|
||||||
|
state: started
|
||||||
|
|
||||||
|
- name: Enable data replication
|
||||||
|
when: not installation.stat.exists
|
||||||
|
shell: ldapadd -Q -Y EXTERNAL -H ldapi:/// -f /tmp/consumer_simple_sync.ldiff
|
||||||
|
|
||||||
|
- name: Touch installation marker
|
||||||
|
when: not installation.stat.exists
|
||||||
|
file:
|
||||||
|
path: /root/.delete_me_to_reset_ldap_configuration
|
||||||
|
state: touch
|
||||||
|
owner: root
|
||||||
|
group: root
|
||||||
|
mode: 0600
|
|
@ -0,0 +1,19 @@
|
||||||
|
dn: olcDatabase={1}hdb,cn=config
|
||||||
|
changetype: modify
|
||||||
|
add: olcSyncrepl
|
||||||
|
olcSyncrepl: rid=1
|
||||||
|
provider={{ re2o_ldap_replica.url }}
|
||||||
|
bindmethod=simple
|
||||||
|
binddn="cn={{ re2o_ldap_replica.replicator.username }},{{ re2o_ldap_replica.suffix }}"
|
||||||
|
credentials={{ re2o_ldap_replica.replicator.password }}
|
||||||
|
searchbase="{{ re2o_ldap_replica.suffix }}"
|
||||||
|
scope=sub
|
||||||
|
schemachecking=on
|
||||||
|
type=refreshAndPersist
|
||||||
|
timeout=0
|
||||||
|
network-timeout=0
|
||||||
|
retry="30 20 300 +"
|
||||||
|
tls_reqcert=allow
|
||||||
|
-
|
||||||
|
add: olcUpdateRef
|
||||||
|
olcUpdateRef: {{ re2o_ldap_replica.url }}
|
|
@ -0,0 +1,183 @@
|
||||||
|
dn: {{ re2o_ldap_replica.suffix }}
|
||||||
|
o: rezo
|
||||||
|
structuralObjectClass: organization
|
||||||
|
entryUUID: fc97a0fe-514b-1034-9e4d-59675b32507b
|
||||||
|
creatorsName: cn=admin,{{ re2o_ldap_replica.suffix }}
|
||||||
|
createTimestamp: 20150225150906Z
|
||||||
|
description: ldap
|
||||||
|
objectClass: top
|
||||||
|
objectClass: dcObject
|
||||||
|
objectClass: organization
|
||||||
|
entryCSN: 20151003212702.245118Z#000000#000#000000
|
||||||
|
modifiersName: cn=admin,{{ re2o_ldap_replica.suffix }}
|
||||||
|
modifyTimestamp: 20151003212702Z
|
||||||
|
contextCSN: 20161004233332.689769Z#000000#000#000000
|
||||||
|
|
||||||
|
dn: cn=admin,{{ re2o_ldap_replica.suffix }}
|
||||||
|
objectClass: simpleSecurityObject
|
||||||
|
objectClass: organizationalRole
|
||||||
|
cn: admin
|
||||||
|
structuralObjectClass: organizationalRole
|
||||||
|
entryUUID: fc97fa72-514b-1034-9e4e-59675b32507b
|
||||||
|
creatorsName: cn=admin,{{ re2o_ldap_replica.suffix }}
|
||||||
|
createTimestamp: 20150225150906Z
|
||||||
|
description:: TERBUCBhZG1pbmlzdHJhdG9yDQo=
|
||||||
|
userPassword: {{ re2o_ldap_replica.root_password_hash }}
|
||||||
|
entryCSN: 20160604005945.576566Z#000000#000#000000
|
||||||
|
modifiersName: cn=admin,{{ re2o_ldap_replica.suffix }}
|
||||||
|
modifyTimestamp: 20160604005945Z
|
||||||
|
|
||||||
|
dn: cn=Utilisateurs,{{ re2o_ldap_replica.suffix }}
|
||||||
|
gidNumber: 500
|
||||||
|
cn: Utilisateurs
|
||||||
|
structuralObjectClass: posixGroup
|
||||||
|
entryUUID: 5d53854e-5204-1034-8c61-8da535cabdfc
|
||||||
|
creatorsName: cn=admin,{{ re2o_ldap_replica.suffix }}
|
||||||
|
createTimestamp: 20150226130856Z
|
||||||
|
sambaSID: 500
|
||||||
|
uid: Users
|
||||||
|
objectClass: posixGroup
|
||||||
|
objectClass: top
|
||||||
|
objectClass: sambaSamAccount
|
||||||
|
objectClass: radiusprofile
|
||||||
|
entryCSN: 20150226130950.194154Z#000000#000#000000
|
||||||
|
modifiersName: cn=admin,{{ re2o_ldap_replica.suffix }}
|
||||||
|
modifyTimestamp: 20150226130950Z
|
||||||
|
|
||||||
|
dn: ou=groups,{{ re2o_ldap_replica.suffix }}
|
||||||
|
objectClass: organizationalUnit
|
||||||
|
description: Groupes d'utilisateurs
|
||||||
|
ou: groups
|
||||||
|
structuralObjectClass: organizationalUnit
|
||||||
|
entryUUID: 986aa1b6-bb86-1035-9a4c-2ff0c800ec24
|
||||||
|
creatorsName: cn=admin,{{ re2o_ldap_replica.suffix }}
|
||||||
|
createTimestamp: 20160531142039Z
|
||||||
|
entryCSN: 20160531142039.780151Z#000000#000#000000
|
||||||
|
modifiersName: cn=admin,{{ re2o_ldap_replica.suffix }}
|
||||||
|
modifyTimestamp: 20160531142039Z
|
||||||
|
|
||||||
|
dn: ou=services,ou=groups,{{ re2o_ldap_replica.suffix }}
|
||||||
|
objectClass: organizationalUnit
|
||||||
|
description: Groupes de comptes techniques
|
||||||
|
ou: services
|
||||||
|
structuralObjectClass: organizationalUnit
|
||||||
|
entryUUID: cbb56904-bc6a-1035-9fbb-3dc3850d88ba
|
||||||
|
creatorsName: cn=admin,{{ re2o_ldap_replica.suffix }}
|
||||||
|
createTimestamp: 20160601173411Z
|
||||||
|
entryCSN: 20160601173411.088359Z#000000#000#000000
|
||||||
|
modifiersName: cn=admin,{{ re2o_ldap_replica.suffix }}
|
||||||
|
modifyTimestamp: 20160601173411Z
|
||||||
|
|
||||||
|
dn: ou=service-users,{{ re2o_ldap_replica.suffix }}
|
||||||
|
objectClass: organizationalUnit
|
||||||
|
description: Utilisateurs techniques de l'annuaire
|
||||||
|
ou: service-users
|
||||||
|
structuralObjectClass: organizationalUnit
|
||||||
|
entryUUID: 0e397270-bc6b-1035-9fbd-3dc3850d88ba
|
||||||
|
creatorsName: cn=admin,{{ re2o_ldap_replica.suffix }}
|
||||||
|
createTimestamp: 20160601173602Z
|
||||||
|
entryCSN: 20160601173602.683304Z#000000#000#000000
|
||||||
|
modifiersName: cn=admin,{{ re2o_ldap_replica.suffix }}
|
||||||
|
modifyTimestamp: 20160601173602Z
|
||||||
|
|
||||||
|
dn: cn=freeradius,ou=service-users,{{ re2o_ldap_replica.suffix }}
|
||||||
|
objectClass: applicationProcess
|
||||||
|
objectClass: simpleSecurityObject
|
||||||
|
cn: freeradius
|
||||||
|
userPassword: {{ re2o_ldap_replica.root_password_hash }}
|
||||||
|
structuralObjectClass: applicationProcess
|
||||||
|
entryUUID: 8596e4ec-bc6b-1035-9fbf-3dc3850d88ba
|
||||||
|
creatorsName: cn=admin,{{ re2o_ldap_replica.suffix }}
|
||||||
|
createTimestamp: 20160601173922Z
|
||||||
|
entryCSN: 20160601173922.944598Z#000000#000#000000
|
||||||
|
modifiersName: cn=admin,{{ re2o_ldap_replica.suffix }}
|
||||||
|
modifyTimestamp: 20160601173922Z
|
||||||
|
|
||||||
|
dn: cn=nssauth,ou=service-users,{{ re2o_ldap_replica.suffix }}
|
||||||
|
objectClass: applicationProcess
|
||||||
|
objectClass: simpleSecurityObject
|
||||||
|
cn: nssauth
|
||||||
|
structuralObjectClass: applicationProcess
|
||||||
|
entryUUID: cfbdadc6-bc6b-1035-9fc4-3dc3850d88ba
|
||||||
|
creatorsName: cn=admin,{{ re2o_ldap_replica.suffix }}
|
||||||
|
createTimestamp: 20160601174127Z
|
||||||
|
userPassword: {{ re2o_ldap_replica.root_password_hash }}
|
||||||
|
entryCSN: 20160603093724.770069Z#000000#000#000000
|
||||||
|
modifiersName: cn=admin,{{ re2o_ldap_replica.suffix }}
|
||||||
|
modifyTimestamp: 20160603093724Z
|
||||||
|
|
||||||
|
dn: cn=auth,ou=services,ou=groups,{{ re2o_ldap_replica.suffix }}
|
||||||
|
objectClass: groupOfNames
|
||||||
|
cn: auth
|
||||||
|
member: cn=nssauth,ou=service-users,{{ re2o_ldap_replica.suffix }}
|
||||||
|
structuralObjectClass: groupOfNames
|
||||||
|
entryUUID: 98524836-bc6d-1035-9fc7-3dc3850d88ba
|
||||||
|
creatorsName: cn=admin,{{ re2o_ldap_replica.suffix }}
|
||||||
|
createTimestamp: 20160601175413Z
|
||||||
|
entryCSN: 20160620005705.309928Z#000000#000#000000
|
||||||
|
modifiersName: cn=admin,{{ re2o_ldap_replica.suffix }}
|
||||||
|
modifyTimestamp: 20160620005705Z
|
||||||
|
|
||||||
|
dn: ou=posix,ou=groups,{{ re2o_ldap_replica.suffix }}
|
||||||
|
objectClass: organizationalUnit
|
||||||
|
description: Groupes de comptes POSIX
|
||||||
|
ou: posix
|
||||||
|
structuralObjectClass: organizationalUnit
|
||||||
|
entryUUID: fbd89c4a-bdb5-1035-9045-d5a09894d93e
|
||||||
|
creatorsName: cn=admin,{{ re2o_ldap_replica.suffix }}
|
||||||
|
createTimestamp: 20160603090455Z
|
||||||
|
entryCSN: 20160603090455.267192Z#000000#000#000000
|
||||||
|
modifiersName: cn=admin,{{ re2o_ldap_replica.suffix }}
|
||||||
|
modifyTimestamp: 20160603090455Z
|
||||||
|
|
||||||
|
dn: cn=wifi,ou=service-users,{{ re2o_ldap_replica.suffix }}
|
||||||
|
objectClass: applicationProcess
|
||||||
|
objectClass: simpleSecurityObject
|
||||||
|
cn: wifi
|
||||||
|
structuralObjectClass: applicationProcess
|
||||||
|
entryUUID: 8cc2d1a6-bdc2-1035-9051-d5a09894d93e
|
||||||
|
creatorsName: cn=admin,{{ re2o_ldap_replica.suffix }}
|
||||||
|
createTimestamp: 20160603103452Z
|
||||||
|
userPassword: {{ re2o_ldap_replica.root_password_hash }}
|
||||||
|
entryCSN: 20160603103638.682210Z#000000#000#000000
|
||||||
|
modifiersName: cn=admin,{{ re2o_ldap_replica.suffix }}
|
||||||
|
modifyTimestamp: 20160603103638Z
|
||||||
|
|
||||||
|
dn: cn=usermgmt,ou=services,ou=groups,{{ re2o_ldap_replica.suffix }}
|
||||||
|
objectClass: groupOfNames
|
||||||
|
cn: usermgmt
|
||||||
|
structuralObjectClass: groupOfNames
|
||||||
|
entryUUID: ec01e206-bdc2-1035-9054-d5a09894d93e
|
||||||
|
creatorsName: cn=admin,{{ re2o_ldap_replica.suffix }}
|
||||||
|
createTimestamp: 20160603103732Z
|
||||||
|
member: cn=wifi,ou=service-users,{{ re2o_ldap_replica.suffix }}
|
||||||
|
entryCSN: 20160603103746.897151Z#000000#000#000000
|
||||||
|
modifiersName: cn=admin,{{ re2o_ldap_replica.suffix }}
|
||||||
|
modifyTimestamp: 20160603103746Z
|
||||||
|
|
||||||
|
dn: cn=replica,ou=service-users,{{ re2o_ldap_replica.suffix }}
|
||||||
|
objectClass: applicationProcess
|
||||||
|
objectClass: simpleSecurityObject
|
||||||
|
cn: replica
|
||||||
|
structuralObjectClass: applicationProcess
|
||||||
|
entryUUID: caef5c54-c0e4-1035-948f-dfe369fe3d4f
|
||||||
|
creatorsName: cn=admin,{{ re2o_ldap_replica.suffix }}
|
||||||
|
createTimestamp: 20160607101733Z
|
||||||
|
userPassword: {{ re2o_ldap_replica.root_password_hash }}
|
||||||
|
entryCSN: 20160607101829.424643Z#000000#000#000000
|
||||||
|
modifiersName: cn=admin,{{ re2o_ldap_replica.suffix }}
|
||||||
|
modifyTimestamp: 20160607101829Z
|
||||||
|
|
||||||
|
dn: cn=readonly,ou=services,ou=groups,{{ re2o_ldap_replica.suffix }}
|
||||||
|
objectClass: groupOfNames
|
||||||
|
cn: readonly
|
||||||
|
structuralObjectClass: groupOfNames
|
||||||
|
entryUUID: f6bd2366-c0e4-1035-9492-dfe369fe3d4f
|
||||||
|
creatorsName: cn=admin,{{ re2o_ldap_replica.suffix }}
|
||||||
|
createTimestamp: 20160607101846Z
|
||||||
|
member: cn=replica,ou=service-users,{{ re2o_ldap_replica.suffix }}
|
||||||
|
member: cn=freeradius,ou=service-users,{{ re2o_ldap_replica.suffix }}
|
||||||
|
entryCSN: 20160619214628.287369Z#000000#000#000000
|
||||||
|
modifiersName: cn=admin,{{ re2o_ldap_replica.suffix }}
|
||||||
|
modifyTimestamp: 20160619214628Z
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue