From 78ad2ea4b63b566713f937f1486d8e4ba57643bb Mon Sep 17 00:00:00 2001 From: Kevin Veen-Birkenbach Date: Sat, 27 Sep 2025 05:52:32 +0200 Subject: [PATCH] nextcloud(spreed): output valid JSON via to_json for signaling/stun/turn; keep internal_secret plain https://chatgpt.com/share/68d75f71-6de8-800f-854c-207771c8d883 --- .../web-app-nextcloud/vars/plugins/spreed.yml | 36 ++++++++++--------- 1 file changed, 19 insertions(+), 17 deletions(-) diff --git a/roles/web-app-nextcloud/vars/plugins/spreed.yml b/roles/web-app-nextcloud/vars/plugins/spreed.yml index 28d5a5b3..370a8d66 100644 --- a/roles/web-app-nextcloud/vars/plugins/spreed.yml +++ b/roles/web-app-nextcloud/vars/plugins/spreed.yml @@ -1,30 +1,32 @@ plugin_configuration: - # Signaling (object: { servers: [...], secret: "..." }) + # signaling_servers: JSON object - appid: "spreed" configkey: "signaling_servers" - configvalue: - servers: - - server: "{{ NEXTCLOUD_TALK_SIGNALING_URL }}" - verify: true - alias: "primary" - secret: "{{ NEXTCLOUD_TALK_SIGNALING_SECRET }}" + configvalue: "{{ { + 'servers': [ { 'server': NEXTCLOUD_TALK_SIGNALING_URL, 'verify': True, 'alias': 'primary' } ], + 'secret': NEXTCLOUD_TALK_SIGNALING_SECRET + } | to_json }}" - # STUN (list of strings) + # stun_servers: JSON array of strings - appid: "spreed" configkey: "stun_servers" - configvalue: - - "stun:{{ NEXTCLOUD_TALK_DOMAIN }}:{{ NEXTCLOUD_TALK_STUN_PORT }}" + configvalue: "{{ [ + NEXTCLOUD_TALK_DOMAIN ~ ':' ~ NEXTCLOUD_TALK_STUN_PORT + ] | to_json }}" - # TURN with REST-Secret (list of objects) + # turn_servers: JSON array of objects - appid: "spreed" configkey: "turn_servers" - configvalue: - - server: "turn:{{ NEXTCLOUD_TALK_DOMAIN }}:{{ NEXTCLOUD_TALK_STUN_PORT }}?transport=udp" - secret: "{{ NEXTCLOUD_TALK_TURN_SECRET }}" - ttl: 86400 - protocols: "udp,tcp" + configvalue: "{{ [ + { + 'server': NEXTCLOUD_TALK_DOMAIN ~ ':' ~ NEXTCLOUD_TALK_STUN_PORT ~ '?transport=udp', + 'secret': NEXTCLOUD_TALK_TURN_SECRET, + 'ttl': 86400, + 'protocols': 'udp,tcp' + } + ] | to_json }}" - # Internal secret (still required as a separate key) + # internal secret (plain string) - appid: "spreed" configkey: "internal_secret" configvalue: "{{ NEXTCLOUD_TALK_INTERNAL_SECRET }}"