feat(talk/turn/signaling/hpb): add role for Talk with backend services
This commit is contained in:
parent
78095cca1d
commit
27255a4bfa
25 changed files with 930 additions and 0 deletions
85
roles/talk/tasks/main.yml
Normal file
85
roles/talk/tasks/main.yml
Normal file
|
|
@ -0,0 +1,85 @@
|
|||
#SPDX-License-Identifier: MIT-0
|
||||
---
|
||||
# tasks file for talk (HPB)
|
||||
|
||||
- name: Assert minimum configuration
|
||||
ansible.builtin.assert:
|
||||
that:
|
||||
- talk_domain | length > 0
|
||||
- talk_nextcloud_url | length > 0
|
||||
- talk_backend_secret | length > 0
|
||||
- talk_turn_secret | length > 0
|
||||
- talk_janus_public_ip | length > 0
|
||||
- talk_session_hashkey | length > 0
|
||||
- talk_session_blockkey | length > 0
|
||||
fail_msg: >
|
||||
Required talk_* variables missing.
|
||||
Set talk_domain, talk_nextcloud_url, talk_janus_public_ip in host_vars
|
||||
and place backend/turn/session secrets in playbooks/secrets/{{ inventory_hostname }}/.
|
||||
|
||||
- name: Create talk compose directory
|
||||
ansible.builtin.file:
|
||||
path: "{{ talk_docker_compose_dir }}"
|
||||
state: directory
|
||||
mode: "0755"
|
||||
|
||||
- name: Create signaling subdirectories (signaling + janus configs)
|
||||
ansible.builtin.file:
|
||||
path: "{{ talk_docker_compose_dir }}/{{ item }}"
|
||||
state: directory
|
||||
mode: "0755"
|
||||
loop:
|
||||
- signaling
|
||||
- janus
|
||||
|
||||
- name: Create signaling data directory
|
||||
ansible.builtin.file:
|
||||
path: "{{ talk_docker_volume_dir }}/signaling/data"
|
||||
state: directory
|
||||
mode: "0755"
|
||||
|
||||
- name: Ensure proxy network exists (created externally by Traefik role normally)
|
||||
community.docker.docker_network:
|
||||
name: "{{ talk_traefik_network }}"
|
||||
state: present
|
||||
|
||||
- name: Render signaling server.conf
|
||||
ansible.builtin.template:
|
||||
src: server.conf.j2
|
||||
dest: "{{ talk_docker_compose_dir }}/signaling/server.conf"
|
||||
mode: "0640"
|
||||
no_log: true
|
||||
notify: Restart signaling stack
|
||||
|
||||
- name: Render Janus main config
|
||||
ansible.builtin.template:
|
||||
src: janus.jcfg.j2
|
||||
dest: "{{ talk_docker_compose_dir }}/janus/janus.jcfg"
|
||||
mode: "0644"
|
||||
notify: Restart signaling stack
|
||||
|
||||
- name: Render Janus websockets transport config
|
||||
ansible.builtin.template:
|
||||
src: janus.transport.websockets.jcfg.j2
|
||||
dest: "{{ talk_docker_compose_dir }}/janus/janus.transport.websockets.jcfg"
|
||||
mode: "0644"
|
||||
notify: Restart signaling stack
|
||||
|
||||
- name: Render Janus logger config
|
||||
ansible.builtin.template:
|
||||
src: janus.logger.jcfg.j2
|
||||
dest: "{{ talk_docker_compose_dir }}/janus/janus.logger.jcfg"
|
||||
mode: "0644"
|
||||
notify: Restart signaling stack
|
||||
|
||||
- name: Render docker-compose.yml
|
||||
ansible.builtin.template:
|
||||
src: docker-compose.yml.j2
|
||||
dest: "{{ talk_docker_compose_dir }}/docker-compose.yml"
|
||||
mode: "0644"
|
||||
notify: Restart signaling stack
|
||||
|
||||
- name: Start signaling stack
|
||||
community.docker.docker_compose_v2:
|
||||
project_src: "{{ talk_docker_compose_dir }}"
|
||||
state: present
|
||||
Loading…
Add table
Add a link
Reference in a new issue