48 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			48 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
---
 | 
						|
- name: Determine if persisted OLC config exists
 | 
						|
  ansible.builtin.stat:
 | 
						|
    path: "{{ openldap_olc_path }}/cn=config"
 | 
						|
  register: openldap_olc_stat_info
 | 
						|
 | 
						|
- name: Ensure openldap databases are initialized
 | 
						|
  when: not openldap_olc_stat_info.stat.exists
 | 
						|
  block:
 | 
						|
    - name: Ensure initial slapd.ldif is templated
 | 
						|
      ansible.builtin.template:
 | 
						|
        src: "slapd.ldif.j2"
 | 
						|
        dest: "{{ openldap_slapd_path }}"
 | 
						|
        mode: "0644"
 | 
						|
    - name: Ensure additional schemas to install are present
 | 
						|
      ansible.builtin.copy:
 | 
						|
        content: "{{ schema.content }}"
 | 
						|
        dest: "{{ openldap_schema_path }}/{{ schema.name }}.ldif"
 | 
						|
        mode: "0644"
 | 
						|
      loop: "{{ openldap_additional_schemas }}"
 | 
						|
      loop_control:
 | 
						|
        loop_var: "schema"
 | 
						|
        label: "{{ schema.name }}"
 | 
						|
    - name: Ensure db data directory exists
 | 
						|
      ansible.builtin.file:
 | 
						|
        path: "{{ openldap_default_database_directory }}"
 | 
						|
        state: directory
 | 
						|
        mode: "0750"
 | 
						|
    - name: Ensure container is initialized using {{ openldap_deployment_method }}
 | 
						|
      ansible.builtin.include_tasks:
 | 
						|
        file: "initialize-{{ openldap_deployment_method }}.yml"
 | 
						|
  rescue:
 | 
						|
    - name: Ensure temporary schema files are absent
 | 
						|
      ansible.builtin.file:
 | 
						|
        path: "{{ openldap_schema_path }}/{{ file.name }}.ldif"
 | 
						|
        state: absent
 | 
						|
      loop: >-2
 | 
						|
        {{ openldap_additional_schemas }}
 | 
						|
      loop_control:
 | 
						|
        loop_var: "file"
 | 
						|
        label: "{{ file.name }}"
 | 
						|
      ignore_errors: true
 | 
						|
    - name: Ensure intial slapd.ldif file is absent
 | 
						|
      ansible.builtin.file:
 | 
						|
        path: "{{ openldap_slapd_path }}"
 | 
						|
        state: absent
 | 
						|
      ignore_errors: true
 |