Commit Graph

87 Commits

Author SHA1 Message Date
Slavi Pantaleev d2f1fa74cc Document homeserver requirements for hookshot's end-to-bridge encryption
Enabling matrix_hookshot_encryption_enabled configures the bridge side
correctly (registration flags, Valkey cache), but hookshot's encryption
also needs the homeserver to support and enable MSC2409 and MSC3202,
which are typically experimental features disabled by default. Nothing
documented that, so the resulting setup silently did not work.

Reference the MSCs in the variable's comment, and show the exact Synapse
settings in the hookshot documentation page. The playbook deliberately
does not auto-enable them: they are experimental homeserver-wide
features, and flipping them from a bridge toggle would be surprising.

Fixes #3861

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-15 06:01:27 +03:00
Slavi Pantaleev 509222719b matrix-bridge-hookshot: switch to modern community.docker docker_image modules
Replaces `community.docker.docker_image` with the modern
`docker_image_pull` and `docker_image_build` split modules. Drops the
`ansible_version` compatibility ladder and the now-redundant
`_container_image_force_pull` variable (the new pull module handles
registry refresh natively via `pull: always`). Also registers
`_container_image_build_result` so that a self-build rebuild correctly
triggers a service restart.

Related to https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/5191.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-04 21:43:54 +03:00
Slavi Pantaleev f0e0f5ec56 Rename _docker_ vars to _container_ across 34 roles
Roles affected: appservice-discord, appservice-irc, beeper-linkedin,
heisenbridge, hookshot, mautrix-bluesky, mautrix-discord,
mautrix-gmessages, mautrix-googlechat, mautrix-signal, mautrix-slack,
mautrix-twitter, mautrix-whatsapp, mautrix-wsproxy, mx-puppet-groupme,
mx-puppet-steam, postmoogle, sms, steam, cactus-comments, element,
fluffychat, schildichat, conduit, corporal, dendrite,
ldap-registration-proxy, media-repo, pantalaimon,
prometheus-nginxlog-exporter, registration, sygnal, synapse-admin,
user-verification-service.

For each role: renamed _docker_image* variables to _container_image*
(and _docker_src_files_path to _container_src_files_path where
applicable), added deprecation entries in validate_config.yml, and
updated group_vars/docs references.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-18 08:21:13 +02:00
Slavi Pantaleev 16010ff8c7 Add conditional restart support to client, bot, and bridge roles
For each of the 34 roles (3 clients, 9 bots, 22 bridges), this commit:
- Adds `_restart_necessary: false` default variable
- Adds `register:` directives to config/image/systemd tasks
- Computes `_restart_necessary` via set_fact (OR of all .changed results)
- Wires `(_restart_necessary | bool)` in group_vars/matrix_servers

This allows the systemd service manager to skip unnecessary restarts
when running install-* tags and nothing actually changed.

Service roles and complex multi-service roles will follow separately.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-13 15:33:54 +02:00
renovate[bot] 3f0ff4c510 chore(deps): update halfshot/matrix-hookshot docker tag to v7.3.2 2026-01-30 21:15:05 +02:00
renovate[bot] 692c34ad9b chore(deps): update halfshot/matrix-hookshot docker tag to v7.3.1 2026-01-24 20:07:34 +02:00
Slavi Pantaleev 911031e2cf Add support for Hookshot static connections (new in v7.3.0)
This adds the matrix_hookshot_connections variable for configuring
static webhook connections via the config file.

See: https://github.com/matrix-org/matrix-hookshot/pull/1102
2026-01-20 16:10:30 +02:00
renovate[bot] e01a79865c chore(deps): update halfshot/matrix-hookshot docker tag to v7.3.0 2026-01-20 15:38:23 +02:00
Mark Monteiro be7536390d improve notes about configuring hookshot encryption
- clarify that Redis is configured automatically
- add note indicating that encryption is not currently supported when using MAS
2025-12-31 08:50:36 +02:00
renovate[bot] 9791f8a120 chore(deps): update halfshot/matrix-hookshot docker tag to v7.2.0 2025-10-10 16:36:24 +00:00
Slavi Pantaleev fccd7442d6 Add a few more generic. webhook settings for Hookshot
Ref: https://github.com/matrix-org/matrix-hookshot/pull/1004
2025-08-16 06:14:35 +03:00
renovate[bot] 5711a8bda3 Update halfshot/matrix-hookshot Docker tag to v7.1.0 2025-08-16 06:12:02 +03:00
Aine 5def3b176f make hookshot honor the matrix_bridges_encryption_enabled var
Lock Threads / action (push) Has been cancelled
Matrix CI / yamllint (push) Has been cancelled
Matrix CI / ansible-lint (push) Has been cancelled
Matrix CI / Run pre-commit (push) Has been cancelled
Close stale issues and PRs / stale (push) Has been cancelled
2025-06-07 13:22:27 +03:00
Slavi Pantaleev 978d24aa32 Upgrade Hookshot (6.0.3 -> 7.0.0) and remove provisioning API and integration with Dimension
Matrix CI / ansible-lint (push) Waiting to run
Matrix CI / yamllint (push) Waiting to run
REUSE Compliance Check / reuse-compliance-check (push) Waiting to run
Ref:

