---
- name: Ensuring config directories exist
  file:
    path: "{{ node_config_directory }}/{{ item.key }}"
    state: "directory"
    owner: "{{ config_owner_user }}"
    group: "{{ config_owner_group }}"
    mode: "0770"
  become: true
  with_dict: "{{ mariadb_services | select_services_enabled_and_mapped_to_host }}"

- name: Ensuring database backup config directory exists
  file:
    path: "{{ node_config_directory }}/mariabackup"
    state: "directory"
    owner: "{{ config_owner_user }}"
    group: "{{ config_owner_group }}"
    mode: "0770"
  become: true
  when:
    - enable_mariabackup | bool
    - inventory_hostname == mariadb_backup_host

- name: Copying over my.cnf for mariabackup
  merge_configs:
    sources:
      - "{{ role_path }}/templates/backup.my.cnf.j2"
      - "{{ node_custom_config }}/backup.my.cnf"
      - "{{ node_custom_config }}/mariadb/{{ inventory_hostname }}/backup.my.cnf"
    dest: "{{ node_config_directory }}/mariabackup/my.cnf"
    owner: "{{ config_owner_user }}"
    group: "{{ config_owner_group }}"
    mode: "0660"
  become: true
  when:
    - enable_mariabackup | bool
    - inventory_hostname == mariadb_backup_host

- name: Copying over config.json files for services
  template:
    src: "{{ item.key }}.json.j2"
    dest: "{{ node_config_directory }}/{{ item.key }}/config.json"
    mode: "0660"
  become: true
  with_dict: "{{ mariadb_services | select_services_enabled_and_mapped_to_host }}"

- name: Copying over config.json files for mariabackup
  vars:
    service_name: "mariabackup"
  template:
    src: "{{ service_name }}.json.j2"
    dest: "{{ node_config_directory }}/{{ service_name }}/config.json"
    mode: "0660"
  become: true
  when:
    - enable_mariabackup | bool
    - inventory_hostname == mariadb_backup_host

- name: Copying over galera.cnf
  vars:
    service_name: "mariadb"
    service: "{{ mariadb_services[service_name] }}"
  merge_configs:
    sources:
      - "{{ role_path }}/templates/galera.cnf.j2"
      - "{{ node_custom_config }}/galera.cnf"
      - "{{ node_custom_config }}/mariadb/{{ inventory_hostname }}/galera.cnf"
    dest: "{{ node_config_directory }}/{{ service_name }}/galera.cnf"
    mode: "0660"
  become: true
  when: service | service_enabled_and_mapped_to_host

- include_tasks: copy-certs.yml
