From 0579e14d6b009f63f5939e1cd169db1513fe6447 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Tue, 4 Nov 2025 17:30:33 +0900 Subject: [PATCH] Remove MX Puppet Twitter bridge Reuse c399992542aa4b7f19e7fea9c1d24d64b4a3cab5 Signed-off-by: Suguru Hirahara --- CHANGELOG.md | 8 + README.md | 1 - ...iguring-playbook-bridge-mautrix-twitter.md | 2 - ...uring-playbook-bridge-mx-puppet-twitter.md | 58 ++---- docs/configuring-playbook.md | 4 +- docs/container-images.md | 2 +- group_vars/matrix_servers | 80 -------- .../defaults/main.yml | 184 ------------------ .../tasks/main.yml | 26 --- .../tasks/setup_install.yml | 155 --------------- .../tasks/setup_uninstall.yml | 26 --- .../tasks/validate_config.yml | 32 --- .../templates/config.yaml.j2 | 79 -------- .../templates/config.yaml.j2.license | 5 - .../templates/labels.j2 | 47 ----- .../matrix-mx-puppet-twitter.service.j2 | 51 ----- ...atrix-mx-puppet-twitter.service.j2.license | 5 - .../tasks/validate_config.yml | 12 ++ setup.yml | 1 - 19 files changed, 38 insertions(+), 740 deletions(-) delete mode 100644 roles/custom/matrix-bridge-mx-puppet-twitter/defaults/main.yml delete mode 100644 roles/custom/matrix-bridge-mx-puppet-twitter/tasks/main.yml delete mode 100644 roles/custom/matrix-bridge-mx-puppet-twitter/tasks/setup_install.yml delete mode 100644 roles/custom/matrix-bridge-mx-puppet-twitter/tasks/setup_uninstall.yml delete mode 100644 roles/custom/matrix-bridge-mx-puppet-twitter/tasks/validate_config.yml delete mode 100644 roles/custom/matrix-bridge-mx-puppet-twitter/templates/config.yaml.j2 delete mode 100644 roles/custom/matrix-bridge-mx-puppet-twitter/templates/config.yaml.j2.license delete mode 100644 roles/custom/matrix-bridge-mx-puppet-twitter/templates/labels.j2 delete mode 100644 roles/custom/matrix-bridge-mx-puppet-twitter/templates/systemd/matrix-mx-puppet-twitter.service.j2 delete mode 100644 roles/custom/matrix-bridge-mx-puppet-twitter/templates/systemd/matrix-mx-puppet-twitter.service.j2.license diff --git a/CHANGELOG.md b/CHANGELOG.md index a21e040a0..1324fba9e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,13 @@ # 2025-11-04 +## The MX Puppet Twitter bridge has been removed from the playbook + +The [mx-puppet-twitter](./docs/configuring-playbook-bridge-mx-puppet-twitter.md) bridge has been removed from the playbook, as it has been unmaintained for a long time more than several years and does not support important features like authenticated media. See [this issue](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/3867) for the context. + +The playbook will let you know if you're using any `matrix_mx_puppet_twitter_*` variables. You'll need to remove them from `vars.yml` and potentially [uninstall the bridge manually](./docs/configuring-playbook-bridge-mx-puppet-twitter.md#uninstalling-the-bridge-manually). + +# 2025-11-04 + ## The Go Skype bridge has been removed from the playbook The [go-skype-bridge](./docs/configuring-playbook-bridge-go-skype-bridge.md) has been removed from the playbook, as Skype has been discontinued since the May 2025. diff --git a/README.md b/README.md index b75240a8f..49fe94d17 100644 --- a/README.md +++ b/README.md @@ -137,7 +137,6 @@ Bridges can be used to connect your Matrix installation with third-party communi | [Heisenbridge](https://github.com/hifi/heisenbridge) | ❌ | Bouncer-style bridge to [IRC](https://wikipedia.org/wiki/Internet_Relay_Chat) | [Link](docs/configuring-playbook-bridge-heisenbridge.md) | | [mx-puppet-slack](https://gitlab.com/mx-puppet/slack/mx-puppet-slack) | ❌ | Bridge to [Slack](https://slack.com) | [Link](docs/configuring-playbook-bridge-mx-puppet-slack.md) | | [mx-puppet-instagram](https://github.com/Sorunome/mx-puppet-instagram) | ❌ | Bridge for Instagram-DMs ([Instagram](https://www.instagram.com/)) | [Link](docs/configuring-playbook-bridge-mx-puppet-instagram.md) | -| [mx-puppet-twitter](https://github.com/Sorunome/mx-puppet-twitter) | ❌ | Bridge for Twitter-DMs ([Twitter](https://twitter.com/)) | [Link](docs/configuring-playbook-bridge-mx-puppet-twitter.md) | | [mx-puppet-discord](https://gitlab.com/mx-puppet/discord/mx-puppet-discord) | ❌ | Bridge to [Discord](https://discordapp.com/) | [Link](docs/configuring-playbook-bridge-mx-puppet-discord.md) | | [mx-puppet-groupme](https://gitlab.com/xangelix-pub/matrix/mx-puppet-groupme) | ❌ | Bridge to [GroupMe](https://groupme.com/) | [Link](docs/configuring-playbook-bridge-mx-puppet-groupme.md) | | [mx-puppet-steam](https://codeberg.org/icewind/mx-puppet-steam) | ❌ | Bridge to [Steam](https://steamapp.com/) | [Link](docs/configuring-playbook-bridge-mx-puppet-steam.md) | diff --git a/docs/configuring-playbook-bridge-mautrix-twitter.md b/docs/configuring-playbook-bridge-mautrix-twitter.md index 0698135df..1a51dfbd6 100644 --- a/docs/configuring-playbook-bridge-mautrix-twitter.md +++ b/docs/configuring-playbook-bridge-mautrix-twitter.md @@ -11,8 +11,6 @@ SPDX-License-Identifier: AGPL-3.0-or-later Refer the common guide for configuring mautrix bridges: [Setting up a Generic Mautrix Bridge](configuring-playbook-bridge-mautrix-bridges.md) -**Note**: bridging to [Twitter](https://twitter.com/) can also happen via the [mx-puppet-twitter](configuring-playbook-bridge-mx-puppet-twitter.md) bridge supported by the playbook. - The playbook can install and configure [mautrix-twitter](https://github.com/mautrix/twitter) for you. See the project's [documentation](https://github.com/mautrix/twitter/blob/master/README.md) to learn what it does and why it might be useful to you. diff --git a/docs/configuring-playbook-bridge-mx-puppet-twitter.md b/docs/configuring-playbook-bridge-mx-puppet-twitter.md index b2ecb54c8..0ea17cff0 100644 --- a/docs/configuring-playbook-bridge-mx-puppet-twitter.md +++ b/docs/configuring-playbook-bridge-mx-puppet-twitter.md @@ -1,57 +1,29 @@ -# Setting up MX Puppet Twitter bridging (optional) +# Setting up MX Puppet Twitter bridging (optional, removed) -**Note**: bridging to [Twitter](https://twitter.com/) can also happen via the [mautrix-twitter](configuring-playbook-bridge-mautrix-twitter.md) bridge supported by the playbook. +🪦 The playbook used to be able to install and configure [mx-puppet-twitter](https://github.com/Sorunome/mx-puppet-twitter), but no longer includes this component, as it has been unmaintained for a long time. -The playbook can install and configure [mx-puppet-twitter](https://github.com/Sorunome/mx-puppet-twitter) for you. +You may wish to use the [Mautrix Twitter bridge](https://github.com/mautrix/twitter) instead. -See the project's [documentation](https://github.com/Sorunome/mx-puppet-twitter/blob/master/README.md) to learn what it does and why it might be useful to you. +## Uninstalling the bridge manually -## Prerequisite +If you still have the MX Puppet Twitter bridge installed on your Matrix server, the playbook can no longer help you uninstall it and you will need to do it manually. To uninstall manually, run these commands on the server: -Make an app on [developer.twitter.com](https://developer.twitter.com/en/apps). - -## Adjusting the playbook configuration - -To enable the [Twitter](https://twitter.com) bridge, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file: - -```yaml -matrix_mx_puppet_twitter_enabled: true -matrix_mx_puppet_twitter_consumer_key: '' -matrix_mx_puppet_twitter_consumer_secret: '' -matrix_mx_puppet_twitter_access_token: '' -matrix_mx_puppet_twitter_access_token_secret: '' -matrix_mx_puppet_twitter_environment: '' -``` - -## Installing - -After configuring the playbook, run it with [playbook tags](playbook-tags.md) as below: - - ```sh -ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start +systemctl disable --now matrix-mx-puppet-twitter.service + +rm -rf /matrix/mx-puppet-twitter + +/matrix/postgres/bin/cli-non-interactive 'DROP DATABASE matrix_mx_puppet_twitter;' ``` - -The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all` - -`just install-all` is useful for maintaining your setup quickly ([2x-5x faster](../CHANGELOG.md#2x-5x-performance-improvements-in-playbook-runtime) than `just setup-all`) when its components remain unchanged. If you adjust your `vars.yml` to remove other components, you'd need to run `just setup-all`, or these components will still remain installed. Note these shortcuts run the `ensure-matrix-users-created` tag too. - -## Usage - -To use the bridge, you need to start a chat with `Twitter Puppet Bridge` with the handle `@_twitterpuppet_bot:example.com` (where `example.com` is your base domain, not the `matrix.` domain). - -To log in, use `link` and click the link. - -Once logged in, send `list` to the bot user to list the available rooms. - -Clicking rooms in the list will result in you receiving an invitation to the bridged room. - -Send `help` to the bot to see the available commands. diff --git a/docs/configuring-playbook.md b/docs/configuring-playbook.md index ac5ad30c8..9e6e59355 100644 --- a/docs/configuring-playbook.md +++ b/docs/configuring-playbook.md @@ -178,8 +178,6 @@ Bridges can be used to connect your Matrix installation with third-party communi - [Setting up MX Puppet Instagram bridging](configuring-playbook-bridge-mx-puppet-instagram.md) -- [Setting up MX Puppet Twitter bridging](configuring-playbook-bridge-mx-puppet-twitter.md) - - [Setting up MX Puppet Discord bridging](configuring-playbook-bridge-mx-puppet-discord.md) - [Setting up MX Puppet GroupMe bridging](configuring-playbook-bridge-mx-puppet-groupme.md) @@ -288,3 +286,5 @@ Various services that don't fit any other categories. - [Setting up Mautrix Instagram bridging](configuring-playbook-bridge-mautrix-instagram.md) (deprecated in favor of the Messenger/Instagram bridge with [mautrix-meta-instagram](configuring-playbook-bridge-mautrix-meta-instagram.md)) - [Setting up MX Puppet Skype bridging](configuring-playbook-bridge-mx-puppet-skype.md) (removed; this component has been broken for a long time, so it has been removed from the playbook. Consider [setting up Go Skype Bridge bridging](configuring-playbook-bridge-go-skype-bridge.md)) + +- [Setting up MX Puppet Twitter bridging](configuring-playbook-bridge-mx-puppet-twitter.md) (removed; this component has been unmaintained for a long time, so it has been removed from the playbook. Consider [setting up Mautrix Twitter bridging](configuring-playbook-bridge-mautrix-twitter.md)) diff --git a/docs/container-images.md b/docs/container-images.md index 1c96d87a0..6d8e47298 100644 --- a/docs/container-images.md +++ b/docs/container-images.md @@ -110,7 +110,6 @@ Bridges can be used to connect your Matrix installation with third-party communi | [Heisenbridge](configuring-playbook-bridge-heisenbridge.md) | [hif1/heisenbridge](https://hub.docker.com/r/hif1/heisenbridge) | ❌ | Bouncer-style bridge to [IRC](https://wikipedia.org/wiki/Internet_Relay_Chat) | | [mx-puppet-slack](configuring-playbook-bridge-mx-puppet-slack.md) | [mx-puppet/slack/mx-puppet-slack](https://gitlab.com/mx-puppet/slack/mx-puppet-slack/container_registry) | ❌ | Bridge to [Slack](https://slack.com) | | [mx-puppet-instagram](configuring-playbook-bridge-mx-puppet-instagram.md) | [sorunome/mx-puppet-instagram](https://hub.docker.com/r/sorunome/mx-puppet-instagram) | ❌ | Bridge for Instagram-DMs ([Instagram](https://www.instagram.com/)) | -| [mx-puppet-twitter](configuring-playbook-bridge-mx-puppet-twitter.md) | [sorunome/mx-puppet-twitter](https://hub.docker.com/r/sorunome/mx-puppet-twitter) | ❌ | Bridge for Twitter-DMs ([Twitter](https://twitter.com/)) | | [mx-puppet-discord](configuring-playbook-bridge-mx-puppet-discord.md) | [mx-puppet/discord/mx-puppet-discord](https://gitlab.com/mx-puppet/discord/mx-puppet-discord/container_registry) | ❌ | Bridge to [Discord](https://discordapp.com/) | | [mx-puppet-groupme](configuring-playbook-bridge-mx-puppet-groupme.md) | [xangelix/mx-puppet-groupme](https://hub.docker.com/r/xangelix/mx-puppet-groupme) | ❌ | Bridge to [GroupMe](https://groupme.com/) | | [matrix-steam-bridge](configuring-playbook-bridge-steam.md) | [jasonlaguidice/matrix-steam-bridge](https://github.com/jasonlaguidice/matrix-steam-bridge/pkgs/container/matrix-steam-bridge) | ❌ | Bridge to [Steam](https://steampowered.com/) | @@ -185,3 +184,4 @@ The list of the deprecated or unmaintained services is available [here](configur | [matrix-chatgpt-bot](configuring-playbook-bot-chatgpt.md) | [matrixgpt/matrix-chatgpt-bot](https://ghcr.io/matrixgpt/matrix-chatgpt-bot) | ❌ | Accessing ChatGPT via your favourite Matrix client | | [mautrix-facebook](configuring-playbook-bridge-mautrix-facebook.md) | [mautrix/facebook](https://mau.dev/mautrix/facebook/container_registry) | ❌ | Bridge to [Facebook](https://facebook.com/) | | [mautrix-instagram](configuring-playbook-bridge-mautrix-instagram.md) | [mautrix/instagram](https://mau.dev/mautrix/instagram/container_registry) | ❌ | Bridge to [Instagram](https://instagram.com/) | +| [mx-puppet-twitter](configuring-playbook-bridge-mx-puppet-twitter.md) | [sorunome/mx-puppet-twitter](https://hub.docker.com/r/sorunome/mx-puppet-twitter) | ❌ | Bridge for Twitter-DMs ([Twitter](https://twitter.com/)) | diff --git a/group_vars/matrix_servers b/group_vars/matrix_servers index dafbf7569..c06964fdb 100755 --- a/group_vars/matrix_servers +++ b/group_vars/matrix_servers @@ -156,8 +156,6 @@ matrix_homeserver_container_extra_arguments_auto: | + (['--mount type=bind,src=' + matrix_mx_puppet_steam_config_path + '/registration.yaml,dst=/matrix-mx-puppet-steam-registration.yaml,ro'] if matrix_mx_puppet_steam_enabled else []) + - (['--mount type=bind,src=' + matrix_mx_puppet_twitter_config_path + '/registration.yaml,dst=/matrix-mx-puppet-twitter-registration.yaml,ro'] if matrix_mx_puppet_twitter_enabled else []) - + (['--mount type=bind,src=' + matrix_sms_bridge_config_path + '/registration.yaml,dst=/matrix-sms-bridge-registration.yaml,ro'] if matrix_sms_bridge_enabled else []) + (['--mount type=bind,src=' + matrix_steam_bridge_config_path + '/registration.yaml,dst=/matrix-steam-bridge-registration.yaml,ro'] if matrix_steam_bridge_enabled else []) @@ -229,8 +227,6 @@ matrix_homeserver_app_service_config_files_auto: | + (['/matrix-mx-puppet-steam-registration.yaml'] if matrix_mx_puppet_steam_enabled else []) + - (['/matrix-mx-puppet-twitter-registration.yaml'] if matrix_mx_puppet_twitter_enabled else []) - + (['/matrix-sms-bridge-registration.yaml'] if matrix_sms_bridge_enabled else []) + (['/matrix-cactus-comments.yaml'] if matrix_cactus_comments_enabled else []) @@ -373,8 +369,6 @@ devture_systemd_service_manager_services_list_auto: | + ([{'name': 'matrix-mx-puppet-steam.service', 'priority': 2000, 'groups': ['matrix', 'bridges', 'mx-puppet-steam']}] if matrix_mx_puppet_steam_enabled else []) + - ([{'name': 'matrix-mx-puppet-twitter.service', 'priority': 2000, 'groups': ['matrix', 'bridges', 'mx-puppet-twitter']}] if matrix_mx_puppet_twitter_enabled else []) - + ([{'name': 'matrix-postmoogle.service', 'priority': 2200, 'groups': ['matrix', 'bridges', 'postmoogle']}] if matrix_postmoogle_enabled else []) + ([{'name': 'matrix-sms-bridge.service', 'priority': 2000, 'groups': ['matrix', 'bridges', 'sms']}] if matrix_sms_bridge_enabled else []) @@ -2375,69 +2369,6 @@ matrix_mx_puppet_slack_database_password: "{{ '%s' | format(matrix_homeserver_ge # ###################################################################### -###################################################################### -# -# matrix-bridge-mx-puppet-twitter -# -###################################################################### - -# We don't enable bridges by default. -matrix_mx_puppet_twitter_enabled: false - -matrix_mx_puppet_twitter_hostname: "{{ matrix_server_fqn_matrix }}" - -matrix_mx_puppet_twitter_systemd_required_services_list_auto: | - {{ - matrix_addons_homeserver_systemd_services_list - + - ([postgres_identifier ~ '.service'] if (postgres_enabled and matrix_mx_puppet_twitter_database_hostname == postgres_connection_hostname) else []) - }} - -matrix_mx_puppet_twitter_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_mx_puppet_twitter_docker_image_registry_prefix_upstream_default }}" - -matrix_mx_puppet_twitter_container_image_self_build: "{{ matrix_architecture != 'amd64' }}" - -matrix_mx_puppet_twitter_container_http_host_bind_port: "{{ (matrix_playbook_service_host_bind_interface_prefix ~ '' ~ matrix_mx_puppet_twitter_appservice_port) if matrix_playbook_service_host_bind_interface_prefix else '' }}" - -matrix_mx_puppet_twitter_container_network: "{{ matrix_addons_container_network }}" - -matrix_mx_puppet_twitter_container_additional_networks_auto: |- - {{ - ( - ([] if matrix_addons_homeserver_container_network == '' else [matrix_addons_homeserver_container_network]) - + - ([postgres_container_network] if (postgres_enabled and matrix_mx_puppet_twitter_database_hostname == postgres_connection_hostname and matrix_mx_puppet_twitter_container_network != postgres_container_network) else []) - + - ([matrix_playbook_reverse_proxyable_services_additional_network] if (matrix_playbook_reverse_proxyable_services_additional_network and matrix_mx_puppet_twitter_container_labels_traefik_enabled) else []) - ) | unique - }} - -matrix_mx_puppet_twitter_container_labels_traefik_enabled: "{{ matrix_playbook_reverse_proxy_type in ['playbook-managed-traefik', 'other-traefik-container'] }}" -matrix_mx_puppet_twitter_container_labels_traefik_docker_network: "{{ matrix_playbook_reverse_proxyable_services_additional_network }}" -matrix_mx_puppet_twitter_container_labels_traefik_entrypoints: "{{ traefik_entrypoint_primary }}" -matrix_mx_puppet_twitter_container_labels_traefik_tls_certResolver: "{{ traefik_certResolver_primary }}" - -matrix_mx_puppet_twitter_appservice_token: "{{ '%s' | format(matrix_homeserver_generic_secret_key) | password_hash('sha512', 'mxtwt.as.tok', rounds=655555) | to_uuid }}" - -matrix_mx_puppet_twitter_homeserver_address: "{{ matrix_addons_homeserver_client_api_url }}" -matrix_mx_puppet_twitter_homeserver_token: "{{ '%s' | format(matrix_homeserver_generic_secret_key) | password_hash('sha512', 'mxtwt.hs.tok', rounds=655555) | to_uuid }}" - -matrix_mx_puppet_twitter_login_shared_secret: "{{ matrix_synapse_ext_password_provider_shared_secret_auth_shared_secret if matrix_synapse_ext_password_provider_shared_secret_auth_enabled else '' }}" - -matrix_mx_puppet_twitter_presence_enabled: "{{ matrix_homeserver_implementation != 'synapse' or matrix_synapse_presence_enabled }}" - -# Postgres is the default, except if not using internal Postgres server -matrix_mx_puppet_twitter_database_engine: "{{ 'postgres' if postgres_enabled else 'sqlite' }}" -matrix_mx_puppet_twitter_database_hostname: "{{ postgres_connection_hostname if postgres_enabled else '' }}" -matrix_mx_puppet_twitter_database_password: "{{ '%s' | format(matrix_homeserver_generic_secret_key) | password_hash('sha512', 'mxpup.twitter.db', rounds=655555) | to_uuid }}" - -###################################################################### -# -# /matrix-bridge-mx-puppet-twitter -# -###################################################################### - - ###################################################################### # # matrix-bridge-mx-puppet-instagram @@ -4392,12 +4323,6 @@ postgres_managed_databases_auto: | 'password': matrix_mx_puppet_slack_database_password, }] if (matrix_mx_puppet_slack_enabled and matrix_mx_puppet_slack_database_engine == 'postgres' and matrix_mx_puppet_slack_database_hostname == postgres_connection_hostname) else []) + - ([{ - 'name': matrix_mx_puppet_twitter_database_name, - 'username': matrix_mx_puppet_twitter_database_username, - 'password': matrix_mx_puppet_twitter_database_password, - }] if (matrix_mx_puppet_twitter_enabled and matrix_mx_puppet_twitter_database_engine == 'postgres' and matrix_mx_puppet_twitter_database_hostname == postgres_connection_hostname) else []) - + ([{ 'name': matrix_mx_puppet_instagram_database_name, 'username': matrix_mx_puppet_instagram_database_username, @@ -5326,11 +5251,6 @@ matrix_synapse_admin_config_asManagedUsers_auto: | '^@_steampuppet_[a-zA-Z0-9]+:'+(matrix_domain | regex_escape)+'$', ] if matrix_mx_puppet_steam_enabled else []) + - ([ - '^@'+(matrix_mx_puppet_twitter_bot_localpart | default('') | regex_escape)+':'+ (matrix_domain | regex_escape)+'$', - '^@'+(matrix_mx_puppet_twitter_namespace_prefix | default('') | regex_escape)+'[a-zA-Z0-9]+:'+(matrix_domain | regex_escape)+'$', - ] if matrix_mx_puppet_twitter_enabled else []) - + ([ '^@smsbot:'+(matrix_domain | regex_escape)+'$', '^@sms_[a-zA-Z0-9]+:'+(matrix_domain | regex_escape)+'$', diff --git a/roles/custom/matrix-bridge-mx-puppet-twitter/defaults/main.yml b/roles/custom/matrix-bridge-mx-puppet-twitter/defaults/main.yml deleted file mode 100644 index 9f14f1272..000000000 --- a/roles/custom/matrix-bridge-mx-puppet-twitter/defaults/main.yml +++ /dev/null @@ -1,184 +0,0 @@ -# SPDX-FileCopyrightText: 2020 - 2021 MDAD project contributors -# SPDX-FileCopyrightText: 2020 - 2024 Slavi Pantaleev -# SPDX-FileCopyrightText: 2020 Tulir Asokan -# SPDX-FileCopyrightText: 2021 Ahmad Haghighi -# SPDX-FileCopyrightText: 2022 Marko Weltzer -# SPDX-FileCopyrightText: 2022 Nikita Chernyi -# SPDX-FileCopyrightText: 2023 Samuel Meenzen -# SPDX-FileCopyrightText: 2024 Suguru Hirahara -# -# SPDX-License-Identifier: AGPL-3.0-or-later - ---- - -# Mx Puppet Twitter is a Matrix <-> Twitter bridge -# Project source code URL: https://github.com/Sorunome/mx-puppet-twitter - -matrix_mx_puppet_twitter_enabled: true - -matrix_mx_puppet_twitter_scheme: https -matrix_mx_puppet_twitter_hostname: '' -matrix_mx_puppet_twitter_path_prefix: /twitter/webhook - -matrix_mx_puppet_twitter_container_image_self_build: false -matrix_mx_puppet_twitter_container_image_self_build_repo: "https://github.com/Sorunome/mx-puppet-twitter.git" - -# Controls whether the mx-puppet-twitter container exposes its HTTP port (tcp/8432 in the container). -# -# Takes an ":" or "" value (e.g. "127.0.0.1:8432"), or empty string to not expose. -matrix_mx_puppet_twitter_container_http_host_bind_port: '' - -# renovate: datasource=docker depName=sorunome/mx-puppet-twitter -matrix_mx_puppet_twitter_version: latest -matrix_mx_puppet_twitter_docker_image: "{{ matrix_mx_puppet_twitter_docker_image_registry_prefix }}sorunome/mx-puppet-twitter:{{ matrix_mx_puppet_twitter_version }}" -matrix_mx_puppet_twitter_docker_image_registry_prefix: "{{ 'localhost/' if matrix_mx_puppet_twitter_container_image_self_build else matrix_mx_puppet_twitter_docker_image_registry_prefix_upstream }}" -matrix_mx_puppet_twitter_docker_image_registry_prefix_upstream: "{{ matrix_mx_puppet_twitter_docker_image_registry_prefix_upstream_default }}" -matrix_mx_puppet_twitter_docker_image_registry_prefix_upstream_default: "docker.io/" -matrix_mx_puppet_twitter_docker_image_force_pull: "{{ matrix_mx_puppet_twitter_docker_image.endswith(':latest') }}" - -matrix_mx_puppet_twitter_base_path: "{{ matrix_base_data_path }}/mx-puppet-twitter" -matrix_mx_puppet_twitter_config_path: "{{ matrix_mx_puppet_twitter_base_path }}/config" -matrix_mx_puppet_twitter_data_path: "{{ matrix_mx_puppet_twitter_base_path }}/data" -matrix_mx_puppet_twitter_docker_src_files_path: "{{ matrix_mx_puppet_twitter_base_path }}/docker-src" - -matrix_mx_puppet_twitter_appservice_port: "8432" - -matrix_mx_puppet_twitter_homeserver_address: "" -matrix_mx_puppet_twitter_homeserver_domain: '{{ matrix_domain }}' -matrix_mx_puppet_twitter_appservice_address: 'http://matrix-mx-puppet-twitter:{{ matrix_mx_puppet_twitter_appservice_port }}' - -matrix_mx_puppet_twitter_consumer_key: '' -matrix_mx_puppet_twitter_consumer_secret: '' -matrix_mx_puppet_twitter_access_token: '' -matrix_mx_puppet_twitter_access_token_secret: '' -matrix_mx_puppet_twitter_environment: '' -matrix_mx_puppet_twitter_server_path: "{{ matrix_mx_puppet_twitter_path_prefix }}" -matrix_mx_puppet_twitter_server_url: '{{ matrix_homeserver_url }}{{ matrix_mx_puppet_twitter_server_path }}' - -# "@alice:example.com" to allow a specific user -# "@.*:example.com" to allow users on a specific homeserver -# "@.*" to allow anyone -matrix_mx_puppet_twitter_provisioning_whitelist: - - "@.*:{{ matrix_domain | regex_escape }}" - -# Leave empty to disable blacklist -# "@bob:example.com" to disallow a specific user -# "@.*:example.com" to disallow users on a specific homeserver -matrix_mx_puppet_twitter_provisioning_blacklist: [] - -matrix_mx_puppet_twitter_container_network: "" - -matrix_mx_puppet_twitter_container_additional_networks: "{{ matrix_mx_puppet_twitter_container_additional_networks_auto + matrix_mx_puppet_twitter_container_additional_networks_custom }}" -matrix_mx_puppet_twitter_container_additional_networks_auto: [] -matrix_mx_puppet_twitter_container_additional_networks_custom: [] - -# matrix_mx_puppet_twitter_container_labels_traefik_enabled controls whether labels to assist a Traefik reverse-proxy will be attached to the container. -# See `../templates/labels.j2` for details. -# -# To inject your own other container labels, see `matrix_mx_puppet_twitter_container_labels_additional_labels`. -matrix_mx_puppet_twitter_container_labels_traefik_enabled: true -matrix_mx_puppet_twitter_container_labels_traefik_docker_network: "{{ matrix_mx_puppet_twitter_container_network }}" -matrix_mx_puppet_twitter_container_labels_traefik_entrypoints: web-secure -matrix_mx_puppet_twitter_container_labels_traefik_tls_certResolver: default # noqa var-naming - -# Controls whether labels will be added that expose mx-puppet-twitter's public endpoint -matrix_mx_puppet_twitter_container_labels_public_endpoint_enabled: true -matrix_mx_puppet_twitter_container_labels_public_endpoint_hostname: "{{ matrix_mx_puppet_twitter_hostname }}" -matrix_mx_puppet_twitter_container_labels_public_endpoint_path_prefix: "{{ matrix_mx_puppet_twitter_path_prefix }}" -matrix_mx_puppet_twitter_container_labels_public_endpoint_traefik_rule: "Host(`{{ matrix_mx_puppet_twitter_container_labels_public_endpoint_hostname }}`) && PathPrefix(`{{ matrix_mx_puppet_twitter_container_labels_public_endpoint_path_prefix }}`)" -matrix_mx_puppet_twitter_container_labels_public_endpoint_traefik_priority: 0 -matrix_mx_puppet_twitter_container_labels_public_endpoint_traefik_entrypoints: "{{ matrix_mx_puppet_twitter_container_labels_traefik_entrypoints }}" -matrix_mx_puppet_twitter_container_labels_public_endpoint_traefik_tls: "{{ matrix_mx_puppet_twitter_container_labels_public_endpoint_traefik_entrypoints != 'web' }}" -matrix_mx_puppet_twitter_container_labels_public_endpoint_traefik_tls_certResolver: "{{ matrix_mx_puppet_twitter_container_labels_traefik_tls_certResolver }}" # noqa var-naming - -# matrix_mx_puppet_twitter_container_labels_additional_labels contains a multiline string with additional labels to add to the container label file. -# See `../templates/labels.j2` for details. -# -# Example: -# matrix_mx_puppet_twitter_container_labels_additional_labels: | -# my.label=1 -# another.label="here" -matrix_mx_puppet_twitter_container_labels_additional_labels: '' - -# A list of extra arguments to pass to the container -matrix_mx_puppet_twitter_container_extra_arguments: [] - -# List of systemd services that mx-puppet-twitter.service depends on. -matrix_mx_puppet_twitter_systemd_required_services_list: "{{ matrix_mx_puppet_twitter_systemd_required_services_list_default + matrix_mx_puppet_twitter_systemd_required_services_list_auto + matrix_mx_puppet_twitter_systemd_required_services_list_custom }}" -matrix_mx_puppet_twitter_systemd_required_services_list_default: "{{ [devture_systemd_docker_base_docker_service_name] if devture_systemd_docker_base_docker_service_name else [] }}" -matrix_mx_puppet_twitter_systemd_required_services_list_auto: [] -matrix_mx_puppet_twitter_systemd_required_services_list_custom: [] - -# List of systemd services that mx-puppet-twitter.service wants -matrix_mx_puppet_twitter_systemd_wanted_services_list: [] - -matrix_mx_puppet_twitter_appservice_token: '' -matrix_mx_puppet_twitter_homeserver_token: '' - -# Can be set to enable automatic double-puppeting via Shared Secret Auth (https://github.com/devture/matrix-synapse-shared-secret-auth). -matrix_mx_puppet_twitter_login_shared_secret: '' - -matrix_mx_puppet_twitter_presence_enabled: true -matrix_mx_puppet_twitter_presence_interval: 5000 - -# Database configuration -matrix_mx_puppet_twitter_database_engine: sqlite - -matrix_mx_puppet_twitter_sqlite_database_path_local: "{{ matrix_mx_puppet_twitter_data_path }}/database.db" -matrix_mx_puppet_twitter_sqlite_database_path_in_container: "/data/database.db" - -matrix_mx_puppet_twitter_database_username: mx_puppet_twitter -matrix_mx_puppet_twitter_database_password: ~ -matrix_mx_puppet_twitter_database_hostname: '' -matrix_mx_puppet_twitter_database_port: 5432 -matrix_mx_puppet_twitter_database_name: matrix_mx_puppet_twitter -matrix_mx_puppet_twitter_database_sslmode: disable - -matrix_mx_puppet_twitter_database_connection_string: 'postgresql://{{ matrix_mx_puppet_twitter_database_username }}:{{ matrix_mx_puppet_twitter_database_password }}@{{ matrix_mx_puppet_twitter_database_hostname }}:{{ matrix_mx_puppet_twitter_database_port }}/{{ matrix_mx_puppet_twitter_database_name }}?sslmode={{ matrix_mx_puppet_twitter_database_sslmode }}' - -# Default configuration template which covers the generic use case. -# You can customize it by controlling the various variables inside it. -# -# For a more advanced customization, you can extend the default (see `matrix_mx_puppet_twitter_configuration_extension_yaml`) -# or completely replace this variable with your own template. -matrix_mx_puppet_twitter_configuration_yaml: "{{ lookup('template', 'templates/config.yaml.j2') }}" - -matrix_mx_puppet_twitter_configuration_extension_yaml: | - # Your custom YAML configuration goes here. - # This configuration extends the default starting configuration (`matrix_mx_puppet_twitter_configuration_yaml`). - # - # You can override individual variables from the default configuration, or introduce new ones. - # - # If you need something more special, you can take full control by - # completely redefining `matrix_mx_puppet_twitter_configuration_yaml`. - -matrix_mx_puppet_twitter_configuration_extension: "{{ matrix_mx_puppet_twitter_configuration_extension_yaml | from_yaml if matrix_mx_puppet_twitter_configuration_extension_yaml | from_yaml is mapping else {} }}" - -# Holds the final configuration (a combination of the default and its extension). -# You most likely don't need to touch this variable. Instead, see `matrix_mx_puppet_twitter_configuration_yaml`. -matrix_mx_puppet_twitter_configuration: "{{ matrix_mx_puppet_twitter_configuration_yaml | from_yaml | combine(matrix_mx_puppet_twitter_configuration_extension, recursive=True) }}" - -# The prefix for user IDs and aliases -matrix_mx_puppet_twitter_namespace_prefix: _twitterpuppet_ -matrix_mx_puppet_twitter_bot_localpart: _twitterpuppet_bot - -matrix_mx_puppet_twitter_registration_yaml: | - as_token: "{{ matrix_mx_puppet_twitter_appservice_token }}" - hs_token: "{{ matrix_mx_puppet_twitter_homeserver_token }}" - id: twitter-puppet - namespaces: - users: - - exclusive: true - regex: '@{{ matrix_mx_puppet_twitter_namespace_prefix | regex_escape }}.*:{{ matrix_mx_puppet_twitter_homeserver_domain | regex_escape }}' - rooms: [] - aliases: - - exclusive: true - regex: '#{{ matrix_mx_puppet_twitter_namespace_prefix | regex_escape }}.*:{{ matrix_mx_puppet_twitter_homeserver_domain | regex_escape }}' - protocols: [] - rate_limited: false - sender_localpart: "{{ matrix_mx_puppet_twitter_bot_localpart }}" - url: {{ matrix_mx_puppet_twitter_appservice_address }} - de.sorunome.msc2409.push_ephemeral: true - receive_ephemeral: true - -matrix_mx_puppet_twitter_registration: "{{ matrix_mx_puppet_twitter_registration_yaml | from_yaml }}" diff --git a/roles/custom/matrix-bridge-mx-puppet-twitter/tasks/main.yml b/roles/custom/matrix-bridge-mx-puppet-twitter/tasks/main.yml deleted file mode 100644 index b534f22c0..000000000 --- a/roles/custom/matrix-bridge-mx-puppet-twitter/tasks/main.yml +++ /dev/null @@ -1,26 +0,0 @@ -# SPDX-FileCopyrightText: 2020 Tulir Asokan -# SPDX-FileCopyrightText: 2022 - 2024 Slavi Pantaleev -# SPDX-FileCopyrightText: 2022 Marko Weltzer -# -# SPDX-License-Identifier: AGPL-3.0-or-later - ---- - -- tags: - - setup-all - - setup-mx-puppet-twitter - - install-all - - install-mx-puppet-twitter - block: - - when: matrix_mx_puppet_twitter_enabled | bool - ansible.builtin.include_tasks: "{{ role_path }}/tasks/validate_config.yml" - - - when: matrix_mx_puppet_twitter_enabled | bool - ansible.builtin.include_tasks: "{{ role_path }}/tasks/setup_install.yml" - -- tags: - - setup-all - - setup-mx-puppet-twitter - block: - - when: not matrix_mx_puppet_twitter_enabled | bool - ansible.builtin.include_tasks: "{{ role_path }}/tasks/setup_uninstall.yml" diff --git a/roles/custom/matrix-bridge-mx-puppet-twitter/tasks/setup_install.yml b/roles/custom/matrix-bridge-mx-puppet-twitter/tasks/setup_install.yml deleted file mode 100644 index 137d358c0..000000000 --- a/roles/custom/matrix-bridge-mx-puppet-twitter/tasks/setup_install.yml +++ /dev/null @@ -1,155 +0,0 @@ -# SPDX-FileCopyrightText: 2020 - 2024 Slavi Pantaleev -# SPDX-FileCopyrightText: 2020 Stuart Mumford -# SPDX-FileCopyrightText: 2020 Tulir Asokan -# SPDX-FileCopyrightText: 2022 Jim Myhrberg -# SPDX-FileCopyrightText: 2022 Marko Weltzer -# SPDX-FileCopyrightText: 2022 Nikita Chernyi -# SPDX-FileCopyrightText: 2022 Sebastian Gumprich -# SPDX-FileCopyrightText: 2024 David Mehren -# -# SPDX-License-Identifier: AGPL-3.0-or-later - ---- - -- name: Ensure MX Puppet Twitter paths exist - ansible.builtin.file: - path: "{{ item.path }}" - state: directory - mode: 0750 - owner: "{{ matrix_user_name }}" - group: "{{ matrix_group_name }}" - with_items: - - {path: "{{ matrix_mx_puppet_twitter_base_path }}", when: true} - - {path: "{{ matrix_mx_puppet_twitter_config_path }}", when: true} - - {path: "{{ matrix_mx_puppet_twitter_data_path }}", when: true} - - {path: "{{ matrix_mx_puppet_twitter_docker_src_files_path }}", when: "{{ matrix_mx_puppet_twitter_container_image_self_build }}"} - when: matrix_mx_puppet_twitter_enabled | bool and item.when | bool - -- name: Check if an old database file already exists - ansible.builtin.stat: - path: "{{ matrix_mx_puppet_twitter_base_path }}/database.db" - register: matrix_mx_puppet_twitter_stat_database - -- name: (Data relocation) Ensure matrix-mx-puppet-twitter.service is stopped - ansible.builtin.service: - name: matrix-mx-puppet-twitter - state: stopped - enabled: false - daemon_reload: true - failed_when: false - when: "matrix_mx_puppet_twitter_stat_database.stat.exists" - -- name: (Data relocation) Move mx-puppet-twitter database file to ./data directory - ansible.builtin.command: - cmd: "mv {{ matrix_mx_puppet_twitter_base_path }}/database.db {{ matrix_mx_puppet_twitter_data_path }}/database.db" - creates: "{{ matrix_mx_puppet_twitter_data_path }}/database.db" - removes: "{{ matrix_mx_puppet_twitter_base_path }}/database.db" - when: "matrix_mx_puppet_twitter_stat_database.stat.exists" - -- ansible.builtin.set_fact: - matrix_mx_puppet_twitter_requires_restart: false - -- when: "matrix_mx_puppet_twitter_database_engine == 'postgres'" - block: - - name: Check if an SQLite database already exists - ansible.builtin.stat: - path: "{{ matrix_mx_puppet_twitter_sqlite_database_path_local }}" - register: matrix_mx_puppet_twitter_sqlite_database_path_local_stat_result - - - when: "matrix_mx_puppet_twitter_sqlite_database_path_local_stat_result.stat.exists | bool" - block: - - ansible.builtin.include_role: - name: galaxy/postgres - tasks_from: migrate_db_to_postgres - vars: - postgres_db_migration_request: - src: "{{ matrix_mx_puppet_twitter_sqlite_database_path_local }}" - dst: "{{ matrix_mx_puppet_twitter_database_connection_string }}" - caller: "{{ role_path | basename }}" - engine_variable_name: 'matrix_mx_puppet_twitter_database_engine' - engine_old: 'sqlite' - systemd_services_to_stop: ['matrix-mx-puppet-twitter.service'] - - - ansible.builtin.set_fact: - matrix_mx_puppet_twitter_requires_restart: true - -- name: Ensure MX Puppet Twitter image is pulled - community.docker.docker_image: - name: "{{ matrix_mx_puppet_twitter_docker_image }}" - source: "{{ 'pull' if ansible_version.major > 2 or ansible_version.minor > 7 else omit }}" - force_source: "{{ matrix_mx_puppet_twitter_docker_image_force_pull if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}" - force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_mx_puppet_twitter_docker_image_force_pull }}" - when: matrix_mx_puppet_twitter_enabled | bool and not matrix_mx_puppet_twitter_container_image_self_build - register: result - retries: "{{ devture_playbook_help_container_retries_count }}" - delay: "{{ devture_playbook_help_container_retries_delay }}" - until: result is not failed - -- name: Ensure MX Puppet Twitter repository is present on self build - ansible.builtin.git: - repo: "{{ matrix_mx_puppet_twitter_container_image_self_build_repo }}" - version: master - dest: "{{ matrix_mx_puppet_twitter_docker_src_files_path }}" - force: "yes" - become: true - become_user: "{{ matrix_user_name }}" - register: matrix_mx_puppet_twitter_git_pull_results - when: "matrix_mx_puppet_twitter_enabled | bool and matrix_mx_puppet_twitter_container_image_self_build" - -- name: Ensure MX Puppet Twitter Docker image is built - community.docker.docker_image: - name: "{{ matrix_mx_puppet_twitter_docker_image }}" - source: build - force_source: "{{ matrix_mx_puppet_twitter_git_pull_results.changed if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}" - force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_mx_puppet_twitter_git_pull_results.changed }}" - build: - dockerfile: Dockerfile - path: "{{ matrix_mx_puppet_twitter_docker_src_files_path }}" - pull: true - when: "matrix_mx_puppet_twitter_enabled | bool and matrix_mx_puppet_twitter_container_image_self_build" - -- name: Ensure mx-puppet-twitter config.yaml installed - ansible.builtin.copy: - content: "{{ matrix_mx_puppet_twitter_configuration | to_nice_yaml(indent=2, width=999999) }}" - dest: "{{ matrix_mx_puppet_twitter_config_path }}/config.yaml" - mode: 0644 - owner: "{{ matrix_user_name }}" - group: "{{ matrix_group_name }}" - -- name: Ensure mx-puppet-twitter twitter-registration.yaml installed - ansible.builtin.copy: - content: "{{ matrix_mx_puppet_twitter_registration | to_nice_yaml(indent=2, width=999999) }}" - dest: "{{ matrix_mx_puppet_twitter_config_path }}/registration.yaml" - mode: 0644 - owner: "{{ matrix_user_name }}" - group: "{{ matrix_group_name }}" - -- name: Ensure mx-puppet-twitter support files installed - ansible.builtin.template: - src: "{{ role_path }}/templates/{{ item }}.j2" - dest: "{{ matrix_mx_puppet_twitter_base_path }}/{{ item }}" - mode: 0640 - owner: "{{ matrix_user_name }}" - group: "{{ matrix_group_name }}" - with_items: - - labels - -- name: Ensure mx-puppet-twitter container network is created - community.general.docker_network: - enable_ipv6: "{{ devture_systemd_docker_base_ipv6_enabled }}" - name: "{{ matrix_mx_puppet_twitter_container_network }}" - driver: bridge - driver_options: "{{ devture_systemd_docker_base_container_networks_driver_options }}" - -- name: Ensure matrix-mx-puppet-twitter.service installed - ansible.builtin.template: - src: "{{ role_path }}/templates/systemd/matrix-mx-puppet-twitter.service.j2" - dest: "/etc/systemd/system/matrix-mx-puppet-twitter.service" - mode: 0644 - -- name: Ensure matrix-mx-puppet-twitter.service restarted, if necessary - ansible.builtin.service: - name: "matrix-mx-puppet-twitter.service" - state: restarted - daemon_reload: true - when: "matrix_mx_puppet_twitter_requires_restart | bool" diff --git a/roles/custom/matrix-bridge-mx-puppet-twitter/tasks/setup_uninstall.yml b/roles/custom/matrix-bridge-mx-puppet-twitter/tasks/setup_uninstall.yml deleted file mode 100644 index c5f3bc2bf..000000000 --- a/roles/custom/matrix-bridge-mx-puppet-twitter/tasks/setup_uninstall.yml +++ /dev/null @@ -1,26 +0,0 @@ -# SPDX-FileCopyrightText: 2020 Tulir Asokan -# SPDX-FileCopyrightText: 2021 - 2022 Slavi Pantaleev -# SPDX-FileCopyrightText: 2022 Marko Weltzer -# -# SPDX-License-Identifier: AGPL-3.0-or-later - ---- - -- name: Check existence of matrix-mx-puppet-twitter service - ansible.builtin.stat: - path: "/etc/systemd/system/matrix-mx-puppet-twitter.service" - register: matrix_mx_puppet_twitter_service_stat - -- when: matrix_mx_puppet_twitter_service_stat.stat.exists | bool - block: - - name: Ensure matrix-mx-puppet-twitter is stopped - ansible.builtin.service: - name: matrix-mx-puppet-twitter - state: stopped - enabled: false - daemon_reload: true - - - name: Ensure matrix-mx-puppet-twitter.service doesn't exist - ansible.builtin.file: - path: "/etc/systemd/system/matrix-mx-puppet-twitter.service" - state: absent diff --git a/roles/custom/matrix-bridge-mx-puppet-twitter/tasks/validate_config.yml b/roles/custom/matrix-bridge-mx-puppet-twitter/tasks/validate_config.yml deleted file mode 100644 index 286305106..000000000 --- a/roles/custom/matrix-bridge-mx-puppet-twitter/tasks/validate_config.yml +++ /dev/null @@ -1,32 +0,0 @@ -# SPDX-FileCopyrightText: 2020 Tulir Asokan -# SPDX-FileCopyrightText: 2022 - 2025 Slavi Pantaleev -# SPDX-FileCopyrightText: 2025 Suguru Hirahara -# -# SPDX-License-Identifier: AGPL-3.0-or-later - ---- - -- name: Fail if required mx-puppet-twitter 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_mx_puppet_twitter_hostname', when: true} - - {'name': 'matrix_mx_puppet_twitter_path_prefix', when: true} - - {'name': 'matrix_mx_puppet_twitter_appservice_token', when: true} - - {'name': 'matrix_mx_puppet_twitter_homeserver_address', when: true} - - {'name': 'matrix_mx_puppet_twitter_homeserver_token', when: true} - - {'name': 'matrix_mx_puppet_twitter_database_hostname', when: "{{ matrix_mx_puppet_twitter_database_engine == 'postgres' }}"} - - {'name': 'matrix_mx_puppet_twitter_container_network', when: true} - -- name: (Deprecation) Catch and report renamed mx-puppet-twitter settings - 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_mx_puppet_twitter_webhook_path', 'new': ' 0 %} -traefik.http.routers.matrix-mx-puppet-twitter-public.priority={{ matrix_mx_puppet_twitter_container_labels_public_endpoint_traefik_priority }} -{% endif %} - -traefik.http.routers.matrix-mx-puppet-twitter-public.service=martix-mx-puppet-twitter -traefik.http.routers.matrix-mx-puppet-twitter-public.entrypoints={{ matrix_mx_puppet_twitter_container_labels_public_endpoint_traefik_entrypoints }} - -traefik.http.routers.matrix-mx-puppet-twitter-public.tls={{ matrix_mx_puppet_twitter_container_labels_public_endpoint_traefik_tls | to_json }} -{% if matrix_mx_puppet_twitter_container_labels_public_endpoint_traefik_tls %} -traefik.http.routers.matrix-mx-puppet-twitter-public.tls.certResolver={{ matrix_mx_puppet_twitter_container_labels_public_endpoint_traefik_tls_certResolver }} -{% endif %} - -############################################################ -# # -# /Public # -# # -############################################################ -{% endif %} - - -{% endif %} - -{{ matrix_mx_puppet_twitter_container_labels_additional_labels }} diff --git a/roles/custom/matrix-bridge-mx-puppet-twitter/templates/systemd/matrix-mx-puppet-twitter.service.j2 b/roles/custom/matrix-bridge-mx-puppet-twitter/templates/systemd/matrix-mx-puppet-twitter.service.j2 deleted file mode 100644 index f9fc0eb3e..000000000 --- a/roles/custom/matrix-bridge-mx-puppet-twitter/templates/systemd/matrix-mx-puppet-twitter.service.j2 +++ /dev/null @@ -1,51 +0,0 @@ -#jinja2: lstrip_blocks: True -[Unit] -Description=Matrix Mx Puppet Twitter bridge -{% for service in matrix_mx_puppet_twitter_systemd_required_services_list %} -Requires={{ service }} -After={{ service }} -{% endfor %} -{% for service in matrix_mx_puppet_twitter_systemd_wanted_services_list %} -Wants={{ service }} -{% endfor %} -DefaultDependencies=no - -[Service] -Type=simple -Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}" -ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-mx-puppet-twitter 2>/dev/null || true' -ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-mx-puppet-twitter 2>/dev/null || true' - -ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \ - --rm \ - --name=matrix-mx-puppet-twitter \ - --log-driver=none \ - --user={{ matrix_user_uid }}:{{ matrix_user_gid }} \ - --cap-drop=ALL \ - --network={{ matrix_mx_puppet_twitter_container_network }} \ - {% if matrix_mx_puppet_twitter_container_http_host_bind_port %} - -p {{ matrix_mx_puppet_twitter_container_http_host_bind_port }}:{{ matrix_mx_puppet_twitter_appservice_port }} \ - {% endif %} - -e CONFIG_PATH=/config/config.yaml \ - -e REGISTRATION_PATH=/config/registration.yaml \ - --mount type=bind,src={{ matrix_mx_puppet_twitter_config_path }},dst=/config \ - --mount type=bind,src={{ matrix_mx_puppet_twitter_data_path }},dst=/data \ - {% for arg in matrix_mx_puppet_twitter_container_extra_arguments %} - {{ arg }} \ - {% endfor %} - {{ matrix_mx_puppet_twitter_docker_image }} - -{% for network in matrix_mx_puppet_twitter_container_additional_networks %} -ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} network connect {{ network }} matrix-mx-puppet-twitter -{% endfor %} - -ExecStart={{ devture_systemd_docker_base_host_command_docker }} start --attach matrix-mx-puppet-twitter - -ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-mx-puppet-twitter 2>/dev/null || true' -ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-mx-puppet-twitter 2>/dev/null || true' -Restart=always -RestartSec=30 -SyslogIdentifier=matrix-mx-puppet-twitter - -[Install] -WantedBy=multi-user.target diff --git a/roles/custom/matrix-bridge-mx-puppet-twitter/templates/systemd/matrix-mx-puppet-twitter.service.j2.license b/roles/custom/matrix-bridge-mx-puppet-twitter/templates/systemd/matrix-mx-puppet-twitter.service.j2.license deleted file mode 100644 index 2bcb63426..000000000 --- a/roles/custom/matrix-bridge-mx-puppet-twitter/templates/systemd/matrix-mx-puppet-twitter.service.j2.license +++ /dev/null @@ -1,5 +0,0 @@ -SPDX-FileCopyrightText: 2020 - 2024 Slavi Pantaleev -SPDX-FileCopyrightText: 2020 Scott Crossen -SPDX-FileCopyrightText: 2020 Tulir Asokan - -SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix_playbook_migration/tasks/validate_config.yml b/roles/custom/matrix_playbook_migration/tasks/validate_config.yml index a6858c6da..fe36251c5 100644 --- a/roles/custom/matrix_playbook_migration/tasks/validate_config.yml +++ b/roles/custom/matrix_playbook_migration/tasks/validate_config.yml @@ -547,6 +547,18 @@ The following variables in your configuration need to be removed: {{ lookup('ansible.builtin.varnames', '^matrix_mautrix_hangouts_.+', wantlist=True) | join(', ') }} when: "lookup('ansible.builtin.varnames', '^matrix_mautrix_hangouts_.+', wantlist=True) | length > 0" +- name: (Deprecation) Catch and report mx-puppet-twitter variables + ansible.builtin.fail: + msg: |- + The MX Puppet Twitter bridge was completely removed from the playbook in November 2025. + + Please remove all `matrix_mx_puppet_twitter_*` variables from your configuration file (vars.yml). + + You may also wish to uninstall the bridge manually. See `docs/configuring-playbook-bridge-mx-puppet-twitter.md` for more information. + + The following variables in your configuration need to be removed: {{ lookup('ansible.builtin.varnames', '^matrix_mx_puppet_twitter_.+', wantlist=True) | join(', ') }} + when: "lookup('ansible.builtin.varnames', '^matrix_mx_puppet_twitter_.+', wantlist=True) | length > 0" + - name: (Deprecation) Catch and report Email2Matrix variables ansible.builtin.fail: msg: |- diff --git a/setup.yml b/setup.yml index bdcfcc7fb..95fd18493 100644 --- a/setup.yml +++ b/setup.yml @@ -79,7 +79,6 @@ - custom/matrix-bridge-mx-puppet-groupme - custom/matrix-bridge-mx-puppet-steam - custom/matrix-bridge-mx-puppet-slack - - custom/matrix-bridge-mx-puppet-twitter - custom/matrix-bridge-mx-puppet-instagram - custom/matrix-bridge-postmoogle - custom/matrix-bridge-sms