---
# Configure LDAP authentication for Odoo
# ODOO_LDAP_CONFIG is defined in vars/main.yml
- name: "π Check if LDAP configuration exists"
database_query:
mask_values: "{{ MASK_CREDENTIALS_IN_LOGS | bool }}"
config: "{{ lookup('database', application_id) }}"
query_file: "{{ role_path }}/files/sql/select/res-company-ldap-exists.sql"
named_args:
ldap_server: "{{ ODOO_LDAP_CONFIG.ldap_server }}"
expect_rows: true
register: ldap_check
- name: "π Update existing LDAP configuration"
database_query:
mask_values: "{{ MASK_CREDENTIALS_IN_LOGS | bool }}"
config: "{{ lookup('database', application_id) }}"
query_file: "{{ role_path }}/files/sql/update/res-company-ldap.sql"
named_args:
sequence: "{{ ODOO_LDAP_CONFIG.sequence }}"
company_id: "{{ ODOO_LDAP_CONFIG.company_id }}"
ldap_server_port: "{{ ODOO_LDAP_CONFIG.ldap_server_port }}"
ldap_binddn: "{{ ODOO_LDAP_CONFIG.ldap_binddn }}"
ldap_password: "{{ ODOO_LDAP_CONFIG.ldap_password }}"
ldap_base: "{{ ODOO_LDAP_CONFIG.ldap_base }}"
ldap_filter: "{{ ODOO_LDAP_CONFIG.ldap_filter }}"
create_user: "{{ ODOO_LDAP_CONFIG.create_user }}"
ldap_tls: "{{ ODOO_LDAP_CONFIG.ldap_tls }}"
ldap_server: "{{ ODOO_LDAP_CONFIG.ldap_server }}"
when: ldap_check.rows | length > 0
- name: "π Create new LDAP configuration"
database_query:
mask_values: "{{ MASK_CREDENTIALS_IN_LOGS | bool }}"
config: "{{ lookup('database', application_id) }}"
query_file: "{{ role_path }}/files/sql/insert-res-company-ldap.sql"
named_args:
sequence: "{{ ODOO_LDAP_CONFIG.sequence }}"
company_id: "{{ ODOO_LDAP_CONFIG.company_id }}"
ldap_server: "{{ ODOO_LDAP_CONFIG.ldap_server }}"
ldap_server_port: "{{ ODOO_LDAP_CONFIG.ldap_server_port }}"
ldap_binddn: "{{ ODOO_LDAP_CONFIG.ldap_binddn }}"
ldap_password: "{{ ODOO_LDAP_CONFIG.ldap_password }}"
ldap_base: "{{ ODOO_LDAP_CONFIG.ldap_base }}"
ldap_filter: "{{ ODOO_LDAP_CONFIG.ldap_filter }}"
create_user: "{{ ODOO_LDAP_CONFIG.create_user }}"
ldap_tls: "{{ ODOO_LDAP_CONFIG.ldap_tls }}"
when: ldap_check.rows | length == 0