---
# yamllint disable rule:line-length
- name: vérification des variables obligatoire
  fail:
    msg: |
      il faut définir la variable `jibri_users`
      pour utiliser ce role
  when: jibri_users is not defined

- name: configure prosody
  blockinfile:
    path: /etc/prosody/conf.d/{{ inventory_hostname }}.cfg.lua
    marker: "-- {mark} jibri ANSIBLE MANAGED BLOCK"
    block: |
      VirtualHost "recorder.{{ inventory_hostname }}"
        modules_enabled = {
          "ping";
        }
        authentication = "internal_plain"
  notify:
    - restart prosody

- name: utilisateur jibri pour prosody (auth)
  command: prosodyctl register {{ item.user }} auth.{{ inventory_hostname }} {{ item.password }}
  args:
    # Prosody remplace les points par des '%2e' dans le chemin du fichier
    creates: /var/lib/prosody/{{ 'auth%2e'+inventory_hostname | replace('.', '%2e') }}/accounts/{{ item.user }}.dat
  loop: "{{ jibri_users }}"

- name: utilisateur jibri pour prosody (recorder)
  command: prosodyctl register {{ item.user }}-record recorder.{{ inventory_hostname }} {{ item.password }}
  args:
    # Prosody remplace les points par des '%2e' dans le chemin du fichier
    creates: /var/lib/prosody/{{ 'recorder%2e'+inventory_hostname | replace('.', '%2e') }}/accounts/{{ item.user + '-record' | replace('-', '%2d') }}.dat
  loop: "{{ jibri_users }}"

- name: authentification jicofo
  blockinfile:
    path: /etc/jitsi/jicofo/sip-communicator.properties
    marker: "# {mark} jibri ANSIBLE MANAGED BLOCK"
    block: |
      org.jitsi.jicofo.jibri.BREWERY=JibriBrewery@internal.auth.{{ inventory_hostname }}
      org.jitsi.jicofo.jibri.PENDING_TIMEOUT=90
  notify:
    - restart prosody
    - restart jitsi-videobridge2
    - restart jicofo

- name: livestreaming
  lineinfile:
    path: /etc/jitsi/meet/{{ inventory_hostname }}-config.js
    insertafter: "[^?]// liveStreamingEnabled:"
    line: "liveStreamingEnabled: true,"

- name: hidden domain
  lineinfile:
    path: /etc/jitsi/meet/{{ inventory_hostname }}-config.js
    insertafter: "[^?]// subject: 'Conference Subject',"
    line: "hiddenDomain: 'recorder.{{ inventory_hostname }}',"
# yamllint enable rule:line-length
