Matrix Docker Ansible eploy
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

393 lines
22 KiB

  1. # SPDX-FileCopyrightText: 2022 - 2024 MDAD project contributors
  2. # SPDX-FileCopyrightText: 2022 - 2024 Nikita Chernyi
  3. # SPDX-FileCopyrightText: 2022 - 2025 Slavi Pantaleev
  4. # SPDX-FileCopyrightText: 2022 Arthur Brugière
  5. # SPDX-FileCopyrightText: 2022 Kim Brose
  6. # SPDX-FileCopyrightText: 2022 Marko Weltzer
  7. # SPDX-FileCopyrightText: 2023 Samuel Meenzen
  8. # SPDX-FileCopyrightText: 2024 Kris Watson
  9. # SPDX-FileCopyrightText: 2025 Suguru Hirahara
  10. #
  11. # SPDX-License-Identifier: AGPL-3.0-or-later
  12. ---
  13. # A bridge between Matrix and multiple project management services, such as GitHub, GitLab and JIRA.
  14. # Project source code URL: https://github.com/matrix-org/matrix-hookshot
  15. matrix_hookshot_enabled: true
  16. matrix_hookshot_identifier: matrix-hookshot
  17. matrix_hookshot_container_image_self_build: false
  18. matrix_hookshot_container_image_self_build_repo: "https://github.com/matrix-org/matrix-hookshot.git"
  19. matrix_hookshot_container_image_self_build_branch: "{{ 'main' if matrix_hookshot_version == 'latest' else matrix_hookshot_version }}"
  20. # Specifies additional networks for the Hookshot container to connect with
  21. matrix_hookshot_container_additional_networks: "{{ matrix_hookshot_container_additional_networks_auto + matrix_hookshot_container_additional_networks_custom }}"
  22. matrix_hookshot_container_additional_networks_auto: []
  23. matrix_hookshot_container_additional_networks_custom: []
  24. # renovate: datasource=docker depName=halfshot/matrix-hookshot
  25. matrix_hookshot_version: 7.3.2
  26. matrix_hookshot_container_image: "{{ matrix_hookshot_container_image_registry_prefix }}matrix-org/matrix-hookshot:{{ matrix_hookshot_version }}"
  27. matrix_hookshot_container_image_registry_prefix: "{{ 'localhost/' if matrix_hookshot_container_image_self_build else matrix_hookshot_container_image_registry_prefix_upstream }}"
  28. matrix_hookshot_container_image_registry_prefix_upstream: "{{ matrix_hookshot_container_image_registry_prefix_upstream_default }}"
  29. matrix_hookshot_container_image_registry_prefix_upstream_default: "ghcr.io/"
  30. matrix_hookshot_container_image_force_pull: "{{ matrix_hookshot_container_image.endswith(':latest') }}"
  31. matrix_hookshot_base_path: "{{ matrix_base_data_path }}/hookshot"
  32. matrix_hookshot_container_src_files_path: "{{ matrix_hookshot_base_path }}/docker-src"
  33. matrix_hookshot_homeserver_address: ""
  34. matrix_hookshot_container_url: 'matrix-hookshot'
  35. # Sets the localpart of the Matrix ID for the hookshot bot
  36. matrix_hookshot_bot_localpart: "hookshot"
  37. matrix_hookshot_public_scheme: https
  38. matrix_hookshot_public_hostname: "{{ matrix_server_fqn_matrix }}"
  39. matrix_hookshot_public_endpoint: /hookshot
  40. # This is the base URL prefix shared among all endpoints.
  41. #
  42. # It intentionally does not include the path prefix (`matrix_hookshot_public_endpoint`),
  43. # because of how it's used - it's concatenated with paths that already use matrix_hookshot_public_endpoint` within them.
  44. matrix_hookshot_urlprefix: "{{ matrix_hookshot_public_scheme }}://{{ matrix_hookshot_public_hostname }}"
  45. # There is no need to edit ports. use matrix_hookshot_container_http_host_bind_ports below to expose ports instead.
  46. matrix_hookshot_appservice_port: 9993
  47. matrix_hookshot_appservice_hostname: "{{ matrix_hookshot_public_hostname }}"
  48. matrix_hookshot_appservice_endpoint: "{{ matrix_hookshot_public_endpoint }}/_matrix/app"
  49. # The variables below control the Redis cache parameters.
  50. # Using caching is required when encryption is enabled (`matrix_hookshot_encryption_enabled`)
  51. # but may also speed up Hookshot startup, etc.
  52. matrix_hookshot_cache_redis_host: ''
  53. matrix_hookshot_cache_redis_port: "6379"
  54. matrix_hookshot_cache_redisUri: "{{ ('redis://' + matrix_hookshot_cache_redis_host + ':' + matrix_hookshot_cache_redis_port) if matrix_hookshot_cache_redis_host else '' }}" # noqa var-naming
  55. # Controls whether the end-to-bridge encryption support is enabled.
  56. # This requires that:
  57. # - support to also be enabled in the homeserver, see the documentation of Hookshot.
  58. # - Hookshot to be pointed at a Redis instance via the `matrix_hookshot_cache_redis*` variables. Note that this is configured automatically by the playbook when encryption is enabled.
  59. # See: https://matrix-org.github.io/matrix-hookshot/latest/advanced/encryption.html
  60. # NOTE: Encryption is not currently (2025-12-30) supported when using MAS (https://github.com/matrix-org/matrix-hookshot/issues/1084)
  61. matrix_hookshot_encryption_enabled: "{{ matrix_bridges_encryption_enabled }}"
  62. # Controls whether metrics are enabled in the bridge configuration.
  63. # Enabling them is usually enough for a local (in-container) Prometheus to consume them.
  64. # If metrics need to be consumed by another (external) Prometheus server, consider exposing them via `matrix_hookshot_metrics_proxying_enabled`.
  65. matrix_hookshot_metrics_enabled: false
  66. # Controls whether Hookshot metrics should be proxied (exposed) on a public URL.
  67. matrix_hookshot_metrics_proxying_enabled: false
  68. matrix_hookshot_metrics_proxying_hostname: ''
  69. matrix_hookshot_metrics_proxying_path_prefix: ''
  70. # There is no need to edit ports.
  71. # Read the documentation to learn about using Hookshot metrics with external Prometheus
  72. # If you still want something different, use matrix_hookshot_container_http_host_bind_ports below to expose ports instead.
  73. matrix_hookshot_metrics_port: 9001
  74. # There is no need to edit ports. use matrix_hookshot_container_http_host_bind_ports below to expose ports instead.
  75. matrix_hookshot_webhook_port: 9000
  76. matrix_hookshot_webhook_hostname: "{{ matrix_hookshot_public_hostname }}"
  77. matrix_hookshot_webhook_endpoint: "{{ matrix_hookshot_public_endpoint }}/webhooks"
  78. # You need to create a GitHub app to enable this and fill in the empty variables below
  79. # https://matrix-org.github.io/matrix-hookshot/setup/github.html
  80. matrix_hookshot_github_enabled: false
  81. matrix_hookshot_github_auth_id: ''
  82. # Set this variable to the contents of the generated and downloaded GitHub private key:
  83. # matrix_hookshot_github_private_key: |
  84. # -----BEGIN RSA PRIVATE KEY-----
  85. # 0123456789ABCDEF…
  86. # -----END RSA PRIVATE KEY-----
  87. # Alternatively, leave it empty and do it manually or use matrix-aux instead, see docs/matrix-bridge-hookshot.md for info.
  88. matrix_hookshot_github_private_key: ''
  89. matrix_hookshot_github_private_key_file: 'private-key.pem'
  90. matrix_hookshot_github_webhook_secret: '' # "Webhook secret" on the GitHub App page
  91. matrix_hookshot_github_oauth_enabled: false
  92. # You need to configure oauth settings only when you have enabled oauth (optional)
  93. matrix_hookshot_github_oauth_client_id: '' # "Client ID" on the GitHub App page
  94. matrix_hookshot_github_oauth_client_secret: '' # "Client Secret" on the GitHub App page
  95. # Default value of matrix_hookshot_github_oauth_endpoint: "/hookshot/webhooks/oauth"
  96. matrix_hookshot_github_oauth_endpoint: "{{ matrix_hookshot_webhook_endpoint }}/oauth"
  97. matrix_hookshot_github_oauth_redirect_uri: "{{ matrix_hookshot_urlprefix }}{{ matrix_hookshot_github_oauth_endpoint }}"
  98. # These are the default settings mentioned here and don't need to be modified: https://matrix-org.github.io/matrix-hookshot/usage/room_configuration/github_repo.html#configuration
  99. matrix_hookshot_github_defaultOptions_ignoreHooks: {} # noqa var-naming
  100. matrix_hookshot_github_defaultOptions_commandPrefix: '!gh' # noqa var-naming
  101. matrix_hookshot_github_defaultOptions_showIssueRoomLink: false # noqa var-naming
  102. matrix_hookshot_github_defaultOptions_prDiff: # noqa var-naming
  103. enabled: false
  104. maxLines: 5
  105. matrix_hookshot_github_defaultOptions_includingLabels: '' # noqa var-naming
  106. matrix_hookshot_github_defaultOptions_excludingLabels: '' # noqa var-naming
  107. matrix_hookshot_github_defaultOptions_hotlinkIssues_prefix: "#" # noqa var-naming
  108. matrix_hookshot_gitlab_enabled: true
  109. # Optionally add your instances, e.g.
  110. # matrix_hookshot_gitlab_instances:
  111. # gitlab.com:
  112. # url: https://gitlab.com
  113. # mygitlab:
  114. # url: https://gitlab.example.org
  115. matrix_hookshot_gitlab_instances:
  116. gitlab.com:
  117. url: https://gitlab.com
  118. # This will be the "Secret token" you have to enter into all GitLab instances for authentication
  119. matrix_hookshot_gitlab_webhook_secret: ''
  120. matrix_hookshot_gitlab_webhook_publicUrl: "{{ matrix_hookshot_urlprefix }}{{ matrix_hookshot_webhook_endpoint }}" # noqa var-naming
  121. matrix_hookshot_figma_enabled: false
  122. # Default value of matrix_hookshot_figma_endpoint: "/hookshot/webhooks/figma/webhook"
  123. matrix_hookshot_figma_endpoint: "{{ matrix_hookshot_webhook_endpoint }}/figma/webhook"
  124. matrix_hookshot_figma_publicUrl: "{{ matrix_hookshot_urlprefix }}{{ matrix_hookshot_figma_endpoint }}" # noqa var-naming
  125. # To bridge figma webhooks, you need to configure one of multiple instances like this:
  126. # matrix_hookshot_figma_instances:
  127. # your-instance:
  128. # teamId: your-team-id
  129. # accessToken: your-personal-access-token
  130. # passcode: your-webhook-passcode
  131. matrix_hookshot_figma_instances: {}
  132. matrix_hookshot_jira_enabled: false
  133. # Get the these values from https://matrix-org.github.io/matrix-hookshot/setup/jira.html#jira-oauth
  134. matrix_hookshot_jira_webhook_secret: ''
  135. matrix_hookshot_jira_oauth_enabled: false
  136. matrix_hookshot_jira_oauth_client_id: ''
  137. matrix_hookshot_jira_oauth_client_secret: ''
  138. # Default value of matrix_hookshot_jira_oauth_endpoint: "/hookshot/webhooks/jira/oauth"
  139. matrix_hookshot_jira_oauth_endpoint: "{{ matrix_hookshot_webhook_endpoint }}/jira/oauth"
  140. matrix_hookshot_jira_oauth_redirect_uri: "{{ matrix_hookshot_urlprefix }}{{ matrix_hookshot_jira_oauth_endpoint }}"
  141. # No need to change these
  142. matrix_hookshot_generic_enabled: true
  143. matrix_hookshot_generic_outbound: true
  144. matrix_hookshot_generic_enableHttpGet: false # noqa var-naming
  145. # Default value of matrix_hookshot_generic_endpoint: "/hookshot/webhooks"
  146. matrix_hookshot_generic_endpoint: "{{ matrix_hookshot_webhook_endpoint }}/webhook"
  147. # urlprefix gets updated with protocol & port in group_vars/matrix_servers
  148. matrix_hookshot_generic_urlPrefix: "{{ matrix_hookshot_urlprefix }}{{ matrix_hookshot_generic_endpoint }}" # noqa var-naming
  149. # If you're also using matrix-appservice-webhooks, take care that these prefixes don't overlap
  150. matrix_hookshot_generic_userIdPrefix: '_webhooks_' # noqa var-naming
  151. matrix_hookshot_generic_allowJsTransformationFunctions: false # noqa var-naming
  152. matrix_hookshot_generic_waitForComplete: false # noqa var-naming
  153. matrix_hookshot_generic_sendExpiryNotice: false # noqa var-naming
  154. matrix_hookshot_generic_requireExpiryTime: false # noqa var-naming
  155. matrix_hookshot_generic_maxExpiryTime: "30d" # noqa var-naming
  156. matrix_hookshot_feeds_enabled: true
  157. matrix_hookshot_feeds_pollIntervalSeconds: 600 # noqa var-naming
  158. matrix_hookshot_feeds_pollTimeoutSeconds: 30 # noqa var-naming
  159. # Valid values: error, warn, info, debug
  160. matrix_hookshot_logging_level: warn
  161. matrix_hookshot_widgets_enabled: true
  162. matrix_hookshot_widgets_port: 9003
  163. matrix_hookshot_widgets_addToAdminRooms: false # default off as it is a beta feature # noqa var-naming
  164. matrix_hookshot_widgets_roomSetupWidget_enabled: true # noqa var-naming
  165. matrix_hookshot_widgets_roomSetupWidget_addOnInvite: false # noqa var-naming
  166. # `disallowedIpRanges` describes which IP ranges should be disallowed when resolving homeserver IP addresses (for security reasons). Unless you know what you are doing, it is recommended to not include this key. The following IPs are blocked by default, unless you supply another list.
  167. # matrix_hookshot_widgets_disallowedIpRanges:
  168. # - 127.0.0.0/8
  169. # - 10.0.0.0/8
  170. # - 172.16.0.0/12
  171. # - 192.168.0.0/16
  172. # - 100.64.0.0/10
  173. # - 192.0.0.0/24
  174. # - 169.254.0.0/16
  175. # - 192.88.99.0/24
  176. # - 198.18.0.0/15
  177. # - 192.0.2.0/24
  178. # - 198.51.100.0/24
  179. # - 203.0.113.0/24
  180. # - 224.0.0.0/4
  181. # - ::1/128
  182. # - fe80::/10
  183. # - fc00::/7
  184. # - 2001:db8::/32
  185. # - ff00::/8
  186. # - fec0::/10
  187. matrix_hookshot_widgets_disallowedIpRanges: '' # noqa var-naming
  188. matrix_hookshot_widgets_internal: "/widgetapi"
  189. matrix_hookshot_widgets_hostname: "{{ matrix_hookshot_public_hostname }}"
  190. matrix_hookshot_widgets_endpoint: "{{ matrix_hookshot_public_endpoint }}{{ matrix_hookshot_widgets_internal }}"
  191. matrix_hookshot_widgets_publicUrl: "{{ matrix_hookshot_urlprefix }}{{ matrix_hookshot_widgets_endpoint }}/v1/static/" # noqa var-naming
  192. matrix_hookshot_widgets_branding_widgetTitle: "Hookshot Configuration" # noqa var-naming
  193. # You can configure access to the bridge as documented here https://matrix-org.github.io/matrix-hookshot/setup.html#permissions
  194. # When empty, the default permissions are applied.
  195. # Example:
  196. # matrix_hookshot_permissions:
  197. # - actor: *
  198. # services:
  199. # - service: *
  200. # level: commands
  201. # - actor: example.com
  202. # services:
  203. # - service: "*"
  204. # level: admin
  205. matrix_hookshot_permissions: []
  206. # Static connections that can be configured by an administrator, as documented here:
  207. # https://matrix-org.github.io/matrix-hookshot/latest/usage/static_connections.html
  208. # Currently only generic webhooks are supported.
  209. # Example:
  210. # matrix_hookshot_connections:
  211. # - connectionType: uk.half-shot.matrix-hookshot.generic.hook
  212. # stateKey: my-unique-webhook-id
  213. # roomId: "!room-id"
  214. # state:
  215. # name: My Static Webhook
  216. matrix_hookshot_connections: []
  217. matrix_hookshot_bot_displayname: Hookshot Bot
  218. matrix_hookshot_bot_avatar: 'mxc://half-shot.uk/2876e89ccade4cb615e210c458e2a7a6883fe17d'
  219. matrix_hookshot_container_network: ""
  220. # A list of extra arguments to pass to the container
  221. matrix_hookshot_container_extra_arguments: []
  222. # matrix_hookshot_container_labels_traefik_enabled controls whether labels to assist a Traefik reverse-proxy will be attached to the container.
  223. # See `../templates/labels.j2` for details.
  224. #
  225. # To inject your own other container labels, see `matrix_hookshot_container_labels_additional_labels`.
  226. matrix_hookshot_container_labels_traefik_enabled: true
  227. matrix_hookshot_container_labels_traefik_docker_network: "{{ matrix_hookshot_container_network }}"
  228. matrix_hookshot_container_labels_traefik_entrypoints: web-secure
  229. matrix_hookshot_container_labels_traefik_tls_certResolver: default # noqa var-naming
  230. # Controls whether labels will be added that expose Hookshot's webhooks endpoint
  231. matrix_hookshot_container_labels_webhooks_enabled: true
  232. matrix_hookshot_container_labels_webhooks_traefik_rule: "Host(`{{ matrix_hookshot_webhook_hostname }}`) && PathPrefix(`{{ matrix_hookshot_webhook_endpoint }}`)"
  233. matrix_hookshot_container_labels_webhooks_traefik_priority: 0
  234. matrix_hookshot_container_labels_webhooks_traefik_entrypoints: "{{ matrix_hookshot_container_labels_traefik_entrypoints }}"
  235. matrix_hookshot_container_labels_webhooks_traefik_tls: "{{ matrix_hookshot_container_labels_webhooks_traefik_entrypoints != 'web' }}"
  236. matrix_hookshot_container_labels_webhooks_traefik_tls_certResolver: "{{ matrix_hookshot_container_labels_traefik_tls_certResolver }}" # noqa var-naming
  237. # Controls whether labels will be added that expose Hookshot's appservice endpoint
  238. matrix_hookshot_container_labels_appservice_enabled: true
  239. matrix_hookshot_container_labels_appservice_traefik_rule: "Host(`{{ matrix_hookshot_appservice_hostname }}`) && PathPrefix(`{{ matrix_hookshot_appservice_endpoint }}`)"
  240. matrix_hookshot_container_labels_appservice_traefik_priority: 0
  241. matrix_hookshot_container_labels_appservice_traefik_entrypoints: "{{ matrix_hookshot_container_labels_traefik_entrypoints }}"
  242. matrix_hookshot_container_labels_appservice_traefik_tls: "{{ matrix_hookshot_container_labels_appservice_traefik_entrypoints != 'web' }}"
  243. matrix_hookshot_container_labels_appservice_traefik_tls_certResolver: "{{ matrix_hookshot_container_labels_traefik_tls_certResolver }}" # noqa var-naming
  244. # Controls whether labels will be added that expose Hookshot's widgets endpoint
  245. matrix_hookshot_container_labels_widgets_enabled: "{{ matrix_hookshot_widgets_enabled }}"
  246. matrix_hookshot_container_labels_widgets_traefik_rule: "Host(`{{ matrix_hookshot_widgets_hostname }}`) && PathPrefix(`{{ matrix_hookshot_widgets_endpoint }}`)"
  247. matrix_hookshot_container_labels_widgets_traefik_priority: 0
  248. matrix_hookshot_container_labels_widgets_traefik_entrypoints: "{{ matrix_hookshot_container_labels_traefik_entrypoints }}"
  249. matrix_hookshot_container_labels_widgets_traefik_tls: "{{ matrix_hookshot_container_labels_widgets_traefik_entrypoints != 'web' }}"
  250. matrix_hookshot_container_labels_widgets_traefik_tls_certResolver: "{{ matrix_hookshot_container_labels_traefik_tls_certResolver }}" # noqa var-naming
  251. # Controls whether labels will be added that expose Hookshot's metrics endpoint
  252. matrix_hookshot_container_labels_metrics_enabled: "{{ matrix_hookshot_metrics_enabled and matrix_hookshot_metrics_proxying_enabled }}"
  253. matrix_hookshot_container_labels_metrics_traefik_rule: "Host(`{{ matrix_hookshot_metrics_proxying_hostname }}`) && PathPrefix(`{{ matrix_hookshot_metrics_proxying_path_prefix }}`)"
  254. matrix_hookshot_container_labels_metrics_traefik_priority: 0
  255. matrix_hookshot_container_labels_metrics_traefik_entrypoints: "{{ matrix_hookshot_container_labels_traefik_entrypoints }}"
  256. matrix_hookshot_container_labels_metrics_traefik_tls: "{{ matrix_hookshot_container_labels_metrics_traefik_entrypoints != 'web' }}"
  257. matrix_hookshot_container_labels_metrics_traefik_tls_certResolver: "{{ matrix_hookshot_container_labels_traefik_tls_certResolver }}" # noqa var-naming
  258. matrix_hookshot_container_labels_metrics_middleware_basic_auth_enabled: false
  259. # See: https://doc.traefik.io/traefik/middlewares/http/basicauth/#users
  260. matrix_hookshot_container_labels_metrics_middleware_basic_auth_users: ''
  261. # matrix_hookshot_container_labels_additional_labels contains a multiline string with additional labels to add to the container label file.
  262. # See `../templates/labels.j2` for details.
  263. #
  264. # Example:
  265. # matrix_hookshot_container_labels_additional_labels: |
  266. # my.label=1
  267. # another.label="here"
  268. matrix_hookshot_container_labels_additional_labels: ''
  269. # List of systemd services that service depends on.
  270. matrix_hookshot_systemd_required_services_list: "{{ matrix_hookshot_systemd_required_services_list_default + matrix_hookshot_systemd_required_services_list_auto + matrix_hookshot_systemd_required_services_list_custom }}"
  271. matrix_hookshot_systemd_required_services_list_default: "{{ [devture_systemd_docker_base_docker_service_name] if devture_systemd_docker_base_docker_service_name else [] }}"
  272. matrix_hookshot_systemd_required_services_list_auto: []
  273. matrix_hookshot_systemd_required_services_list_custom: []
  274. # List of systemd services that service wants
  275. matrix_hookshot_systemd_wanted_services_list: []
  276. # List of ports to bind to the host to expose them directly.
  277. # Supply docker port bind arguments in a list like this:
  278. #
  279. # matrix_hookshot_container_http_host_bind_ports:
  280. # - "127.0.0.1:9999:{{ matrix_hookshot_metrics_port }}"
  281. #
  282. # Above example will bind the metrics port in the container to port 9999 on localhost.
  283. matrix_hookshot_container_http_host_bind_ports: []
  284. # These tokens will be set automatically
  285. matrix_hookshot_appservice_token: ''
  286. matrix_hookshot_homeserver_token: ''
  287. # Default configuration template which covers the generic use case.
  288. # You can customize it by controlling the various variables inside it.
  289. #
  290. # For a more advanced customization, you can extend the default (see `matrixhookshot_configuration_extension_yaml`)
  291. # or completely replace this variable with your own template.
  292. matrix_hookshot_configuration_yaml: "{{ lookup('template', 'templates/config.yaml.j2') }}"
  293. matrix_hookshot_configuration_extension_yaml: |
  294. # Your custom YAML configuration goes here.
  295. # This configuration extends the default starting configuration (`matrix_hookshot_configuration_yaml`).
  296. #
  297. # You can override individual variables from the default configuration, or introduce new ones.
  298. #
  299. # If you need something more special, you can take full control by
  300. # completely redefining `matrix_hookshot_configuration_yaml`.
  301. matrix_hookshot_configuration_extension: "{{ matrix_hookshot_configuration_extension_yaml | from_yaml if matrix_hookshot_configuration_extension_yaml | from_yaml is mapping else {} }}"
  302. # Holds the final configuration (a combination of the default and its extension).
  303. # You most likely don't need to touch this variable. Instead, see `matrix_hookshot_configuration_yaml`.
  304. matrix_hookshot_configuration: "{{ matrix_hookshot_configuration_yaml | from_yaml | combine(matrix_hookshot_configuration_extension, recursive=True) }}"
  305. # Default registration template which covers the generic use case.
  306. # You can customize it by controlling the various variables inside it.
  307. #
  308. # For a more advanced customization, you can extend the default (see `matrixhookshot_registration_extension_yaml`)
  309. # or completely replace this variable with your own template.
  310. matrix_hookshot_registration_yaml: "{{ lookup('template', 'templates/registration.yml.j2') }}"
  311. matrix_hookshot_registration_extension_yaml: |
  312. # Your custom YAML registration goes here.
  313. # This registration extends the default starting registration (`matrix_hookshot_registration_yaml`).
  314. #
  315. # You can override individual variables from the default registration, or introduce new ones.
  316. #
  317. # If you need something more special, you can take full control by
  318. # completely redefining `matrix_hookshot_registration_yaml`.
  319. matrix_hookshot_registration_extension: "{{ matrix_hookshot_registration_extension_yaml | from_yaml if matrix_hookshot_registration_extension_yaml | from_yaml is mapping else {} }}"
  320. # Holds the final registration (a combination of the default and its extension).
  321. # You most likely don't need to touch this variable. Instead, see `matrix_hookshot_registration_yaml`.
  322. matrix_hookshot_registration: "{{ matrix_hookshot_registration_yaml | from_yaml | combine(matrix_hookshot_registration_extension, recursive=True) }}"
  323. # matrix_hookshot_restart_necessary controls whether the service
  324. # will be restarted (when true) or merely started (when false) by the
  325. # systemd service manager role (when conditional restart is enabled).
  326. #
  327. # This value is automatically computed during installation based on whether
  328. # any configuration files, the systemd service file, or the container image changed.
  329. # The default of `false` means "no restart needed" — appropriate when the role's
  330. # installation tasks haven't run (e.g., due to --tags skipping them).
  331. matrix_hookshot_restart_necessary: false