diff --git a/group_vars/matrix_servers b/group_vars/matrix_servers index f7536c848..e0a8e9e3d 100755 --- a/group_vars/matrix_servers +++ b/group_vars/matrix_servers @@ -385,7 +385,7 @@ devture_systemd_service_manager_services_list_auto: | + ([{'name': 'matrix-sms-bridge.service', 'priority': 2000, 'groups': ['matrix', 'bridges', 'sms']}] if matrix_sms_bridge_enabled else []) + - ([{'name': 'matrix-bridge-steam.service', 'priority': 2000, 'groups': ['matrix', 'bridges', 'mx-puppet-steam']}] if matrix_mx_puppet_steam_enabled else []) + ([{'name': 'matrix-steam-bridge.service', 'priority': 2000, 'groups': ['matrix', 'bridges', 'mx-puppet-steam']}] if matrix_mx_puppet_steam_enabled else []) + ([{'name': 'matrix-cactus-comments.service', 'priority': 2000, 'groups': ['matrix', 'cactus-comments']}] if matrix_cactus_comments_enabled else []) + @@ -2751,64 +2751,64 @@ matrix_postmoogle_container_additional_networks_auto: |- ###################################################################### # We don't enable bridges by default. -matrix_bridge_steam_enabled: false +matrix_steam_bridge_enabled: false -matrix_bridge_steam_systemd_required_services_list_auto: | +matrix_steam_bridge_systemd_required_services_list_auto: | {{ matrix_addons_homeserver_systemd_services_list + - ([postgres_identifier ~ '.service'] if (postgres_enabled and matrix_bridge_steam_database_hostname == postgres_connection_hostname) else []) + ([postgres_identifier ~ '.service'] if (postgres_enabled and matrix_steam_bridge_database_hostname == postgres_connection_hostname) else []) }} -matrix_bridge_steam_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_bridge_steam_docker_image_registry_prefix_upstream_default }}" +matrix_steam_bridge_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_steam_bridge_docker_image_registry_prefix_upstream_default }}" -matrix_bridge_steam_container_image_self_build: "{{ matrix_architecture not in ['amd64', 'arm64'] }}" +matrix_steam_bridge_container_image_self_build: "{{ matrix_architecture not in ['amd64', 'arm64'] }}" -matrix_bridge_steam_container_network: "{{ matrix_addons_container_network }}" +matrix_steam_bridge_container_network: "{{ matrix_addons_container_network }}" -matrix_bridge_steam_container_additional_networks_auto: |- +matrix_steam_bridge_container_additional_networks_auto: |- {{ ( ([] if matrix_addons_homeserver_container_network == '' else [matrix_addons_homeserver_container_network]) + - ([postgres_container_network] if (postgres_enabled and matrix_bridge_steam_database_hostname == postgres_connection_hostname and matrix_bridge_steam_container_network != postgres_container_network) else []) + ([postgres_container_network] if (postgres_enabled and matrix_steam_bridge_database_hostname == postgres_connection_hostname and matrix_steam_bridge_container_network != postgres_container_network) else []) + - ([matrix_playbook_reverse_proxyable_services_additional_network] if matrix_playbook_reverse_proxyable_services_additional_network and matrix_bridge_steam_container_labels_traefik_enabled else []) + ([matrix_playbook_reverse_proxyable_services_additional_network] if matrix_playbook_reverse_proxyable_services_additional_network and matrix_steam_bridge_container_labels_traefik_enabled else []) ) | unique }} -matrix_bridge_steam_container_labels_traefik_enabled: "{{ matrix_playbook_reverse_proxy_type in ['playbook-managed-traefik', 'other-traefik-container'] }}" -matrix_bridge_steam_container_labels_traefik_docker_network: "{{ matrix_playbook_reverse_proxyable_services_additional_network }}" -matrix_bridge_steam_container_labels_traefik_entrypoints: "{{ traefik_entrypoint_primary }}" -matrix_bridge_steam_container_labels_traefik_tls_certResolver: "{{ traefik_certResolver_primary }}" +matrix_steam_bridge_container_labels_traefik_enabled: "{{ matrix_playbook_reverse_proxy_type in ['playbook-managed-traefik', 'other-traefik-container'] }}" +matrix_steam_bridge_container_labels_traefik_docker_network: "{{ matrix_playbook_reverse_proxyable_services_additional_network }}" +matrix_steam_bridge_container_labels_traefik_entrypoints: "{{ traefik_entrypoint_primary }}" +matrix_steam_bridge_container_labels_traefik_tls_certResolver: "{{ traefik_certResolver_primary }}" -matrix_bridge_steam_container_labels_metrics_middleware_basic_auth_enabled: "{{ matrix_metrics_exposure_http_basic_auth_enabled }}" -matrix_bridge_steam_container_labels_metrics_middleware_basic_auth_users: "{{ matrix_metrics_exposure_http_basic_auth_users }}" +matrix_steam_bridge_container_labels_metrics_middleware_basic_auth_enabled: "{{ matrix_metrics_exposure_http_basic_auth_enabled }}" +matrix_steam_bridge_container_labels_metrics_middleware_basic_auth_users: "{{ matrix_metrics_exposure_http_basic_auth_users }}" -matrix_bridge_steam_appservice_token: "{{ '%s' | format(matrix_homeserver_generic_secret_key) | password_hash('sha512', 'steam.as.token', rounds=655555) | to_uuid }}" +matrix_steam_bridge_appservice_token: "{{ '%s' | format(matrix_homeserver_generic_secret_key) | password_hash('sha512', 'steam.as.token', rounds=655555) | to_uuid }}" -matrix_bridge_steam_homeserver_address: "{{ matrix_addons_homeserver_client_api_url }}" -matrix_bridge_steam_homeserver_token: "{{ '%s' | format(matrix_homeserver_generic_secret_key) | password_hash('sha512', 'steam.hs.token', rounds=655555) | to_uuid }}" +matrix_steam_bridge_homeserver_address: "{{ matrix_addons_homeserver_client_api_url }}" +matrix_steam_bridge_homeserver_token: "{{ '%s' | format(matrix_homeserver_generic_secret_key) | password_hash('sha512', 'steam.hs.token', rounds=655555) | to_uuid }}" -matrix_bridge_steam_provisioning_shared_secret: "{{ '%s' | format(matrix_homeserver_generic_secret_key) | password_hash('sha512', 'steam.prov', rounds=655555) | to_uuid }}" +matrix_steam_bridge_provisioning_shared_secret: "{{ '%s' | format(matrix_homeserver_generic_secret_key) | password_hash('sha512', 'steam.prov', rounds=655555) | to_uuid }}" -matrix_bridge_steam_double_puppet_secrets_auto: |- +matrix_steam_bridge_double_puppet_secrets_auto: |- {{ ({ - matrix_bridge_steam_homeserver_domain: ("as_token:" + matrix_appservice_double_puppet_registration_as_token) + matrix_steam_bridge_homeserver_domain: ("as_token:" + matrix_appservice_double_puppet_registration_as_token) }) if matrix_appservice_double_puppet_enabled else {} }} -matrix_bridge_steam_metrics_enabled: "{{ prometheus_enabled or matrix_metrics_exposure_enabled }}" +matrix_steam_bridge_metrics_enabled: "{{ prometheus_enabled or matrix_metrics_exposure_enabled }}" -matrix_bridge_steam_metrics_proxying_enabled: "{{ matrix_bridge_steam_metrics_enabled and matrix_metrics_exposure_enabled }}" -matrix_bridge_steam_metrics_proxying_hostname: "{{ matrix_metrics_exposure_hostname }}" -matrix_bridge_steam_metrics_proxying_path_prefix: "{{ matrix_metrics_exposure_path_prefix }}/mautrix-bluesky" +matrix_steam_bridge_metrics_proxying_enabled: "{{ matrix_steam_bridge_metrics_enabled and matrix_metrics_exposure_enabled }}" +matrix_steam_bridge_metrics_proxying_hostname: "{{ matrix_metrics_exposure_hostname }}" +matrix_steam_bridge_metrics_proxying_path_prefix: "{{ matrix_metrics_exposure_path_prefix }}/mautrix-bluesky" -matrix_bridge_steam_database_hostname: "{{ postgres_connection_hostname if postgres_enabled else '' }}" -matrix_bridge_steam_database_password: "{{ '%s' | format(matrix_homeserver_generic_secret_key) | password_hash('sha512', 'mau.twt.db', rounds=655555) | to_uuid if postgres_enabled else '' }}" +matrix_steam_bridge_database_hostname: "{{ postgres_connection_hostname if postgres_enabled else '' }}" +matrix_steam_bridge_database_password: "{{ '%s' | format(matrix_homeserver_generic_secret_key) | password_hash('sha512', 'mau.twt.db', rounds=655555) | to_uuid if postgres_enabled else '' }}" ###################################################################### # @@ -4446,10 +4446,10 @@ postgres_managed_databases_auto: | }] if (matrix_mx_puppet_groupme_enabled and matrix_mx_puppet_groupme_database_engine == 'postgres' and matrix_mx_puppet_groupme_database_hostname == postgres_connection_hostname) else []) + ([{ - 'name': matrix_bridge_steam_database_name, - 'username': matrix_bridge_steam_database_username, - 'password': matrix_bridge_steam_database_password, - }] if (matrix_bridge_steam_enabled and matrix_bridge_steam_database_engine == 'postgres' and matrix_bridge_steam_database_hostname == postgres_connection_hostname) else []) + 'name': matrix_steam_bridge_database_name, + 'username': matrix_steam_bridge_database_username, + 'password': matrix_steam_bridge_database_password, + }] if (matrix_steam_bridge_enabled and matrix_steam_bridge_database_engine == 'postgres' and matrix_steam_bridge_database_hostname == postgres_connection_hostname) else []) + ([{ 'name': matrix_dimension_database_name, @@ -5368,9 +5368,9 @@ matrix_synapse_admin_config_asManagedUsers_auto: | ] if matrix_wechat_enabled else []) + ([ - '^@'+(matrix_bridge_steam_appservice_bot_username | default('') | regex_escape)+':'+(matrix_domain | regex_escape)+'$', + '^@'+(matrix_steam_bridge_appservice_bot_username | default('') | regex_escape)+':'+(matrix_domain | regex_escape)+'$', '^@bluesky_[a-zA-Z0-9]+:'+(matrix_domain | regex_escape)+'$', - ] if matrix_bridge_steam_enabled else []) + ] if matrix_steam_bridge_enabled else []) + }} diff --git a/roles/custom/matrix-bridge-steam/defaults/main.yml b/roles/custom/matrix-bridge-steam/defaults/main.yml index 175f469ad..1bbb2daae 100644 --- a/roles/custom/matrix-bridge-steam/defaults/main.yml +++ b/roles/custom/matrix-bridge-steam/defaults/main.yml @@ -6,7 +6,7 @@ # matrix-steam-bridge is a Matrix <-> Steam bridge # See: https://github.com/jasonlaguidice/matrix-steam-bridge -matrix_steam_brige_enabled: true +matrix_steam_bridge_enabled: true matrix_steam_bridge_container_image_self_build: false matrix_steam_bridge_container_image_self_build_repo: "https://github.com/jasonlaguidice/matrix-steam-bridge.git" @@ -14,12 +14,12 @@ matrix_steam_bridge_container_image_self_build_repo_version: "{{ 'main' if matri # renovate: datasource=docker depName=ghcr.io/jasonlaguidice/matrix-steam-bridge matrix_steam_bridge_version: v1.0.0 -matrix_steam_bridge_docker_image: "{{ matrix_steam_bridge_docker_image_registry_prefix }}jasonlaguidice/matrix-steam-bridge:{{ matrix_steam_bridge_version }} +matrix_steam_bridge_docker_image: "{{ matrix_steam_bridge_docker_image_registry_prefix }}jasonlaguidice/matrix-steam-bridge:{{ matrix_steam_bridge_version }}" matrix_steam_bridge_docker_image_registry_prefix: "{{ 'localhost/' if matrix_steam_bridge_container_image_self_build else matrix_steam_bridge_docker_image_registry_prefix_upstream }}" matrix_steam_bridge_docker_image_registry_prefix_upstream: "{{ matrix_steam_bridge_docker_image_registry_prefix_upstream_default }}" matrix_steam_bridge_docker_image_registry_prefix_upstream_default: "ghcr.io/" matrix_steam_bridge_docker_image_tag: "{{ matrix_steam_bridge_version }}" -matrix_steam_bridge_docker_image_force_pull: "{{ matrix_steam_bridge_image.endswith(':latest') }}" +matrix_steam_bridge_docker_image_force_pull: "{{ matrix_steam_bridge_docker_image.endswith(':latest') }}" matrix_steam_bridge_base_path: "{{ matrix_base_data_path }}/matrix-steam-bridge" matrix_steam_bridge_config_path: "{{ matrix_steam_bridge_base_path }}/config" diff --git a/roles/custom/matrix-bridge-steam/tasks/validate_config.yml b/roles/custom/matrix-bridge-steam/tasks/validate_config.yml index 33542c66d..6209426b9 100644 --- a/roles/custom/matrix-bridge-steam/tasks/validate_config.yml +++ b/roles/custom/matrix-bridge-steam/tasks/validate_config.yml @@ -27,29 +27,3 @@ 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" diff --git a/roles/custom/matrix-bridge-steam/templates/config.yaml.j2 b/roles/custom/matrix-bridge-steam/templates/config.yaml.j2 index 15a1f981e..0c3c18fc0 100644 --- a/roles/custom/matrix-bridge-steam/templates/config.yaml.j2 +++ b/roles/custom/matrix-bridge-steam/templates/config.yaml.j2 @@ -24,7 +24,7 @@ network: # Config options that affect the central bridge module. bridge: # The prefix for commands. Only required in non-management rooms. - command_prefix: {{ matrix_steam_bridge_bridge_command_prefix | to_json }} + command_prefix: {{ matrix_steam_bridge_command_prefix | to_json }} # Should the bridge create a space for each login containing the rooms that account is in? personal_filtering_spaces: true # Whether the bridge should set names and avatars explicitly for DM portals.