- name: Record (initial) disk space used
  shell: df -B1 --output=used / | tail -1
  register: df1


- name: "Install packages: mosquitto, mosquitto-clients"
  package:
    name: "{{ item }}"
    state: present
  with_items:
    - mosquitto
    - mosquitto-clients

- name: Disable & Stop 'mosquitto' service
  systemd:
    name: mosquitto
    enabled: no
    state: stopped

- name: Create (touch) file /etc/mosquitto/passwd
  file:
    path: /etc/mosquitto/passwd
    state: touch
    mode: "u=rw,g=r,o=r"    # '0644'

- name: Populate /etc/mosquitto/passwd with actual username/password
  shell: mosquitto_passwd -b /etc/mosquitto/passwd "{{ mosquitto_user }}" "{{ mosquitto_password  }}"

- name: Install /etc/mosquitto/conf.d/websockets.conf from template
  template:
    src: websockets.conf.j2
    dest: /etc/mosquitto/conf.d/websockets.conf
    #owner: root
    #group: root
    mode: '0755'


# RECORD Mosquitto AS INSTALLED

- name: Record (final) disk space used
  shell: df -B1 --output=used / | tail -1
  register: df2

- name: Add 'mosquitto_disk_usage = {{ df2.stdout|int - df1.stdout|int }}' to {{ iiab_ini_file }}
  ini_file:
    path: "{{ iiab_ini_file }}"    # /etc/iiab/iiab.ini
    section: mosquitto
    option: mosquitto_disk_usage
    value: "{{ df2.stdout|int - df1.stdout|int }}"

- name: "Set 'mosquitto_installed: True'"
  set_fact:
    mosquitto_installed: True

- name: "Add 'mosquitto_installed: True' to {{ iiab_state_file }}"
  lineinfile:
    path: "{{ iiab_state_file }}"    # /etc/iiab/iiab_state.yml
    regexp: '^mosquitto_installed'
    line: 'mosquitto_installed: True'