- https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/4326
- https://github.com/matrix-org/matrix-hookshot/releases/tag/7.0.0
- https://github.com/matrix-org/matrix-hookshot/pull/931

Closes https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/4326
2025-05-16 22:46:12 +03:00
Suguru Hirahara 974971719f Add license information to files for matrix-bridge-hookshot
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-28 18:41:23 +09:00
renovate[bot] eba494eb86 Update halfshot/matrix-hookshot Docker tag to v6.0.3 2025-02-25 14:35:25 +00:00
Slavi Pantaleev c47eca389b Rework all roles to include component_(docker|container)_image_registry_prefix* variables
This:

- brings consistency - no more mixing `_name_prefix` and `_registry_prefix`
- adds extensibility - a future patch will allow reconfiguring all registry prefixes for all roles in the playbook

We still have `_docker_` vs `_container_` inconsistencies.
These may be worked on later.
2025-02-24 11:38:47 +02:00
Suguru Hirahara 298bc21d54 Update roles/custom/matrix-bridge-hookshot/defaults/main.yml: fix capitalization
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-07 17:59:33 +09:00
Suguru Hirahara acf2b90346 Update files for matrix-bridge-hookshot: change the file path of config.yml.j2 in order to improve consistency
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-25 18:13:59 +09:00
Suguru Hirahara e8213768a5 Update files for matrix-bridge-hookshot: sort logging levels
Based on docs/configuring-playbook-alertmanager-receiver.md

