From 4cf8849598d1e0b757cf9896a3d2bd04fbd24a81 Mon Sep 17 00:00:00 2001 From: handreas <andreas.hamacher@monash.edu> Date: Wed, 29 Apr 2020 03:07:46 +0000 Subject: [PATCH] pushing new content Former-commit-id: 0786de7bd0393b9e77eb073d5db0bb73f25e809e --- CICD/plays/mockldap.yml | 22 ++ roles/ldapserver/vars/CentOS_7.6_x86_64.yml | 8 + .../.molecule/ansible_inventory | 5 + roles/ldapservertest/.molecule/state.yml | 34 +++ roles/ldapservertest/README.md | 106 ++++++++++ roles/ldapservertest/defaults/main.yml | 11 + roles/ldapservertest/files/base.ldif | 116 +++++++++++ roles/ldapservertest/files/users-passwd.ldif | 14 ++ roles/ldapservertest/meta/main.yml | 194 ++++++++++++++++++ roles/ldapservertest/molecule.yml | 43 ++++ roles/ldapservertest/playbook.yml | 4 + roles/ldapservertest/tasks/.gitignore | 2 + roles/ldapservertest/tasks/main.yml | 136 ++++++++++++ roles/ldapservertest/templates/certs.ldif.j2 | 10 + roles/ldapservertest/templates/db.ldif.j2 | 14 ++ .../ldapservertest/templates/monitor.ldif.j2 | 4 + roles/ldapservertest/tests/test_default.py | 12 ++ roles/ldapservertest/tests/test_default.pyc | Bin 0 -> 815 bytes 18 files changed, 735 insertions(+) create mode 100644 CICD/plays/mockldap.yml create mode 100644 roles/ldapserver/vars/CentOS_7.6_x86_64.yml create mode 100644 roles/ldapservertest/.molecule/ansible_inventory create mode 100644 roles/ldapservertest/.molecule/state.yml create mode 100644 roles/ldapservertest/README.md create mode 100644 roles/ldapservertest/defaults/main.yml create mode 100644 roles/ldapservertest/files/base.ldif create mode 100644 roles/ldapservertest/files/users-passwd.ldif create mode 100644 roles/ldapservertest/meta/main.yml create mode 100644 roles/ldapservertest/molecule.yml create mode 100644 roles/ldapservertest/playbook.yml create mode 100644 roles/ldapservertest/tasks/.gitignore create mode 100644 roles/ldapservertest/tasks/main.yml create mode 100644 roles/ldapservertest/templates/certs.ldif.j2 create mode 100644 roles/ldapservertest/templates/db.ldif.j2 create mode 100644 roles/ldapservertest/templates/monitor.ldif.j2 create mode 100644 roles/ldapservertest/tests/test_default.py create mode 100644 roles/ldapservertest/tests/test_default.pyc diff --git a/CICD/plays/mockldap.yml b/CICD/plays/mockldap.yml new file mode 100644 index 00000000..8c7fbe29 --- /dev/null +++ b/CICD/plays/mockldap.yml @@ -0,0 +1,22 @@ +--- +- hosts: SQLNodes + vars_files: + - vars/passwords.yml + - vars/ldapConfig.yml + gather_facts: true + tasks: + - include_vars: vars/passwords.yml + roles: + - { role: ldapservertest + , tags: [ ldapserver ], become: true } + +#- hosts: ComputeNodes, LoginNodes +# vars_files: +# - vars/passwords.yml +# - vars/ldapConfig.yml +# gather_facts: true +# tasks: +# - include_vars: vars/passwords.yml +# roles: +# - { role: ldapclient, ssl: false +# , tags: [ ldapclient ] } \ No newline at end of file diff --git a/roles/ldapserver/vars/CentOS_7.6_x86_64.yml b/roles/ldapserver/vars/CentOS_7.6_x86_64.yml new file mode 100644 index 00000000..51bcdb11 --- /dev/null +++ b/roles/ldapserver/vars/CentOS_7.6_x86_64.yml @@ -0,0 +1,8 @@ +--- + system_packages: + - openldap-servers + - openldap-clients + - openssl + ldapuser: ldap + ldapgroup: ldap + dbname: olcDatabase={2}hdb diff --git a/roles/ldapservertest/.molecule/ansible_inventory b/roles/ldapservertest/.molecule/ansible_inventory new file mode 100644 index 00000000..885816bd --- /dev/null +++ b/roles/ldapservertest/.molecule/ansible_inventory @@ -0,0 +1,5 @@ +[all] +test-role-vagrant ansible_host=127.0.0.1 ansible_port=2222 ansible_ssh_private_key_file="/home/jooho/.vagrant.d/insecure_private_key" ansible_user=vagrant + +[group1] +test-role-vagrant diff --git a/roles/ldapservertest/.molecule/state.yml b/roles/ldapservertest/.molecule/state.yml new file mode 100644 index 00000000..e362bb7d --- /dev/null +++ b/roles/ldapservertest/.molecule/state.yml @@ -0,0 +1,34 @@ +--- +converged: null +created: true +default_platform: null +default_provider: null +driver: vagrant +driver_config: + current_platform: ubuntu + current_provider: virtualbox + instances: + - ansible_groups: + - group1 + name: test-role-vagrant + vm_name: test-role-vagrant + platforms: + - box: centos/7 + name: centos + - box: fedora/25-cloud-base + name: fedora + - box: ubuntu/trusty64 + name: ubuntu + providers: + - name: virtualbox + options: + cpus: 2 + memory: 512 + type: virtualbox + raw_config_args: + - ssh.insert_key = false +hosts: + test-role-vagrant: + groups: + - group1 +multiple_platforms: null diff --git a/roles/ldapservertest/README.md b/roles/ldapservertest/README.md new file mode 100644 index 00000000..81a29893 --- /dev/null +++ b/roles/ldapservertest/README.md @@ -0,0 +1,106 @@ +https://github.com/Jooho/ansible-role-openldap-test-server + +Ansible Role: OpenLDAP Test Server +========= + +This role install OpenLDAP server and put some data for test purpose. + +Requirements +------------ +None + +Role Variables +-------------- + +| Name | Default value | Requird | Description | +|---------------------------|---------------------------------------|----------------------|-----------------------------------------------------------------------------| +| temp_dir | /tmp/test-openldap-server | no | Temp directory | +| ldap_http_port | 389 | no | LDAP HTTP Port | +| ldap_https_port | 636 | no | If ssl set true, LDAP HTTPS Port will be set | +| clean_all | true | no | LDAP Data reset | +| ssl | false | no | Enable SSL for LDAP Server | +| ssl_ca_cert | '' | no | CA Certificate. If ssl set true, this value must be set | +| ssl_cert | '' | no | Server Certificate. If ssl set true, this value must be set | +| ssl_private_key | '' | no | Server Private Key. If ssl set true, this value must be set | + + +Dependencies +------------ + +None + + + +Example Playbook +---------------- +~~~ +- name: Example Playbook + hosts: ldap.example.com + gather_facts: false + + roles: + - { role: Jooho.openldap-test-server } +~~~ + +Information +----------- +- LDAP Password: redhat + +- LDAP Bind DN: cn=read-only-admin,dc=example,dc=com + +- LDAP Base DN: dc=example,dc=com + +**LDAP Test Data** + +| Group | CN | OU | PW | CN raw | +|-----------------|-------------|----------|----------|--------------------------------------------| +| Administrators | Sue Jacobs | People | redhat | cn=Sue Jacobs,ou=People,dc=example,dc=com | +| Administrators | Pete Minsky | People | redhat | cn=Pete Minsky,ou=People,dc=example,dc=com | +| Developers | Jooho Lee | People | redhat | cn=Jooho Lee,ou=People,dc=example,dc=com | + + +Client Configuration +-------------------- +The root-ca.cert.pem file will be found on ldap server vm + +``` +TLS_CACERTDIR /etc/openldap/cacerts +TLS_CACERT /etc/openldap/certs/root-ca.cert.pem +TLS_REQCERT allow +``` + + +Useful Commands +---------------- +``` + +ldapadd -x -w redhat -D "cn=read-only-admin,dc=example,dc=com" -f base.ldif + +ldapsearch -v -H ldaps://ldap.example.com -D "cn=read-only-admin,dc=example,dc=com" -w "redhat" -b "dc=example,dc=com" -o ldif-wrap=no -vvvv + +ldapmodify -h ldap.example.com -p 389 -D "cn=read-only-admin,dc=example,dc=com" -f user-passwd.ldif -w redhat + +ldapdelete -H ldaps://ldap.example.com -D "cn=read-only-admin,dc=example,dc=com" "cn=Sue Jacobs,ou=People,dc=example,dc=com" -w redhat -vvv + +``` + + + +References +---------- +- [Install OpenLDAP on CentOS7](http://www.itzgeek.com/how-tos/linux/centos-how-tos/step-step-openldap-server-configuration-centos-7-rhel-7.html) + +- [External LDAP Test Server](http://www.forumsys.com/tutorials/integration-how-to/ldap/online-ldap-test-server/) + + + +License +------- + +BSD/MIT + +Author Information +------------------ + +This role was created in 2017 by [Jooho Lee](http://github.com/jooho). + diff --git a/roles/ldapservertest/defaults/main.yml b/roles/ldapservertest/defaults/main.yml new file mode 100644 index 00000000..78c7164a --- /dev/null +++ b/roles/ldapservertest/defaults/main.yml @@ -0,0 +1,11 @@ +--- +# defaults file for ansible-role-test-openldap-server + +temp_dir: /tmp/test-openldap-server +ldap_http_port: 389 +ldap_https_port: 636 +clean_all: true +ssl: false +ssl_ca_cert: '' +ssl_cert: '' +ssl_private_key: '' diff --git a/roles/ldapservertest/files/base.ldif b/roles/ldapservertest/files/base.ldif new file mode 100644 index 00000000..30af78e7 --- /dev/null +++ b/roles/ldapservertest/files/base.ldif @@ -0,0 +1,116 @@ + +# example.com +dn: dc=example,dc=com +objectClass: top +objectClass: dcObject +objectClass: organization +o: example.com +dc: example + +# Group - People +dn: ou=People,dc=example,dc=com +changetype: add +objectclass: top +objectclass: organizationalUnit +ou: People +ou: Marketing + + +# Group - Groups +dn: ou=Groups,dc=example,dc=com +changetype: add +objectclass: top +objectclass: organizationalUnit +ou: Groups + +# Group - Groups-> Administrators +dn: cn=Administrators,ou=Groups,dc=example,dc=com +changetype: add +objectclass: top +objectclass: groupOfNames +member: cn=Sue Jacobs,ou=People,dc=example,dc=com +member: cn=Pete Minsky,ou=People,dc=example,dc=com +cn: Administrators + +# Group - Groups-> Developers +dn: cn=Developers,ou=Groups,dc=example,dc=com +changetype: add +objectclass: top +objectclass: groupOfNames +member: cn=Jooho Lee,ou=People,dc=example,dc=com +cn: Developers + +# Person - People -> Jooho +dn: cn=Jooho Lee,ou=People,dc=example,dc=com +changetype: add +objectclass: top +objectclass: person +objectclass: organizationalPerson +objectclass: inetOrgPerson +cn: Jooho Lee +givenName: Jooho +sn: Lee +ou: People +ou: Development +uid: jlee + +# Person - People -> Pete Minsky +dn: cn=Pete Minsky,ou=People,dc=example,dc=com +changetype: add +objectclass: top +objectclass: person +objectclass: organizationalPerson +objectclass: inetOrgPerson +cn: Pete Minsky +givenName: Pete +sn: Minsky +ou: People +ou: Marketing +uid: pminsky + +# Person - People -> Sue Jacobs +dn: cn=Sue Jacobs,ou=People,dc=example,dc=com +changetype: add +objectclass: top +objectclass: person +objectclass: organizationalPerson +objectclass: inetOrgPerson +cn: Sue Jacobs +givenName: Sue +sn: Jacobs +ou: People +ou: Marketing +uid: sjacobs + +#dn: cn=accounts,ou=groups,dc=example,dc=com +#objectClass: top +#objectClass: posixGroup +#gidNumber: 6001 + +# LDAP group +dn: cn=group1,ou=groups,dc=example,dc=com +cn: group1 +gidnumber: 10004 +memberuid: user1 +objectclass: posixGroup +objectclass: top + + +dn: uid=user1,ou=People,dc=example,dc=com +uid: user1 +cn: My name is user1 +objectClass: posixAccount +objectClass: top +objectClass: shadowAccount +objectClass: iNetOrgPerson +mail: testuser@foo.bar +sn: user1 +userPassword: {SHA}PHZ8Qa+xKtoUAZDtgts/2TDi76M= +shadowLastChange: 14791 +shadowMax: 99999 +shadowWarning: 7 +loginShell: /bin/bash +uidNumber: 6001 +gidNumber: 100 +homeDirectory: /home/user1 +gecos: My name is user1 \ No newline at end of file diff --git a/roles/ldapservertest/files/users-passwd.ldif b/roles/ldapservertest/files/users-passwd.ldif new file mode 100644 index 00000000..bad970b4 --- /dev/null +++ b/roles/ldapservertest/files/users-passwd.ldif @@ -0,0 +1,14 @@ +dn: cn=Pete Minsky,ou=People,dc=example,dc=com +changetype: modify +replace: userPassword +userPassword: redhat + +dn: cn=Sue Jacobs,ou=People,dc=example,dc=com +changetype: modify +replace: userPassword +userPassword: redhat + +dn: cn=Jooho Lee,ou=People,dc=example,dc=com +changetype: modify +replace: userPassword +userPassword: redhat diff --git a/roles/ldapservertest/meta/main.yml b/roles/ldapservertest/meta/main.yml new file mode 100644 index 00000000..ca0ccba9 --- /dev/null +++ b/roles/ldapservertest/meta/main.yml @@ -0,0 +1,194 @@ +galaxy_info: + author: jooho lee + description: This role install OpenLDAP server and put some data for test purpose. + company: your company (optional) + + # If the issue tracker for your role is not on github, uncomment the + # next line and provide a value + # issue_tracker_url: http://example.com/issue/tracker + + # Some suggested licenses: + # - BSD (default) + # - MIT + # - GPLv2 + # - GPLv3 + # - Apache + # - CC-BY + license: BSD/MIT + + min_ansible_version: 1.2 + + # Optionally specify the branch Galaxy will use when accessing the GitHub + # repo for this role. During role install, if no tags are available, + # Galaxy will use this branch. During import Galaxy will access files on + # this branch. If travis integration is cofigured, only notification for this + # branch will be accepted. Otherwise, in all cases, the repo's default branch + # (usually master) will be used. + #github_branch: + + # + # Below are all platforms currently available. Just uncomment + # the ones that apply to your role. If you don't see your + # platform on this list, let us know and we'll get it added! + # + platforms: + - name: EL + versions: + # - all + # - 5 + - 6 + - 7 + #- name: GenericUNIX + # versions: + # - all + # - any + #- name: OpenBSD + # versions: + # - all + # - 5.6 + # - 5.7 + # - 5.8 + # - 5.9 + # - 6.0 + - name: Fedora + versions: + - all + # - 16 + # - 17 + # - 18 + # - 19 + # - 20 + # - 21 + # - 22 + # - 23 + #- name: opensuse + # versions: + # - all + # - 12.1 + # - 12.2 + # - 12.3 + # - 13.1 + # - 13.2 + #- name: MacOSX + # versions: + # - all + # - 10.10 + # - 10.11 + # - 10.12 + # - 10.7 + # - 10.8 + # - 10.9 + #- name: IOS + # versions: + # - all + # - any + #- name: Solaris + # versions: + # - all + # - 10 + # - 11.0 + # - 11.1 + # - 11.2 + # - 11.3 + #- name: SmartOS + # versions: + # - all + # - any + #- name: eos + # versions: + # - all + # - Any + #- name: Windows + # versions: + # - all + # - 2012R2 + #- name: Amazon + # versions: + # - all + # - 2013.03 + # - 2013.09 + #- name: GenericBSD + # versions: + # - all + # - any + #- name: Junos + # versions: + # - all + # - any + #- name: FreeBSD + # versions: + # - all + # - 10.0 + # - 10.1 + # - 10.2 + # - 10.3 + # - 8.0 + # - 8.1 + # - 8.2 + # - 8.3 + # - 8.4 + # - 9.0 + # - 9.1 + # - 9.1 + # - 9.2 + # - 9.3 + #- name: Ubuntu + # versions: + # - all + # - lucid + # - maverick + # - natty + # - oneiric + # - precise + # - quantal + # - raring + # - saucy + # - trusty + # - utopic + # - vivid + # - wily + # - xenial + #- name: SLES + # versions: + # - all + # - 10SP3 + # - 10SP4 + # - 11 + # - 11SP1 + # - 11SP2 + # - 11SP3 + # - 11SP4 + # - 12 + # - 12SP1 + #- name: GenericLinux + # versions: + # - all + # - any + #- name: NXOS + # versions: + # - all + # - any + #- name: Debian + # versions: + # - all + # - etch + # - jessie + # - lenny + # - sid + # - squeeze + # - stretch + # - wheezy + + galaxy_tags: [openldap] + # List tags for your role here, one per line. A tag is + # a keyword that describes and categorizes the role. + # Users find roles by searching for tags. Be sure to + # remove the '[]' above if you add tags to this list. + # + # NOTE: A tag is limited to a single word comprised of + # alphanumeric characters. Maximum 20 tags per role. + +dependencies: [] + # List your role dependencies here, one per line. + # Be sure to remove the '[]' above if you add dependencies + # to this list. diff --git a/roles/ldapservertest/molecule.yml b/roles/ldapservertest/molecule.yml new file mode 100644 index 00000000..369ce192 --- /dev/null +++ b/roles/ldapservertest/molecule.yml @@ -0,0 +1,43 @@ +--- +dependency: + name: galaxy +driver: + name: docker +vagrant: + platforms: + - name: centos + box: centos/7 + - name: fedora + box: fedora/25-cloud-base + - name: ubuntu + box: ubuntu/trusty64 + providers: + - name: virtualbox + type: virtualbox + options: + memory: 512 + cpus: 2 + instances: + - name: test-role-vagrant + ansible_groups: + - group1 + raw_config_args: + - "ssh.insert_key = false" +docker: + containers: + - name: ansible-role-test-openldap-server + image: centos_docker + image_version: latest + cap_add: + - 'SYS_ADMIN' + volume_mounts: + - '/sys/fs/cgroup:/sys/fs/cgroup:ro' + privileged: True + command: /sbin/init + ansible_groups: + - group1 +ansible: + verbose: vvvv + become: yes +verifier: + name: testinfra diff --git a/roles/ldapservertest/playbook.yml b/roles/ldapservertest/playbook.yml new file mode 100644 index 00000000..79ecb9c9 --- /dev/null +++ b/roles/ldapservertest/playbook.yml @@ -0,0 +1,4 @@ +--- +- hosts: all + roles: + - role: ansible-role-openldap-test-server diff --git a/roles/ldapservertest/tasks/.gitignore b/roles/ldapservertest/tasks/.gitignore new file mode 100644 index 00000000..21bb41e0 --- /dev/null +++ b/roles/ldapservertest/tasks/.gitignore @@ -0,0 +1,2 @@ +*.retry +./.molecule/ diff --git a/roles/ldapservertest/tasks/main.yml b/roles/ldapservertest/tasks/main.yml new file mode 100644 index 00000000..67cf756b --- /dev/null +++ b/roles/ldapservertest/tasks/main.yml @@ -0,0 +1,136 @@ +--- +# tasks file for ansible-role-test-openldap-server + + - name: Create {{temp_dir}} + file: + path={{temp_dir}} + state=directory + + - name: Install OpenLDAP packages and necessary packages + package: + name: "{{item}}" + state: present + with_items: + - openldap + - compat-openldap + - openldap-clients + - openldap-servers + - openldap-devel + become: true + + - name: Stop OpenLDAP Server + systemd: + name: slapd + state: stopped + when: clean_all + + - name: List OpenLDAP Files + command: "ls /var/lib/ldap" + register: ldap_files + when: clean_all + + - name: Remove OpenLDAP Data + file: path="/var/lib/ldap/{{item}}" state=absent force=true + with_items: + - "{{ldap_files.stdout_lines}}" + when: clean_all + + - name: Start OpenLDAP Server + systemd: + name: slapd + state: started + enabled: True + + - name: Get RootPW for openLDAP + shell: "slappasswd -s redhat" + register: ldap_root_rw + + - name: Set RootPW as var + set_fact: + ROOT_PW: "{{ldap_root_rw.stdout}}" + + - name: Copy db.ldif file to {{temp_dir}} + template: src="db.ldif.j2" dest={{temp_dir}}/db.ldif + + - name: Modify ldap with db.ldif + shell: ldapmodify -Y EXTERNAL -H ldapi:/// -f {{temp_dir}}/db.ldif + + - name: Copy monitor.ldif to {{temp_dir}} + template: src="monitor.ldif.j2" dest={{temp_dir}}/monitor.ldif + + - name: Modify ldap with monitor.ldif + shell: ldapmodify -Y EXTERNAL -H ldapi:/// -f {{temp_dir}}/monitor.ldif + + - name: Apply SSL + block: + - name: Copy certs.ldif to {{temp_dir}} + template: src="certs.ldif.j2" dest={{temp_dir}}/certs.ldif + + - name: Copy Cert to /etc/openldap/certs/ + copy: src={{ssl_cert}} dest=/etc/openldap/certs/{{ssl_cert|basename}} owner=ldap group=ldap + + - name: Copy CA Cert to /etc/openldap/certs + copy: src={{ssl_ca_cert}} dest=/etc/openldap/certs/{{ssl_ca_cert|basename}} owner=ldap group=ldap + + - name: Copy Private key to /etc/openldap/certs + copy: src={{ssl_private_key}} dest=/etc/openldap/certs/{{ssl_private_key|basename}} owner=ldap group=ldap + + - name: Add ldaps:// into /etc/sysconfig/slapd + lineinfile: + path: /etc/sysconfig/slapd + regexp: 'ldap:\/\/\/' + line: 'SLAPD_URLS="ldapi:/// ldap:/// ldaps:///"' + + - name: Modify ldap with certs.ldif + shell: ldapmodify -Y EXTERNAL -H ldapi:/// -f {{temp_dir}}/certs.ldif + + - name: Start OpenLDAP Server + systemd: + name: slapd + state: restarted + when: ssl + + - name: Test LDAP server + shell: slaptest -u + when: ssl + + - name: Check if cosine/nis/inetorgperson data exist(1) + shell: "ldapsearch -Y EXTERNAL -H ldapi:/// -b \"cn=schema,cn=config\" |egrep '^cn(.*cosine|.*nis|.*inetorgperson)'> ldapsearch_cosine_nis_inet" + ignore_errors: yes + + - name: Check if cosine/nis/inetorgperson data exist(2) + shell: "cat ldapsearch_cosine_nis_inet|wc -l" + register: default_data_exist + + - name: Setup ldap with default example ldif files + copy: src=/usr/share/openldap-servers/DB_CONFIG.example dest=/var/lib/ldap/DB_CONFIG remote_src=yes + + - name: Change UID/GID of /var/lib/ldap/* + file: + path: /var/lib/ldap + owner: ldap + group: ldap + recurse: yes + + - name: Add cosine/nis/inetoragperson ldif to ldap server + shell: ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/{{item}} + with_items: + - cosine.ldif + - nis.ldif + - inetorgperson.ldif + when: default_data_exist.stdout|int < 3 + + - name: Copy base.ldif to {{temp_dir}} > this is the default user/group data + copy: src=base.ldif dest="{{temp_dir}}/base.ldif" + + - name: Add the default user/group data with base.ldif + shell: ldapadd -x -w redhat -D "cn=read-only-admin,dc=example,dc=com" -f {{temp_dir}}/base.ldif + + - name: Copy user-passwd.ldif to {{temp_dir}} + copy: src=users-passwd.ldif dest="{{temp_dir}}/users-passwd.ldif" + + - name: Modify pw of users + shell: ldapadd -x -w redhat -D "cn=read-only-admin,dc=example,dc=com" -f {{temp_dir}}/users-passwd.ldif + +# - name: Firewalld add rule for ldap +# diff --git a/roles/ldapservertest/templates/certs.ldif.j2 b/roles/ldapservertest/templates/certs.ldif.j2 new file mode 100644 index 00000000..85162a27 --- /dev/null +++ b/roles/ldapservertest/templates/certs.ldif.j2 @@ -0,0 +1,10 @@ +dn: cn=config +changetype: modify +replace: olcTLSCertificateFile +olcTLSCertificateFile: /etc/openldap/certs/{{ssl_cert|basename}} +- +replace: olcTLSCertificateKeyFile +olcTLSCertificateKeyFile: /etc/openldap/certs/{{ssl_private_key|basename}} +- +replace: olcTLSCACertificateFile +olcTLSCACertificateFile: /etc/openldap/certs/{{ssl_ca_cert|basename}} diff --git a/roles/ldapservertest/templates/db.ldif.j2 b/roles/ldapservertest/templates/db.ldif.j2 new file mode 100644 index 00000000..276eb6b8 --- /dev/null +++ b/roles/ldapservertest/templates/db.ldif.j2 @@ -0,0 +1,14 @@ +dn: olcDatabase={2}hdb,cn=config +changetype: modify +replace: olcSuffix +olcSuffix: dc=example,dc=com + +dn: olcDatabase={2}hdb,cn=config +changetype: modify +replace: olcRootDN +olcRootDN: cn=read-only-admin,dc=example,dc=com + +dn: olcDatabase={2}hdb,cn=config +changetype: modify +replace: olcRootPW +olcRootPW: {{ROOT_PW}} diff --git a/roles/ldapservertest/templates/monitor.ldif.j2 b/roles/ldapservertest/templates/monitor.ldif.j2 new file mode 100644 index 00000000..5f9f3c3f --- /dev/null +++ b/roles/ldapservertest/templates/monitor.ldif.j2 @@ -0,0 +1,4 @@ +dn: olcDatabase={1}monitor,cn=config +changetype: modify +replace: olcAccess +olcAccess: {0}to * by dn.base="gidNumber=0+uidNumber=0,cn=peercred,cn=external, cn=auth" read by dn.base="cn=read-only-admin,dc=example,dc=com" read by * none diff --git a/roles/ldapservertest/tests/test_default.py b/roles/ldapservertest/tests/test_default.py new file mode 100644 index 00000000..ef04a32b --- /dev/null +++ b/roles/ldapservertest/tests/test_default.py @@ -0,0 +1,12 @@ +import testinfra.utils.ansible_runner + +testinfra_hosts = testinfra.utils.ansible_runner.AnsibleRunner( + '.molecule/ansible_inventory').get_hosts('all') + + +def test_hosts_file(File): + f = File('/etc/hosts') + + assert f.exists + assert f.user == 'root' + assert f.group == 'root' diff --git a/roles/ldapservertest/tests/test_default.pyc b/roles/ldapservertest/tests/test_default.pyc new file mode 100644 index 0000000000000000000000000000000000000000..f8276ee7cee8b4e09649beb0f74b3161c0b048c5 GIT binary patch literal 815 zcmc&yO>fjN5FIDm7OE|kkT_N1oJ$ifhzmj#RHR;dXixMKWfQ0M)*DCmWNFpz1vv9( z`2q08`_UDD0Ly-!89!^@jGg{I*#GtE>}yS{kzoIb72W|FOhuOHN|9DHO=z0ZbVN-; zKj7|AlZtV*OU;OWg0?68%WMaC%^!^Oa0D}-Ijifz>Z0m`nOI$#Zmv6a{+?5uSJu`F zyX2Pj87rIt9%FuFSSWf#LWGZq6@6d2i3qt(D7@JUrt9G8Du^O3Gf8tE_JM`wy0~$H z1CQW(=QtCCcLDm&$iWMkCn0Fh#&xIOJ0H1&M5MNB?}k1TsWJY=SPfM~Z3dtS;SN^8 zv%cs}e>@qCZH~+N&9}FcV$+R{Q9E~Q&>?2+i@EluH85BQHeKth;^ASNk$c^{va4o# zv52G)v21i(4VLr%o)3{+u9vaUvW37sgu*ibsc~|sUa3qRel4(0ln-od$k(srhpt1# z&$lVD{z!{m`iFV|>dEqrFP<)6>y?m=u2|Mm+=a-9Eqj9h+dL8Ue&!l{*bnlmL4L+K I8LOA+Utnb0oB#j- literal 0 HcmV?d00001 -- GitLab