mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2025-04-22 07:52:25 +02:00
65 lines
2.3 KiB
YAML
65 lines
2.3 KiB
YAML
- name: Load LDAP configuration variables
|
|
include_vars:
|
|
file: "ldap.yml"
|
|
|
|
- name: Check if LDAP source exists
|
|
community.postgresql.postgresql_query:
|
|
db: "{{ database_name }}"
|
|
login_user: "{{ database_username }}"
|
|
login_password: "{{ database_password }}"
|
|
login_host: "127.0.0.1"
|
|
login_port: "{{ database_port }}"
|
|
query: "SELECT 1 FROM ldap_auth_sources WHERE name = '{{ openproject_ldap.name }}' LIMIT 1;"
|
|
register: ldap_check
|
|
|
|
- name: Create LDAP auth source if it doesn't exist
|
|
community.postgresql.postgresql_query:
|
|
db: "{{ database_name }}"
|
|
login_user: "{{ database_username }}"
|
|
login_password: "{{ database_password }}"
|
|
login_host: "127.0.0.1"
|
|
login_port: "{{ database_port }}"
|
|
query: >
|
|
INSERT INTO ldap_auth_sources
|
|
(name, host, port, account, account_password, base_dn, attr_login,
|
|
attr_firstname, attr_lastname, attr_mail, onthefly_register, attr_admin,
|
|
created_at, updated_at, tls_mode, filter_string, verify_peer, tls_certificate_string)
|
|
VALUES (
|
|
'{{ openproject_ldap.name }}',
|
|
'{{ openproject_ldap.host }}',
|
|
{{ openproject_ldap.port }},
|
|
'{{ openproject_ldap.account }}',
|
|
'{{ openproject_ldap.account_password }}',
|
|
'{{ openproject_ldap.base_dn }}',
|
|
'{{ openproject_ldap.attr_login }}',
|
|
'{{ openproject_ldap.attr_firstname }}',
|
|
'{{ openproject_ldap.attr_lastname }}',
|
|
'{{ openproject_ldap.attr_mail }}',
|
|
{{ openproject_ldap.onthefly_register }},
|
|
'{{ openproject_ldap.attr_admin }}',
|
|
NOW(),
|
|
NOW(),
|
|
{{ openproject_ldap.tls_mode }},
|
|
'{{ openproject_ldap.filter_string }}',
|
|
{{ openproject_ldap.verify_peer }},
|
|
'{{ openproject_ldap.tls_certificate_string }}'
|
|
);
|
|
when: ldap_check.query_result | length == 0
|
|
|
|
- name: Check if LDAP source exists
|
|
community.postgresql.postgresql_query:
|
|
db: "{{ database_name }}"
|
|
login_user: "{{ database_username }}"
|
|
login_password: "{{ database_password }}"
|
|
login_host: "127.0.0.1"
|
|
login_port: "{{ database_port }}"
|
|
query: "SELECT id, name FROM ldap_auth_sources"
|
|
register: ldap_entries
|
|
when: enable_debug | bool
|
|
|
|
- name: "Debug LDAP entries"
|
|
debug:
|
|
var: ldap_entries
|
|
when: enable_debug | bool
|
|
|