- name: LDAP packages are installed apt: name: - slapd - ldap-utils - ldapvi - shelldap state: present - name: change sldap listen ip:port lineinfile: dest: /etc/default/slapd regexp: 'SLAPD_SERVICES=.*' line: "SLAPD_SERVICES=\"{{ ldap_listen }}\"" notify: restart slapd - name: "Is /root/.ldapvirc present ?" stat: path: /root/.ldapvirc check_mode: no register: root_ldapvirc_path - name: apg package is installed apt: name: apg state: present when: not root_ldapvirc_path.stat.exists - name: create a password for cn=admin command: "apg -n 1 -m 16 -M lcN" register: ldap_admin_password changed_when: False when: not root_ldapvirc_path.stat.exists - name: create a password for cn=nagios command: "apg -n 1 -m 16 -M lcN" register: ldap_nagios_password changed_when: False when: not root_ldapvirc_path.stat.exists - name: hash password for cn=admin command: "slappasswd -s {{ ldap_admin_password.stdout }}" register: ldap_admin_password_ssha changed_when: False when: not root_ldapvirc_path.stat.exists - name: hash password for cn=nagios command: "slappasswd -s {{ ldap_nagios_password.stdout }}" register: ldap_nagios_password_ssha changed_when: False when: not root_ldapvirc_path.stat.exists - name: create ldapvirc config template: src: ldapvirc.j2 dest: /root/.ldapvirc mode: "0640" when: not root_ldapvirc_path.stat.exists - name: set params for NRPE check ini_file: dest: /etc/nagios/monitoring-plugins.ini owner: root group: nagios section: check_ldap option: "{{ item.option }}" value: "{{ item.value }}" mode: 0640 with_items: - { option: 'hostname', value: '127.0.0.1' } - { option: 'base', value: "{{ ldap_suffix }}" } - { option: 'bind', value: "cn=nagios,ou=ldapusers,{{ ldap_suffix }}" } - { option: 'pass', value: "{{ ldap_nagios_password.stdout }}" } - name: upload ldap initial config template: src: config_ldapvi.j2 dest: /root/evolinux_ldap_config.ldapvi mode: "0640" when: not root_ldapvirc_path.stat.exists - name: upload ldap initial entries template: src: first-entries.ldif.j2 dest: /root/evolinux_ldap_first-entries.ldif mode: "0640" when: not root_ldapvirc_path.stat.exists - name: inject config command: ldapvi -Y EXTERNAL -h ldapi:// --ldapmodify /root/evolinux_ldap_config.ldapvi environment: TERM: xterm when: not root_ldapvirc_path.stat.exists - name: inject first entries command: slapadd -l /root/evolinux_ldap_first-entries.ldif when: not root_ldapvirc_path.stat.exists - name: upload custom schema copy: src: "{{ ldap_schema }}" dest: "/root/{{ ldap_schema }}" mode: "0640" when: not root_ldapvirc_path.stat.exists and ldap_schema is defined - name: inject custom schema command: "ldapadd -Y EXTERNAL -H ldapi:/// -f /root/{{ ldap_schema }}" when: not root_ldapvirc_path.stat.exists and ldap_schema is defined