59 lines
1.9 KiB
YAML
59 lines
1.9 KiB
YAML
---
|
|
- name: Ensure ACLs are configured
|
|
community.general.ldap_attrs:
|
|
dn: "{{ openldap_default_database_config }}"
|
|
attributes:
|
|
olcAccess: "{{ openldap_config_db_olc_access }}"
|
|
state: "exact"
|
|
server_uri: "{{ openldap_socket_url }}"
|
|
retries: 3
|
|
delay: 3
|
|
register: openldap_acl_result
|
|
until: openldap_acl_result is succeeded
|
|
|
|
- name: Ensure LDAP DIT is configured
|
|
when:
|
|
- openldap_default_database_root_dn is defined
|
|
- openldap_default_database_root_pw is defined
|
|
vars:
|
|
_meta: &openldap_bind_info
|
|
bind_dn: "{{ openldap_default_database_root_dn }}"
|
|
bind_pw: "{{ openldap_default_database_root_pw }}"
|
|
server_uri: "{{ openldap_socket_url }}"
|
|
block:
|
|
- name: Ensure rootDN + credentials are correct
|
|
community.general.ldap_attrs:
|
|
dn: "{{ openldap_default_database_config }}"
|
|
attributes: "{{ {entry.key: entry.value} }}"
|
|
state: "exact"
|
|
server_uri: "{{ openldap_socket_url }}"
|
|
no_log: "{{ entry.log is defined and not entry.log }}"
|
|
loop:
|
|
- key: "olcRootDN"
|
|
value: "{{ openldap_default_database_root_dn }}"
|
|
- key: "olcRootPW"
|
|
value: "{{ openldap_default_database_root_pw }}"
|
|
log: false
|
|
loop_control:
|
|
loop_var: "entry"
|
|
label: "{{ entry.key }}"
|
|
|
|
- name: Ensure root node is {{ openldap_state }}
|
|
community.general.ldap_entry:
|
|
dn: "{{ openldap_dn }}"
|
|
objectClass: "{{ openldap_root_node_object_classes }}"
|
|
attributes:
|
|
dc: "{{ openldap_root_node_dc }}"
|
|
o: "{{ openldap_root_node_o }}"
|
|
<<: *openldap_bind_info
|
|
|
|
- name: Ensure root node attributes are up to date
|
|
community.general.ldap_attrs:
|
|
dn: "{{ openldap_dn }}"
|
|
attributes:
|
|
dc: "{{ openldap_root_node_dc }}"
|
|
o: "{{ openldap_root_node_o }}"
|
|
state: exact
|
|
<<: *openldap_bind_info
|
|
when: openldap_state == 'present'
|