--- # Bloc A (ADR 0006) : relais TURN sur 443 pour la visio. coturn n'écoute # qu'en TLS, sur 127.0.0.1 : jamais directement sur l'IP publique — c'est le # routeur Nginx par nom (rôle portail) qui lui amène le trafic du port 443. - name: installer coturn ansible.builtin.apt: name: coturn state: present - name: vérifier si le secret existe déjà ansible.builtin.stat: path: "{{ turn_secret_fichier }}" register: turn_secret_stat - name: générer le secret partagé une seule fois ansible.builtin.command: openssl rand -hex 32 register: turn_secret_genere changed_when: false when: not turn_secret_stat.stat.exists - name: déposer le secret (une seule fois) ansible.builtin.copy: content: "{{ turn_secret_genere.stdout }}\n" dest: "{{ turn_secret_fichier }}" owner: root group: root mode: "0600" when: not turn_secret_stat.stat.exists - name: lire le secret ansible.builtin.slurp: src: "{{ turn_secret_fichier }}" register: turn_secret_lu no_log: true - name: créer le dossier de la copie lisible du certificat ansible.builtin.file: path: /etc/turnserver/cert state: directory owner: root group: turnserver mode: "0750" - name: déployer le script de copie du certificat (Ansible + renouvellement certbot) ansible.builtin.template: src: turn-copier-certificat.sh.j2 dest: /usr/local/sbin/syllabus-turn-copier-certificat owner: root group: root mode: "0750" - name: brancher ce script sur le renouvellement automatique du certificat ansible.builtin.file: src: /usr/local/sbin/syllabus-turn-copier-certificat dest: /etc/letsencrypt/renewal-hooks/deploy/90-turn-coturn.sh state: link - name: déployer la configuration de coturn ansible.builtin.template: src: turnserver.conf.j2 dest: /etc/turnserver.conf owner: root group: turnserver mode: "0640" vars: turn_secret: "{{ turn_secret_lu.content | b64decode | trim }}" notify: redémarrer coturn - name: activer coturn ansible.builtin.systemd: name: coturn enabled: true - name: appliquer la configuration et la copie du certificat ansible.builtin.meta: flush_handlers - name: copier le certificat pour coturn et le démarrer avec la vraie configuration ansible.builtin.command: /usr/local/sbin/syllabus-turn-copier-certificat changed_when: true