Files
matrix-docker-ansible-deploy/roles/custom/matrix-bridge-steam/tasks/validate_config.yml
2025-08-28 15:06:16 -07:00

56 lines
2.3 KiB
YAML

# SPDX-FileCopyrightText: 2025 MDAD project contributors
#
# SPDX-License-Identifier: AGPL-3.0-or-later
---
- name: Fail if required matrix_steam_bridge settings not defined
ansible.builtin.fail:
msg: >-
You need to define a required configuration setting (`{{ item.name }}`).
when: "item.when | bool and lookup('vars', item.name, default='') | string | length == 0"
with_items:
- {'name': 'matrix_steam_bridge_appservice_token', when: true}
- {'name': 'matrix_steam_bridge_homeserver_address', when: true}
- {'name': 'matrix_steam_bridge_homeserver_token', when: true}
- {'name': 'matrix_steam_bridge_database_hostname', when: "{{ matrix_steam_bridge_database_engine == 'postgres' }}"}
- {'name': 'matrix_steam_bridge_container_network', when: true}
- {'name': 'matrix_steam_bridge_metrics_proxying_hostname', when: "{{ matrix_steam_bridge_metrics_proxying_enabled }}"}
- {'name': 'matrix_steam_bridge_metrics_proxying_path_prefix', when: "{{ matrix_steam_bridge_metrics_proxying_enabled }}"}
# TODO: Confirm additional config isn't mandatory for public_media
- name: (Deprecation) Catch and report renamed matrix-steam-bridge variables
ansible.builtin.fail:
msg: >-
Your configuration contains a variable, which now has a different name.
Please rename the variable (`{{ item.old }}` -> `{{ item.new }}`) on your configuration file (vars.yml).
when: "lookup('ansible.builtin.varnames', ('^' + item.old + '$'), wantlist=True) | length > 0"
with_items:
- {'old': 'matrix_steam_bridge_docker_image_name_prefix', 'new': 'matrix_steam_bridge_docker_image_registry_prefix'}
- name: Fail if required settings not defined
ansible.builtin.fail:
msg: >-
You need to define a required configuration setting (`{{ item }}`).
when: "vars[item] == ''"
with_items:
- "matrix_mautrix_androidsms_appservice_token"
- "matrix_mautrix_androidsms_homeserver_token"
- "matrix_mautrix_imessage_appservice_token"
- "matrix_mautrix_imessage_homeserver_token"
- "matrix_mautrix_wsproxy_homeserver_address"
- "matrix_mautrix_wsproxy_syncproxy_shared_secret"
- "matrix_mautrix_wsproxy_syncproxy_homeserver_url"
- "matrix_mautrix_wsproxy_syncproxy_database_hostname"
- "matrix_mautrix_wsproxy_syncproxy_database_password"