From bf48b8f037105d0b1dbe522d103b72ac0c76f4c5 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Mon, 16 Feb 2026 05:19:44 +0900 Subject: [PATCH] Remove roles/custom/matrix-bridge-appservice-slack Signed-off-by: Suguru Hirahara --- .../defaults/main.yml | 208 ------------------ .../tasks/main.yml | 26 --- .../tasks/migrate_nedb_to_postgres.yml | 80 ------- .../tasks/setup_install.yml | 141 ------------ .../tasks/setup_uninstall.yml | 26 --- .../tasks/validate_config.yml | 33 --- .../templates/config.yaml.j2 | 55 ----- .../templates/config.yaml.j2.license | 6 - .../templates/labels.j2 | 47 ---- .../matrix-appservice-slack.service.j2 | 51 ----- ...matrix-appservice-slack.service.j2.license | 6 - 11 files changed, 679 deletions(-) delete mode 100644 roles/custom/matrix-bridge-appservice-slack/defaults/main.yml delete mode 100644 roles/custom/matrix-bridge-appservice-slack/tasks/main.yml delete mode 100644 roles/custom/matrix-bridge-appservice-slack/tasks/migrate_nedb_to_postgres.yml delete mode 100644 roles/custom/matrix-bridge-appservice-slack/tasks/setup_install.yml delete mode 100644 roles/custom/matrix-bridge-appservice-slack/tasks/setup_uninstall.yml delete mode 100644 roles/custom/matrix-bridge-appservice-slack/tasks/validate_config.yml delete mode 100644 roles/custom/matrix-bridge-appservice-slack/templates/config.yaml.j2 delete mode 100644 roles/custom/matrix-bridge-appservice-slack/templates/config.yaml.j2.license delete mode 100644 roles/custom/matrix-bridge-appservice-slack/templates/labels.j2 delete mode 100644 roles/custom/matrix-bridge-appservice-slack/templates/systemd/matrix-appservice-slack.service.j2 delete mode 100644 roles/custom/matrix-bridge-appservice-slack/templates/systemd/matrix-appservice-slack.service.j2.license diff --git a/roles/custom/matrix-bridge-appservice-slack/defaults/main.yml b/roles/custom/matrix-bridge-appservice-slack/defaults/main.yml deleted file mode 100644 index 713d4ac03..000000000 --- a/roles/custom/matrix-bridge-appservice-slack/defaults/main.yml +++ /dev/null @@ -1,208 +0,0 @@ -# SPDX-FileCopyrightText: 2019 - 2022 MDAD project contributors -# SPDX-FileCopyrightText: 2019 - 2024 Slavi Pantaleev -# SPDX-FileCopyrightText: 2020 Daniel Wiegreffe -# SPDX-FileCopyrightText: 2021 Ahmad Haghighi -# SPDX-FileCopyrightText: 2021 Béla Becker -# SPDX-FileCopyrightText: 2021 Panagiotis Georgiadis -# SPDX-FileCopyrightText: 2021 boris runakov -# SPDX-FileCopyrightText: 2022 Didier 'OdyX' Raboud -# SPDX-FileCopyrightText: 2022 Marko Weltzer -# SPDX-FileCopyrightText: 2022 Nikita Chernyi -# SPDX-FileCopyrightText: 2023 Samuel Meenzen -# SPDX-FileCopyrightText: 2024 Fabio Bonelli -# SPDX-FileCopyrightText: 2024 Suguru Hirahara -# -# SPDX-License-Identifier: AGPL-3.0-or-later - ---- -# matrix-appservice-slack is a Matrix <-> Slack bridge -# Project source code URL: https://github.com/matrix-org/matrix-appservice-slack - -matrix_appservice_slack_enabled: true - -matrix_appservice_slack_scheme: https -matrix_appservice_slack_hostname: '' -matrix_appservice_slack_path_prefix: /appservice-slack - -matrix_appservice_slack_container_image_self_build: false -matrix_appservice_slack_docker_repo: "https://github.com/matrix-org/matrix-appservice-slack.git" -matrix_appservice_slack_docker_repo_version: "{{ 'master' if matrix_appservice_slack_version == 'latest' else matrix_appservice_slack_version }}" -matrix_appservice_slack_docker_src_files_path: "{{ matrix_base_data_path }}/appservice-slack/docker-src" - -# matrix_appservice_slack_version used to contain the full Docker image tag (e.g. `release-X.X.X`). -# It's a bare version number now. We try to somewhat retain compatibility below. -# renovate: datasource=docker depName=docker.io/matrixdotorg/matrix-appservice-slack -matrix_appservice_slack_version: 2.1.2 -matrix_appservice_slack_docker_image: "{{ matrix_appservice_slack_docker_image_registry_prefix }}matrixdotorg/matrix-appservice-slack:{{ matrix_appservice_slack_docker_image_tag }}" -matrix_appservice_slack_docker_image_registry_prefix: "{{ 'localhost/' if matrix_appservice_slack_container_image_self_build else matrix_appservice_slack_docker_image_registry_prefix_upstream }}" -matrix_appservice_slack_docker_image_registry_prefix_upstream: "{{ matrix_appservice_slack_docker_image_registry_prefix_upstream_default }}" -matrix_appservice_slack_docker_image_registry_prefix_upstream_default: "docker.io/" -matrix_appservice_slack_docker_image_tag: "{{ 'latest' if matrix_appservice_slack_version == 'latest' else ('release-' + matrix_appservice_slack_version) }}" -matrix_appservice_slack_docker_image_force_pull: "{{ matrix_appservice_slack_docker_image.endswith(':latest') }}" - -matrix_appservice_slack_base_path: "{{ matrix_base_data_path }}/appservice-slack" -matrix_appservice_slack_config_path: "{{ matrix_appservice_slack_base_path }}/config" -matrix_appservice_slack_data_path: "{{ matrix_appservice_slack_base_path }}/data" - -matrix_appservice_slack_public_endpoint: "{{ matrix_appservice_slack_path_prefix }}" -matrix_appservice_slack_inbound_uri_prefix: "{{ matrix_appservice_slack_scheme }}://{{ matrix_appservice_slack_hostname }}{{ matrix_appservice_slack_public_endpoint }}" - -# Once you make a control room in Matrix, you can get its ID by typing any message and checking its source -matrix_appservice_slack_control_room_id: '' -matrix_appservice_slack_bot_name: 'slackbot' -matrix_appservice_slack_user_prefix: 'slack_' - -# Controls the SLACK_PORT and MATRIX_PORT of the installation -matrix_appservice_slack_matrix_port: 9004 -matrix_appservice_slack_slack_port: 9003 - -# Controls whether the appservice-slack container exposes its HTTP port (tcp/9003 in the container). -# -# Takes an ":" or "" value (e.g. "127.0.0.1:9999"), or empty string to not expose. -matrix_appservice_slack_container_http_host_bind_port: '' - -matrix_appservice_slack_container_network: "" - -matrix_appservice_slack_container_additional_networks: "{{ matrix_appservice_slack_container_additional_networks_auto + matrix_appservice_slack_container_additional_networks_custom }}" -matrix_appservice_slack_container_additional_networks_auto: [] -matrix_appservice_slack_container_additional_networks_custom: [] - -# matrix_appservice_slack_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_appservice_slack_container_labels_additional_labels`. -matrix_appservice_slack_container_labels_traefik_enabled: true -matrix_appservice_slack_container_labels_traefik_docker_network: "{{ matrix_appservice_slack_container_network }}" -matrix_appservice_slack_container_labels_traefik_entrypoints: web-secure -matrix_appservice_slack_container_labels_traefik_tls_certResolver: default # noqa var-naming - -# Controls whether labels will be added that expose matrix-appservice-slack's public endpoints -matrix_appservice_slack_container_labels_public_endpoint_enabled: true -matrix_appservice_slack_container_labels_public_endpoint_hostname: "{{ matrix_appservice_slack_hostname }}" -matrix_appservice_slack_container_labels_public_endpoint_prefix: "{{ matrix_appservice_slack_path_prefix }}" -matrix_appservice_slack_container_labels_public_endpoint_traefik_rule: "Host(`{{ matrix_appservice_slack_container_labels_public_endpoint_hostname }}`) && PathPrefix(`{{ matrix_appservice_slack_path_prefix }}`)" -matrix_appservice_slack_container_labels_public_endpoint_traefik_priority: 0 -matrix_appservice_slack_container_labels_public_endpoint_traefik_entrypoints: "{{ matrix_appservice_slack_container_labels_traefik_entrypoints }}" -matrix_appservice_slack_container_labels_public_endpoint_traefik_tls: "{{ matrix_appservice_slack_container_labels_public_endpoint_traefik_entrypoints != 'web' }}" -matrix_appservice_slack_container_labels_public_endpoint_traefik_tls_certResolver: "{{ matrix_appservice_slack_container_labels_traefik_tls_certResolver }}" # noqa var-naming - -# matrix_appservice_slack_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_appservice_slack_container_labels_additional_labels: | -# my.label=1 -# another.label="here" -matrix_appservice_slack_container_labels_additional_labels: '' - -# A list of extra arguments to pass to the container -matrix_appservice_slack_container_extra_arguments: [] - -# List of systemd services that matrix-appservice-slack.service depends on. -matrix_appservice_slack_systemd_required_services_list: "{{ matrix_appservice_slack_systemd_required_services_list_default + matrix_appservice_slack_systemd_required_services_list_auto + matrix_appservice_slack_systemd_required_services_list_custom }}" -matrix_appservice_slack_systemd_required_services_list_default: "{{ [devture_systemd_docker_base_docker_service_name] if devture_systemd_docker_base_docker_service_name else [] }}" -matrix_appservice_slack_systemd_required_services_list_auto: [] -matrix_appservice_slack_systemd_required_services_list_custom: [] - -# List of systemd services that matrix-appservice-slack.service wants -matrix_appservice_slack_systemd_wanted_services_list: [] - -matrix_appservice_slack_homeserver_media_url: "{{ matrix_server_fqn_matrix }}" -matrix_appservice_slack_homeserver_url: "" -matrix_appservice_slack_homeserver_domain: "{{ matrix_domain }}" -matrix_appservice_slack_appservice_url: 'http://matrix-appservice-slack' - -matrix_appservice_slack_appservice_token: '' -matrix_appservice_slack_homeserver_token: '' -matrix_appservice_slack_id_token: '' - -matrix_appservice_slack_database_engine: nedb -matrix_appservice_slack_database_username: matrix_appservice_slack -matrix_appservice_slack_database_password: 'some-passsword' -matrix_appservice_slack_database_hostname: '' -matrix_appservice_slack_database_port: 5432 -matrix_appservice_slack_database_name: matrix_appservice_slack -matrix_appservice_slack_database_sslmode: disable - -matrix_appservice_slack_puppeting_enabled: false -matrix_appservice_slack_puppeting_slackapp_client_id: '' -matrix_appservice_slack_puppeting_slackapp_client_secret: '' -matrix_appservice_slack_puppeting_onboard_users: true - -matrix_appservice_slack_team_sync_enabled: false -matrix_appservice_slack_team_sync_alias_prefix: 'slack_' - -# The name of the container network to use when importing a NeDB database into Postgres. -# For Postgres not working in a container, this can be left empty. -matrix_appservice_slack_database_container_network: '' - -# This is just the Postgres connection string, if Postgres is used. -# Naming clashes with `matrix_appservice_slack_database_connectionString` somewhat. -matrix_appservice_slack_database_connection_string: 'postgresql://{{ matrix_appservice_slack_database_username }}:{{ matrix_appservice_slack_database_password }}@{{ matrix_appservice_slack_database_hostname }}:{{ matrix_appservice_slack_database_port }}/{{ matrix_appservice_slack_database_name }}?sslmode={{ matrix_appservice_slack_database_sslmode }}' - -# This is what actually goes into `database.connectionString` for the bridge. -matrix_appservice_slack_database_connectionString: |- # noqa var-naming - {{ - { - 'nedb': 'nedb:///data', - 'postgres': matrix_appservice_slack_database_connection_string, - }[matrix_appservice_slack_database_engine] - }} - - -matrix_appservice_slack_configuration_yaml: "{{ lookup('template', 'templates/config.yaml.j2') }}" - -matrix_appservice_slack_configuration_extension_yaml: | - #slack_hook_port: 9898 - #inbound_uri_prefix: "https://my.server.here:9898/" - #bot_username: "slackbot" - #username_prefix: "slack_" - # Optional - #slack_master_token: "abc-123-def" - # Optional - #matrix_admin_room: "!qporfwt:example.com" - #homeserver: - # url: http://localhost:{{ matrix_synapse_container_client_api_port }} - # server_name: my.server - # Optional - #tls: - # key_file: /path/to/tls.key - # crt_file: /path/to/tls.crt - #logging: - # console: "info" - # files: - # - "./debug.log": "info" - # - "./error.log": "error" - -matrix_appservice_slack_configuration_extension: "{{ matrix_appservice_slack_configuration_extension_yaml | from_yaml if matrix_appservice_slack_configuration_extension_yaml | from_yaml else {} }}" - -matrix_appservice_slack_configuration: "{{ matrix_appservice_slack_configuration_yaml | from_yaml | combine(matrix_appservice_slack_configuration_extension, recursive=True) }}" - -matrix_appservice_slack_registration_yaml: | - id: "{{ matrix_appservice_slack_id_token }}" - as_token: "{{ matrix_appservice_slack_appservice_token }}" - hs_token: "{{ matrix_appservice_slack_homeserver_token }}" - namespaces: - users: - - exclusive: true - regex: '@{{ matrix_appservice_slack_user_prefix }}.*' - aliases: - - exclusive: false - regex: '#{{ matrix_appservice_slack_user_prefix }}.*' - rooms: [] - url: "{{ matrix_appservice_slack_appservice_url }}:{{ matrix_appservice_slack_matrix_port }}" - sender_localpart: slackbot - rate_limited: true - protocols: null - -matrix_appservice_slack_registration: "{{ matrix_appservice_slack_registration_yaml | from_yaml }}" - -# matrix_appservice_slack_restart_necessary controls whether the service -# will be restarted (when true) or merely started (when false) by the -# systemd service manager role (when conditional restart is enabled). -# -# This value is automatically computed during installation based on whether -# any configuration files, the systemd service file, or the container image changed. -# The default of `false` means "no restart needed" — appropriate when the role's -# installation tasks haven't run (e.g., due to --tags skipping them). -matrix_appservice_slack_restart_necessary: false diff --git a/roles/custom/matrix-bridge-appservice-slack/tasks/main.yml b/roles/custom/matrix-bridge-appservice-slack/tasks/main.yml deleted file mode 100644 index c9251c190..000000000 --- a/roles/custom/matrix-bridge-appservice-slack/tasks/main.yml +++ /dev/null @@ -1,26 +0,0 @@ -# SPDX-FileCopyrightText: 2019 - 2024 Slavi Pantaleev -# SPDX-FileCopyrightText: 2019 MDAD project contributors -# SPDX-FileCopyrightText: 2022 Marko Weltzer -# -# SPDX-License-Identifier: AGPL-3.0-or-later - ---- - -- tags: - - setup-all - - setup-appservice-slack - - install-all - - install-appservice-slack - block: - - when: matrix_appservice_slack_enabled | bool - ansible.builtin.include_tasks: "{{ role_path }}/tasks/validate_config.yml" - - - when: matrix_appservice_slack_enabled | bool - ansible.builtin.include_tasks: "{{ role_path }}/tasks/setup_install.yml" - -- tags: - - setup-all - - setup-appservice-slack - block: - - when: not matrix_appservice_slack_enabled | bool - ansible.builtin.include_tasks: "{{ role_path }}/tasks/setup_uninstall.yml" diff --git a/roles/custom/matrix-bridge-appservice-slack/tasks/migrate_nedb_to_postgres.yml b/roles/custom/matrix-bridge-appservice-slack/tasks/migrate_nedb_to_postgres.yml deleted file mode 100644 index 3f3500da7..000000000 --- a/roles/custom/matrix-bridge-appservice-slack/tasks/migrate_nedb_to_postgres.yml +++ /dev/null @@ -1,80 +0,0 @@ -# SPDX-FileCopyrightText: 2020 - 2024 Slavi Pantaleev -# SPDX-FileCopyrightText: 2022 Marko Weltzer -# SPDX-FileCopyrightText: 2024 Suguru Hirahara -# -# SPDX-License-Identifier: AGPL-3.0-or-later - ---- - -- name: Fail if Postgres not enabled - ansible.builtin.fail: - msg: "Postgres via ansible-role-postgres role is not enabled (`postgres_enabled`). Cannot migrate." - when: "not postgres_enabled | bool" - -# Defaults - -- name: Set postgres_start_wait_time, if not provided - ansible.builtin.set_fact: - postgres_start_wait_time: 15 - when: "postgres_start_wait_time | default('') == ''" - -# Actual import work - -- name: Ensure Postgres is started - ansible.builtin.service: - name: "{{ postgres_identifier }}" - state: started - daemon_reload: true - register: postgres_service_start_result - -- name: Wait a bit, so that Postgres can start - ansible.builtin.wait_for: - timeout: "{{ postgres_start_wait_time }}" - delegate_to: 127.0.0.1 - become: false - when: "postgres_service_start_result.changed | bool" - -- name: Ensure matrix-appservice-slack is stopped - ansible.builtin.service: - name: matrix-appservice-slack - state: stopped - -- name: Import appservice-slack NeDB database into Postgres - ansible.builtin.command: - cmd: >- - {{ devture_systemd_docker_base_host_command_docker }} run - --rm - --user={{ matrix_user_uid }}:{{ matrix_user_gid }} - --cap-drop=ALL - {% if matrix_appservice_slack_database_container_network %} - --network={{ matrix_appservice_irc_database_container_network }} - {% endif %} - --mount type=bind,src={{ matrix_appservice_slack_data_path }},dst=/data - --entrypoint=/bin/sh - {{ matrix_appservice_slack_docker_image }} - -c - '/usr/local/bin/node /usr/src/app/lib/scripts/migrateToPostgres.js --dbdir /data --connectionString {{ matrix_appservice_slack_database_connection_string }}' - register: matrix_appservice_slack_import_nedb_to_postgres_result - changed_when: matrix_appservice_slack_import_nedb_to_postgres_result.rc == 0 - -- name: Archive NeDB database files - ansible.builtin.command: - cmd: "mv {{ matrix_appservice_slack_data_path }}/{{ item }} {{ matrix_appservice_slack_data_path }}/{{ item }}.backup" - register: matrix_appservice_slack_import_nedb_to_postgres_move_result - changed_when: matrix_appservice_slack_import_nedb_to_postgres_move_result.rc == 0 - with_items: - - teams.db - - room-store.db - - user-store.db - - event-store.db - -- name: Inject result - ansible.builtin.set_fact: - devture_playbook_runtime_messages_list: | - {{ - devture_playbook_runtime_messages_list | default([]) - + - [ - "Note: Your appservice-slack database files have been imported into Postgres. The original database files have been moved from `" + matrix_appservice_slack_data_path + "/*.db` to `" + matrix_appservice_slack_data_path + "/*.db.backup`. When you've confirmed that the import went well and everything works, you should be able to safely delete these files." - ] - }} diff --git a/roles/custom/matrix-bridge-appservice-slack/tasks/setup_install.yml b/roles/custom/matrix-bridge-appservice-slack/tasks/setup_install.yml deleted file mode 100644 index 704dc25b8..000000000 --- a/roles/custom/matrix-bridge-appservice-slack/tasks/setup_install.yml +++ /dev/null @@ -1,141 +0,0 @@ -# SPDX-FileCopyrightText: 2019 - 2022 MDAD project contributors -# SPDX-FileCopyrightText: 2019 - 2024 Slavi Pantaleev -# SPDX-FileCopyrightText: 2020 Chris van Dijk -# SPDX-FileCopyrightText: 2021 Panagiotis Georgiadis -# 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 AppService Slack paths exist - ansible.builtin.file: - path: "{{ item.path }}" - state: directory - mode: 0750 - owner: "{{ matrix_user_name }}" - group: "{{ matrix_group_name }}" - with_items: - - {path: "{{ matrix_appservice_slack_base_path }}", when: true} - - {path: "{{ matrix_appservice_slack_config_path }}", when: true} - - {path: "{{ matrix_appservice_slack_data_path }}", when: true} - - {path: "{{ matrix_appservice_slack_docker_src_files_path }}", when: "{{ matrix_appservice_slack_container_image_self_build }}"} - when: item.when | bool - -- ansible.builtin.set_fact: - matrix_appservice_slack_migration_requires_restart: false - -- when: "matrix_appservice_slack_database_engine == 'postgres'" - block: - - name: Check if a nedb database already exists - ansible.builtin.stat: - path: "{{ matrix_appservice_slack_data_path }}/teams.db" - register: matrix_appservice_slack_nedb_database_path_local_stat_result - - - when: "matrix_appservice_slack_nedb_database_path_local_stat_result.stat.exists | bool" - block: - - ansible.builtin.include_tasks: "{{ role_path }}/tasks/migrate_nedb_to_postgres.yml" - - - ansible.builtin.set_fact: - matrix_appservice_slack_migration_requires_restart: true - -- name: Ensure Appservice Slack image is pulled - community.docker.docker_image: - name: "{{ matrix_appservice_slack_docker_image }}" - source: "{{ 'pull' if ansible_version.major > 2 or ansible_version.minor > 7 else omit }}" - force_source: "{{ matrix_appservice_slack_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_appservice_slack_docker_image_force_pull }}" - when: "not matrix_appservice_slack_container_image_self_build | bool" - register: matrix_appservice_slack_container_image_pull_result - retries: "{{ devture_playbook_help_container_retries_count }}" - delay: "{{ devture_playbook_help_container_retries_delay }}" - until: matrix_appservice_slack_container_image_pull_result is not failed - -- name: Ensure matrix-appservice-slack repository is present when self-building - ansible.builtin.git: - repo: "{{ matrix_appservice_slack_docker_repo }}" - version: "{{ matrix_appservice_slack_docker_repo_version }}" - dest: "{{ matrix_appservice_slack_docker_src_files_path }}" - force: "yes" - become: true - become_user: "{{ matrix_user_name }}" - register: matrix_appservice_slack_git_pull_results - when: "matrix_appservice_slack_container_image_self_build | bool" - -- name: Ensure matrix-appservice-slack Docker image is built - community.docker.docker_image: - name: "{{ matrix_appservice_slack_docker_image }}" - source: build - force_source: "{{ matrix_appservice_slack_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_appservice_slack_git_pull_results.changed }}" - build: - dockerfile: Dockerfile - path: "{{ matrix_appservice_slack_docker_src_files_path }}" - pull: true - when: "matrix_appservice_slack_container_image_self_build | bool and matrix_appservice_slack_git_pull_results.changed" - -- name: Ensure Matrix Appservice Slack config installed - ansible.builtin.copy: - content: "{{ matrix_appservice_slack_configuration | to_nice_yaml(indent=2, width=999999) }}" - dest: "{{ matrix_appservice_slack_config_path }}/config.yaml" - mode: 0644 - owner: "{{ matrix_user_name }}" - group: "{{ matrix_group_name }}" - register: matrix_appservice_slack_config_result - -- name: Ensure appservice-slack registration.yaml installed - ansible.builtin.copy: - content: "{{ matrix_appservice_slack_registration | to_nice_yaml(indent=2, width=999999) }}" - dest: "{{ matrix_appservice_slack_config_path }}/slack-registration.yaml" - mode: 0644 - owner: "{{ matrix_user_name }}" - group: "{{ matrix_group_name }}" - register: matrix_appservice_slack_registration_result - -- name: Ensure matrix-appservice-slack container network is created - community.general.docker_network: - enable_ipv6: "{{ devture_systemd_docker_base_ipv6_enabled }}" - name: "{{ matrix_appservice_slack_container_network }}" - driver: bridge - driver_options: "{{ devture_systemd_docker_base_container_networks_driver_options }}" - -- name: Ensure matrix-appservice-slack support files installed - ansible.builtin.template: - src: "{{ role_path }}/templates/{{ item }}.j2" - dest: "{{ matrix_appservice_slack_base_path }}/{{ item }}" - mode: 0640 - owner: "{{ matrix_user_name }}" - group: "{{ matrix_group_name }}" - with_items: - - labels - register: matrix_appservice_slack_support_files_result - -- name: Ensure matrix-appservice-slack.service installed - ansible.builtin.template: - src: "{{ role_path }}/templates/systemd/matrix-appservice-slack.service.j2" - dest: "{{ devture_systemd_docker_base_systemd_path }}/matrix-appservice-slack.service" - mode: 0644 - register: matrix_appservice_slack_systemd_service_result - -- name: Determine whether matrix-appservice-slack needs a restart - ansible.builtin.set_fact: - matrix_appservice_slack_restart_necessary: >- - {{ - matrix_appservice_slack_migration_requires_restart | default(false) - or matrix_appservice_slack_config_result.changed | default(false) - or matrix_appservice_slack_registration_result.changed | default(false) - or matrix_appservice_slack_support_files_result.changed | default(false) - or matrix_appservice_slack_systemd_service_result.changed | default(false) - or matrix_appservice_slack_container_image_pull_result.changed | default(false) - }} - -- name: Ensure matrix-appservice-slack.service restarted, if necessary - ansible.builtin.service: - name: "matrix-appservice-slack.service" - state: restarted - daemon_reload: true - when: "matrix_appservice_slack_migration_requires_restart | bool" diff --git a/roles/custom/matrix-bridge-appservice-slack/tasks/setup_uninstall.yml b/roles/custom/matrix-bridge-appservice-slack/tasks/setup_uninstall.yml deleted file mode 100644 index e37cfb046..000000000 --- a/roles/custom/matrix-bridge-appservice-slack/tasks/setup_uninstall.yml +++ /dev/null @@ -1,26 +0,0 @@ -# SPDX-FileCopyrightText: 2019 - 2020 MDAD project contributors -# SPDX-FileCopyrightText: 2021 - 2022 Slavi Pantaleev -# SPDX-FileCopyrightText: 2022 Marko Weltzer -# -# SPDX-License-Identifier: AGPL-3.0-or-later - ---- - -- name: Check existence of matrix-appservice-slack service - ansible.builtin.stat: - path: "{{ devture_systemd_docker_base_systemd_path }}/matrix-appservice-slack.service" - register: matrix_appservice_slack_service_stat - -- when: matrix_appservice_slack_service_stat.stat.exists | bool - block: - - name: Ensure matrix-appservice-slack is stopped - ansible.builtin.service: - name: matrix-appservice-slack - state: stopped - enabled: false - daemon_reload: true - - - name: Ensure matrix-appservice-slack.service doesn't exist - ansible.builtin.file: - path: "{{ devture_systemd_docker_base_systemd_path }}/matrix-appservice-slack.service" - state: absent diff --git a/roles/custom/matrix-bridge-appservice-slack/tasks/validate_config.yml b/roles/custom/matrix-bridge-appservice-slack/tasks/validate_config.yml deleted file mode 100644 index ceb4e4a75..000000000 --- a/roles/custom/matrix-bridge-appservice-slack/tasks/validate_config.yml +++ /dev/null @@ -1,33 +0,0 @@ -# SPDX-FileCopyrightText: 2019 - 2022 MDAD project contributors -# SPDX-FileCopyrightText: 2019 - 2024 Slavi Pantaleev -# SPDX-FileCopyrightText: 2021 boris runakov -# SPDX-FileCopyrightText: 2025 Suguru Hirahara -# -# SPDX-License-Identifier: AGPL-3.0-or-later - ---- - -- name: Fail if required appservice-slack 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_appservice_slack_control_room_id', when: true} - - {'name': 'matrix_appservice_slack_appservice_token', when: true} - - {'name': 'matrix_appservice_slack_homeserver_url', when: true} - - {'name': 'matrix_appservice_slack_homeserver_token', when: true} - - {'name': 'matrix_appservice_slack_id_token', when: true} - - {'name': 'matrix_appservice_slack_database_hostname', when: "{{ matrix_appservice_slack_database_engine == 'postgres' }}"} - - {'name': 'matrix_appservice_slack_container_network', when: true} - - {'name': 'matrix_appservice_slack_hostname', when: true} - - {'name': 'matrix_appservice_slack_path_prefix', when: true} - -- name: (Deprecation) Catch and report renamed 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_appservice_slack_container_self_build', 'new': 'matrix_appservice_slack_container_image_self_build'} diff --git a/roles/custom/matrix-bridge-appservice-slack/templates/config.yaml.j2 b/roles/custom/matrix-bridge-appservice-slack/templates/config.yaml.j2 deleted file mode 100644 index 10a53fa5f..000000000 --- a/roles/custom/matrix-bridge-appservice-slack/templates/config.yaml.j2 +++ /dev/null @@ -1,55 +0,0 @@ -#jinja2: lstrip_blocks: True -slack_hook_port: {{ matrix_appservice_slack_slack_port }} -inbound_uri_prefix: "{{ matrix_appservice_slack_inbound_uri_prefix }}" -bot_username: "{{ matrix_appservice_slack_bot_name }}" -username_prefix: {{ matrix_appservice_slack_user_prefix }} - -homeserver: - server_name: "{{ matrix_domain }}" - url: "{{ matrix_appservice_slack_homeserver_url }}" - media_url: "{{ matrix_appservice_slack_homeserver_media_url }}" - -# Real Time Messaging API (RTM) -# Optional if slack_hook_port and inbound_uri_prefix are defined, required otherwise. -# -rtm: - # Use the RTM API to listen for requests, which does not require - # the bridge to listen on the hook port. - # You should leave this enabled, unless you plan to use the - # bridge exclusively for webhooks. - # - enable: true - - # Logging level specific to RTM traffic. - # - log_level: "silent" - -{% if matrix_appservice_slack_puppeting_enabled %} -puppeting: - enabled: true - onboard_users: {{ matrix_appservice_slack_puppeting_onboard_users | to_json }} - -oauth2: - client_id: {{ matrix_appservice_slack_puppeting_slackapp_client_id | to_json }} - client_secret: {{ matrix_appservice_slack_puppeting_slackapp_client_secret | to_json }} -{% endif %} - -{% if matrix_appservice_slack_team_sync_enabled %} -team_sync: - all: - channels: - enabled: true - alias_prefix: {{ matrix_appservice_slack_team_sync_alias_prefix | to_json }} - users: - enabled: true -{% endif %} - -{% if matrix_appservice_slack_database_engine == 'nedb' %} -dbdir: "/data" -{% else %} -db: - engine: {{ matrix_appservice_slack_database_engine|to_json }} - connectionString: {{ matrix_appservice_slack_database_connectionString|to_json }} -{% endif %} - -matrix_admin_room: "{{ matrix_appservice_slack_control_room_id }}" diff --git a/roles/custom/matrix-bridge-appservice-slack/templates/config.yaml.j2.license b/roles/custom/matrix-bridge-appservice-slack/templates/config.yaml.j2.license deleted file mode 100644 index 52f246738..000000000 --- a/roles/custom/matrix-bridge-appservice-slack/templates/config.yaml.j2.license +++ /dev/null @@ -1,6 +0,0 @@ -SPDX-FileCopyrightText: 2020 - 2022 MDAD project contributors -SPDX-FileCopyrightText: 2020 - 2024 Slavi Pantaleev -SPDX-FileCopyrightText: 2022 Didier 'OdyX' Raboud -SPDX-FileCopyrightText: 2024 Fabio Bonelli - -SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-bridge-appservice-slack/templates/labels.j2 b/roles/custom/matrix-bridge-appservice-slack/templates/labels.j2 deleted file mode 100644 index 212902fde..000000000 --- a/roles/custom/matrix-bridge-appservice-slack/templates/labels.j2 +++ /dev/null @@ -1,47 +0,0 @@ -{# -SPDX-FileCopyrightText: 2024 Slavi Pantaleev - -SPDX-License-Identifier: AGPL-3.0-or-later -#} - -{% if matrix_appservice_slack_container_labels_traefik_enabled %} -traefik.enable=true - -{% if matrix_appservice_slack_container_labels_traefik_docker_network %} -traefik.docker.network={{ matrix_appservice_slack_container_labels_traefik_docker_network }} -{% endif %} - -traefik.http.services.matrix-appservice-slack.loadbalancer.server.port={{ matrix_appservice_slack_slack_port }} - -{% if matrix_appservice_slack_container_labels_public_endpoint_enabled %} -############################################################ -# # -# Public # -# # -############################################################ - -traefik.http.routers.matrix-appservice-slack-public.rule={{ matrix_appservice_slack_container_labels_public_endpoint_traefik_rule }} - -{% if matrix_appservice_slack_container_labels_public_endpoint_traefik_priority | int > 0 %} -traefik.http.routers.matrix-appservice-slack-public.priority={{ matrix_appservice_slack_container_labels_public_endpoint_traefik_priority }} -{% endif %} - -traefik.http.routers.matrix-appservice-slack-public.service=matrix-appservice-slack -traefik.http.routers.matrix-appservice-slack-public.entrypoints={{ matrix_appservice_slack_container_labels_public_endpoint_traefik_entrypoints }} - -traefik.http.routers.matrix-appservice-slack-public.tls={{ matrix_appservice_slack_container_labels_public_endpoint_traefik_tls | to_json }} -{% if matrix_appservice_slack_container_labels_public_endpoint_traefik_tls %} -traefik.http.routers.matrix-appservice-slack-public.tls.certResolver={{ matrix_appservice_slack_container_labels_public_endpoint_traefik_tls_certResolver }} -{% endif %} - -############################################################ -# # -# /Public # -# # -############################################################ -{% endif %} - - -{% endif %} - -{{ matrix_appservice_slack_container_labels_additional_labels }} diff --git a/roles/custom/matrix-bridge-appservice-slack/templates/systemd/matrix-appservice-slack.service.j2 b/roles/custom/matrix-bridge-appservice-slack/templates/systemd/matrix-appservice-slack.service.j2 deleted file mode 100644 index 7c50d692c..000000000 --- a/roles/custom/matrix-bridge-appservice-slack/templates/systemd/matrix-appservice-slack.service.j2 +++ /dev/null @@ -1,51 +0,0 @@ -#jinja2: lstrip_blocks: True -[Unit] -Description=Matrix Appservice Slack bridge -{% for service in matrix_appservice_slack_systemd_required_services_list %} -Requires={{ service }} -After={{ service }} -{% endfor %} -{% for service in matrix_appservice_slack_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-appservice-slack 2>/dev/null || true' -ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-appservice-slack 2>/dev/null || true' - -ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \ - --rm \ - --name=matrix-appservice-slack \ - --log-driver=none \ - --user={{ matrix_user_uid }}:{{ matrix_user_gid }} \ - --cap-drop=ALL \ - --network={{ matrix_appservice_slack_container_network }} \ - {% if matrix_appservice_slack_container_http_host_bind_port %} - -p {{ matrix_appservice_slack_container_http_host_bind_port }}:{{matrix_appservice_slack_slack_port}} \ - {% endif %} - --mount type=bind,src={{ matrix_appservice_slack_config_path }},dst=/config \ - --mount type=bind,src={{ matrix_appservice_slack_data_path }},dst=/data \ - --label-file={{ matrix_appservice_slack_base_path }}/labels \ - {% for arg in matrix_appservice_slack_container_extra_arguments %} - {{ arg }} \ - {% endfor %} - {{ matrix_appservice_slack_docker_image }} \ - node app.js -p {{matrix_appservice_slack_matrix_port}} -c /config/config.yaml -f /config/slack-registration.yaml - -{% for network in matrix_appservice_slack_container_additional_networks %} -ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} network connect {{ network }} matrix-appservice-slack -{% endfor %} - -ExecStart={{ devture_systemd_docker_base_host_command_docker }} start --attach matrix-appservice-slack - -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-appservice-slack 2>/dev/null || true' -ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-appservice-slack 2>/dev/null || true' -Restart=always -RestartSec=30 -SyslogIdentifier=matrix-appservice-slack - -[Install] -WantedBy=multi-user.target diff --git a/roles/custom/matrix-bridge-appservice-slack/templates/systemd/matrix-appservice-slack.service.j2.license b/roles/custom/matrix-bridge-appservice-slack/templates/systemd/matrix-appservice-slack.service.j2.license deleted file mode 100644 index c395d00d7..000000000 --- a/roles/custom/matrix-bridge-appservice-slack/templates/systemd/matrix-appservice-slack.service.j2.license +++ /dev/null @@ -1,6 +0,0 @@ -SPDX-FileCopyrightText: 2019 MDAD project contributors -SPDX-FileCopyrightText: 2020 - 2025 Slavi Pantaleev -SPDX-FileCopyrightText: 2020 Chris van Dijk -SPDX-FileCopyrightText: 2020 Scott Crossen - -SPDX-License-Identifier: AGPL-3.0-or-later