mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2025-08-29 23:08:06 +02:00
- Converted group_vars/all/13_ldap.yml from lower-case to ALL-CAPS nested keys. - Updated all roles, tasks, templates, and filter_plugins to reference LDAP.* instead of ldap.*. - Fixed Keycloak JSON templates to properly quote Jinja variables. - Adjusted svc-db-openldap filter plugins and unit tests to handle new LDAP structure. - Updated integration test to only check uniqueness of TOP-LEVEL ALL-CAPS constants, ignoring nested keys. See: https://chatgpt.com/share/68b01017-efe0-800f-a508-7d7e2f1c8c8d
55 lines
2.5 KiB
YAML
55 lines
2.5 KiB
YAML
- name: Load memberof module from file in OpenLDAP container
|
|
shell: >
|
|
docker exec -i {{ openldap_name }} ldapmodify -Y EXTERNAL -H ldapi:/// -f {{ openldap_ldif_docker_path }}configuration/01_member_of_configuration.ldif
|
|
listen:
|
|
- "Import configuration LDIF files"
|
|
- "Import all LDIF files"
|
|
# @todo Remove the following ignore errors when setting up a new server
|
|
# Just here because debugging would take to much time
|
|
ignore_errors: true
|
|
|
|
- name: Refint Module Activation for OpenLDAP
|
|
shell: >
|
|
docker exec -i {{ openldap_name }} ldapadd -Y EXTERNAL -H ldapi:/// -f {{ openldap_ldif_docker_path }}configuration/02_member_of_configuration.ldif
|
|
listen:
|
|
- "Import configuration LDIF files"
|
|
- "Import all LDIF files"
|
|
register: ldapadd_result
|
|
failed_when: ldapadd_result.rc not in [0, 68]
|
|
# @todo Remove the following ignore errors when setting up a new server
|
|
# Just here because debugging would take to much time
|
|
ignore_errors: true
|
|
|
|
- name: "Import schemas"
|
|
shell: >
|
|
docker exec -i {{ openldap_name }} ldapadd -Y EXTERNAL -H ldapi:/// -f "{{ openldap_ldif_docker_path }}schema/{{ item | basename | regex_replace('\.j2$', '') }}"
|
|
register: ldapadd_result
|
|
changed_when: "'adding new entry' in ldapadd_result.stdout"
|
|
failed_when: ldapadd_result.rc not in [0, 80]
|
|
listen:
|
|
- "Import schema LDIF files"
|
|
- "Import all LDIF files"
|
|
loop: "{{ lookup('fileglob', role_path ~ '/templates/ldif/schema/*.j2', wantlist=True) }}"
|
|
|
|
- name: Refint Overlay Configuration for OpenLDAP
|
|
shell: >
|
|
docker exec -i {{ openldap_name }} ldapmodify -Y EXTERNAL -H ldapi:/// -f {{ openldap_ldif_docker_path }}configuration/03_member_of_configuration.ldif
|
|
listen:
|
|
- "Import configuration LDIF files"
|
|
- "Import all LDIF files"
|
|
register: ldapadd_result
|
|
failed_when: ldapadd_result.rc not in [0, 68]
|
|
# @todo Remove the following ignore errors when setting up a new server
|
|
# Just here because debugging would take to much time
|
|
ignore_errors: true
|
|
|
|
- name: "Import users, groups, etc. to LDAP"
|
|
shell: >
|
|
docker exec -i {{ openldap_name }} ldapadd -x -D "{{LDAP.DN.ADMINISTRATOR.DATA}}" -w "{{ LDAP.BIND_CREDENTIAL }}" -c -f "{{ openldap_ldif_docker_path }}groups/{{ item | basename | regex_replace('\.j2$', '') }}"
|
|
register: ldapadd_result
|
|
changed_when: "'adding new entry' in ldapadd_result.stdout"
|
|
failed_when: ldapadd_result.rc not in [0, 20, 68, 65]
|
|
listen:
|
|
- "Import groups LDIF files"
|
|
- "Import all LDIF files"
|
|
loop: "{{ query('fileglob', role_path ~ '/templates/ldif/groups/*.j2') | sort }}" |