We can re-sort the levels it if is found out that debug should be placed at the first.

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-25 18:13:31 +09:00
renovate[bot] 4b155c276b Update halfshot/matrix-hookshot Docker tag to v6.0.2 2025-01-23 10:11:01 +00:00
Slavi Pantaleev 75bb7732f6 Merge pull request #3857 from luixxiul/fix
Housekeeping: preparation for l10n with Weblate
2024-12-06 18:51:17 +02:00
Suguru Hirahara c1c1b3ada0 Replace triple dots with horizontal ellipsis (U+2026)
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2024-12-06 13:34:50 +09:00
janonym1 d1fa7378f7 hookshot: Allow the localpart of the hookshot-bot to be defined (#3853)
* set localpart of hookshot bot in main.yml

* set sender_localpart in registration.yml.j2 template to variable

* prettier location for bot localpart in main.yml

* Update main.yml

* Update registration.yml.j2

---------

Co-authored-by: Slavi Pantaleev <slavi@devture.com>
2024-12-06 05:21:34 +02:00
Slavi Pantaleev 119e78bc11 Upgrade Hookshot (5.4.1 -> 6.0.1) 2024-11-29 17:51:11 +02:00
Aine a541f51944 enable hookshot outbound webhooks 2024-09-25 15:25:31 +03:00
Samuel S 7d5e430ee9 Autocreate webhook in Gitlab instance with Hookshot bot (#3405)
* Add public url for gitlab hookshot to autocreate webhook on gitlab instance

* Add `noqa var-naming` comment to variable

---------

Co-authored-by: Slavi Pantaleev <slavi@devture.com>
2024-07-08 18:12:03 +03:00
Slavi Pantaleev 4704a60718 Use a /webhook path for generic webhooks
By appending `/webhook` to the public URL (becoming `/hookshot/webhooks/webhook`)
and by only stripping the `/hookshot/webhooks` prefix,
we're effectively following what newer Hookshot versions advise
(see https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/1681).

This change appears to be backward-compatible (old webhook URLs like `/hookshot/webhooks/:hookId` still work),
until Hookshot behavior changes.
2024-06-25 11:16:30 +03:00
Slavi Pantaleev aafea6d259 Fix typo in comment for matrix_hookshot_container_labels_appservice_enabled 2024-06-25 11:01:09 +03:00
Slavi Pantaleev ea22acc899 Fix Hookshot URL path generation regression
Regression since 7891268873,
where I removed the `matrix_hookshot_urlprefix` prefix group
`group_vars/matrix_servers`, thinking the value in `roles/custom/matrix-bridge-hookshot/defaults/main.yml`
was the same.

The value in `defaults/main.yml` incorrectly included `matrix_hookshot_public_endpoint`
in `matrix_hookshot_urlprefix`, which was leading to double-`/hookshot`-prefixing.

We were previously saved by the `matrix_hookshot_urlprefix` override in `group_vars/matrix_servers`.

This fix brings the correct URL prefix value (the one without `matrix_hookshot_public_endpoint`)
to `defaults/main.yml`.
2024-06-25 10:55:08 +03:00
renovate[bot] 9c9b2a8d38 chore(deps): update halfshot/matrix-hookshot docker tag to v5.4.1 2024-06-21 19:14:12 +00:00
renovate[bot] d00410966f chore(deps): update halfshot/matrix-hookshot docker tag to v5.4.0 2024-06-20 17:16:11 +00:00
Slavi Pantaleev 9f2eff2ac7 Respect devture_systemd_docker_base_docker_service_name
Related to https://github.com/devture/com.devture.ansible.role.systemd_docker_base/commit/0241c71a4c08ff5e203b55d50a424387e3b077c8

Related to https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/3270#issuecomment-2143782962

With this change, it should be possible for people to adjust the Docker
dependency from `docker.service` to something else (e.g. `pkg-ContainerManager-dockerd.service`),
or to completely eliminate it by setting `devture_systemd_docker_base_docker_service_name` to an empty string.

This makes it easier for people to use the playbook against a Synology DSM server.
2024-06-04 13:14:34 +03:00
Slavi Pantaleev 7891268873 Do not hardcode https:// in all remaining places, refer to matrix_static_files_scheme
Fixes https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/3333
2024-05-25 16:14:26 +03:00
Kris Watson b46085286e Remove duplicate https from hookshot redirect_uri
matrix_hookshot_github_oauth_redirect_uri was adding an extra https in
front of matrix_hookshot_urlprefix, which already included that.
2024-05-08 10:33:30 -07:00
Aine 11b76bd0c2 fix redis port type
The conditional check 'matrix_hookshot_experimental_encryption_enabled and matrix_hookshot_cache_redisUri == ''' failed. The error was: An unhandled exception occurred while templating '{{ ('redis://' + matrix_hookshot_cache_redis_host + ':' + matrix_hookshot_cache_redis_port) if matrix_hookshot_cache_redis_host else '' }}'. Error was a <class 'ansible.errors.AnsibleError'>, original message: Unexpected templating type error occurred on ({{ ('redis://' + matrix_hookshot_cache_redis_host + ':' + matrix_hookshot_cache_redis_port) if matrix_hookshot_cache_redis_host else '' }}): can only concatenate str (not \"int\") to str. can only concatenate str (not \"int\") to str
2024-04-25 22:49:01 +03:00
DevMiner 759d0fa7ed fix(hookshot): incorrect Redis port
The default Redis port is 6379, not 6739.
2024-04-19 13:41:27 +02:00
Slavi Pantaleev 1774ed6e7d Make ansible-lint happy 2024-04-17 15:43:44 +03:00
Slavi Pantaleev 7d9eb0893e Switch Hookshot from queue.xxx to cache.redisUri
Related to:

- https://github.com/matrix-org/matrix-hookshot/pull/902
- https://github.com/matrix-org/matrix-hookshot/releases/tag/5.3.0
- https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/3281
2024-04-17 15:36:49 +03:00
renovate[bot] 174dce2707 chore(deps): update halfshot/matrix-hookshot docker tag to v5.3.0 2024-04-17 11:50:51 +00:00
renovate[bot] c375d888e2 chore(deps): update halfshot/matrix-hookshot docker tag to v5.2.1 2024-02-21 18:24:09 +00:00
Slavi Pantaleev 90332f8c3d Fix problematic Hookshot redirect for /hookshot/widgetapi/v1/static
Hookshot wants a trailing slash for this route.

If we let Hookshot redirect, it goes to `/widgetapi/v1/static/`,
instead of `/hookshot/widgetapi/v1/static/`, so we take this matter into our
own hands.
2024-01-19 17:08:14 +02:00
Slavi Pantaleev f953dd2cd6 Only strip /hookshot prefix for Hookshot widgetapi
Public URLs are like: `/hookshot/widgetapi/v1/static/`
.. which get translated to requests for: `/widgetapi/v1/static/`

Previously, we were stripping the whole `/hookshot/widgetapi` prefix,
which is wrong.
2024-01-19 17:02:16 +02:00
Slavi Pantaleev aeb1bde4ab Remove matrix-nginx-proxy reference from matrix-bridge-hookshot 2024-01-14 12:06:05 +02:00
Slavi Pantaleev 23845c1d24 Remove matrix_docker_network references from matrix-bridge-hookshot 2024-01-13 17:18:22 +02:00
Slavi Pantaleev 4c7ee34194 Rename variable for consistency (matrix_hookshot_ident -> matrix_hookshot_identifier) 2024-01-09 09:56:21 +02:00
Slavi Pantaleev 7ec6fd3dfe Make bridges/bots use matrix_addons_homeserver_client_api_url (instead of matrix_homeserver_container_url) 2024-01-07 17:04:23 +02:00
Slavi Pantaleev ab15991814 Fix some ansible-lint-reported errors 2024-01-04 13:00:46 +02:00
Slavi Pantaleev 46cbc2ead0 Merge branch 'master' into bye-bye-nginx-proxy 2024-01-03 13:09:55 +02:00
renovate[bot] b2b6edc8a1 chore(deps): update halfshot/matrix-hookshot docker tag to v5.1.2 2024-01-02 19:23:48 +00:00