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.
 
 

633 line
38 KiB

  1. # SPDX-FileCopyrightText: 2024 - 2025 Slavi Pantaleev
  2. # SPDX-FileCopyrightText: 2025 Suguru Hirahara
  3. #
  4. # SPDX-License-Identifier: AGPL-3.0-or-later
  5. ---
  6. # matrix-authentication-service (MAS) is an OAuth 2.0 and OpenID Provider server for Matrix.
  7. # Project source code URL: https://github.com/element-hq/matrix-authentication-service
  8. matrix_authentication_service_enabled: true
  9. matrix_authentication_service_hostname: ''
  10. # Controls the path prefix for the authentication service.
  11. # This value must either be `/` or not end with a slash (e.g. `/auth`).
  12. matrix_authentication_service_path_prefix: /
  13. matrix_authentication_service_container_image_self_build: false
  14. matrix_authentication_service_container_repo: "https://github.com/element-hq/matrix-authentication-service.git"
  15. matrix_authentication_service_container_repo_version: "{{ 'main' if matrix_authentication_service_version == 'latest' else ('v' + matrix_authentication_service_version) }}"
  16. matrix_authentication_service_container_src_files_path: "{{ matrix_base_data_path }}/matrix-authentication-service/container-src"
  17. # renovate: datasource=docker depName=ghcr.io/element-hq/matrix-authentication-service
  18. matrix_authentication_service_version: 1.3.0
  19. matrix_authentication_service_container_image_registry_prefix: "{{ 'localhost/' if matrix_authentication_service_container_image_self_build else matrix_authentication_service_container_image_registry_prefix_upstream }}"
  20. matrix_authentication_service_container_image_registry_prefix_upstream: "{{ matrix_authentication_service_container_image_registry_prefix_upstream_default }}"
  21. matrix_authentication_service_container_image_registry_prefix_upstream_default: "ghcr.io/"
  22. matrix_authentication_service_container_image: "{{ matrix_authentication_service_container_image_registry_prefix }}element-hq/matrix-authentication-service:{{ matrix_authentication_service_version }}"
  23. matrix_authentication_service_container_image_force_pull: "{{ matrix_authentication_service_container_image.endswith(':latest') }}"
  24. matrix_authentication_service_base_path: "{{ matrix_base_data_path }}/matrix-authentication-service"
  25. matrix_authentication_service_bin_path: "{{ matrix_authentication_service_base_path }}/bin"
  26. matrix_authentication_service_config_path: "{{ matrix_authentication_service_base_path }}/config"
  27. matrix_authentication_service_data_path: "{{ matrix_authentication_service_base_path }}/data"
  28. matrix_authentication_service_data_keys_path: "{{ matrix_authentication_service_data_path }}/keys"
  29. matrix_authentication_service_uid: "{{ matrix_user_uid }}"
  30. matrix_authentication_service_gid: "{{ matrix_user_gid }}"
  31. matrix_authentication_service_container_network: ""
  32. matrix_authentication_service_container_additional_networks: "{{ matrix_authentication_service_container_additional_networks_auto + matrix_authentication_service_container_additional_networks_custom }}"
  33. matrix_authentication_service_container_additional_networks_auto: []
  34. matrix_authentication_service_container_additional_networks_custom: []
  35. # A list of extra arguments to pass to the container
  36. matrix_authentication_service_container_extra_arguments: []
  37. # List of systemd services that matrix-authentication-service.service depends on
  38. matrix_authentication_service_systemd_required_services_list: "{{ matrix_authentication_service_systemd_required_services_list_default + matrix_authentication_service_systemd_required_services_list_auto + matrix_authentication_service_systemd_required_services_list_custom }}"
  39. matrix_authentication_service_systemd_required_services_list_default: "{{ [devture_systemd_docker_base_docker_service_name] if devture_systemd_docker_base_docker_service_name else [] }}"
  40. matrix_authentication_service_systemd_required_services_list_auto: []
  41. matrix_authentication_service_systemd_required_services_list_custom: []
  42. # List of systemd services that matrix-authentication-service.service wants
  43. matrix_authentication_service_systemd_wanted_services_list: "{{ matrix_authentication_service_systemd_wanted_services_list_auto + matrix_authentication_service_systemd_wanted_services_list_custom }}"
  44. matrix_authentication_service_systemd_wanted_services_list_auto: []
  45. matrix_authentication_service_systemd_wanted_services_list_custom: []
  46. ########################################################################################
  47. # #
  48. # Key management #
  49. # #
  50. ########################################################################################
  51. # Controls whether the playbook will manage the secrets keys for you.
  52. #
  53. # See:
  54. # - matrix_authentication_service_config_secrets_keys
  55. # - matrix_authentication_service_key_management_*
  56. matrix_authentication_service_key_management_enabled: true
  57. matrix_authentication_service_key_management_list: "{{ matrix_authentication_service_key_management_list_default + matrix_authentication_service_key_management_list_custom }}"
  58. matrix_authentication_service_key_management_list_default: |-
  59. {{
  60. (
  61. ([
  62. {
  63. "config": {
  64. "kid": matrix_authentication_service_key_management_rsa_2048_key_id,
  65. "key_file": ("/keys/" + matrix_authentication_service_key_management_rsa_2048_key_file),
  66. },
  67. "key_file": matrix_authentication_service_key_management_rsa_2048_key_file,
  68. "generation_command": matrix_authentication_service_key_management_rsa_2048_generation_command,
  69. }
  70. ] if matrix_authentication_service_key_management_rsa_2048_enabled else [])
  71. +
  72. ([
  73. {
  74. "config": {
  75. "kid": matrix_authentication_service_key_management_ecdsa_p256_key_id,
  76. "key_file": ("/keys/" + matrix_authentication_service_key_management_ecdsa_p256_key_file),
  77. },
  78. "key_file": matrix_authentication_service_key_management_ecdsa_p256_key_file,
  79. "generation_command": matrix_authentication_service_key_management_ecdsa_p256_generation_command,
  80. }
  81. ] if matrix_authentication_service_key_management_ecdsa_p256_enabled else [])
  82. +
  83. ([
  84. {
  85. "config": {
  86. "kid": matrix_authentication_service_key_management_ecdsa_p384_key_id,
  87. "key_file": ("/keys/" + matrix_authentication_service_key_management_ecdsa_p384_key_file),
  88. },
  89. "key_file": matrix_authentication_service_key_management_ecdsa_p384_key_file,
  90. "generation_command": matrix_authentication_service_key_management_ecdsa_p384_generation_command,
  91. }
  92. ] if matrix_authentication_service_key_management_ecdsa_p384_enabled else [])
  93. +
  94. ([
  95. {
  96. "config": {
  97. "kid": matrix_authentication_service_key_management_ecdsa_k256_key_id,
  98. "key_file": ("/keys/" + matrix_authentication_service_key_management_ecdsa_k256_key_file),
  99. },
  100. "key_file": matrix_authentication_service_key_management_ecdsa_k256_key_file,
  101. "generation_command": matrix_authentication_service_key_management_ecdsa_k256_generation_command,
  102. }
  103. ] if matrix_authentication_service_key_management_ecdsa_k256_enabled else [])
  104. )
  105. if matrix_authentication_service_key_management_enabled
  106. else []
  107. }}
  108. matrix_authentication_service_key_management_list_custom: []
  109. matrix_authentication_service_key_management_rsa_2048_enabled: true
  110. matrix_authentication_service_key_management_rsa_2048_key_id: default-rsa
  111. matrix_authentication_service_key_management_rsa_2048_key_file: rsa-2048.priv.pem
  112. matrix_authentication_service_key_management_rsa_2048_generation_command: "openssl genpkey -algorithm RSA -out __KEY_FILE_PATH__ -pkeyopt rsa_keygen_bits:2048"
  113. matrix_authentication_service_key_management_ecdsa_p256_enabled: true
  114. matrix_authentication_service_key_management_ecdsa_p256_key_id: default-ecdsa-p256
  115. matrix_authentication_service_key_management_ecdsa_p256_key_file: ecdsa-p256.priv.pem
  116. matrix_authentication_service_key_management_ecdsa_p256_generation_command: "openssl genpkey -algorithm EC -pkeyopt ec_paramgen_curve:prime256v1 -out __KEY_FILE_PATH__ -outform PEM"
  117. matrix_authentication_service_key_management_ecdsa_p384_enabled: true
  118. matrix_authentication_service_key_management_ecdsa_p384_key_id: default-ecdsa-p384
  119. matrix_authentication_service_key_management_ecdsa_p384_key_file: ecdsa-p384.priv.pem
  120. matrix_authentication_service_key_management_ecdsa_p384_generation_command: "openssl genpkey -algorithm EC -pkeyopt ec_paramgen_curve:secp384r1 -out __KEY_FILE_PATH__ -outform PEM"
  121. matrix_authentication_service_key_management_ecdsa_k256_enabled: true
  122. matrix_authentication_service_key_management_ecdsa_k256_key_id: default-ecdsa-k256
  123. matrix_authentication_service_key_management_ecdsa_k256_key_file: ecdsa-k256.priv.pem
  124. matrix_authentication_service_key_management_ecdsa_k256_generation_command: "openssl genpkey -algorithm EC -pkeyopt ec_paramgen_curve:secp256k1 -out __KEY_FILE_PATH__ -outform PEM"
  125. ########################################################################################
  126. # #
  127. # /Key management #
  128. # #
  129. ########################################################################################
  130. ########################################################################################
  131. # #
  132. # Email configuration #
  133. # #
  134. ########################################################################################
  135. # Controls the `email.from` configuration setting.
  136. matrix_authentication_service_config_email_from: '"{{ matrix_authentication_service_config_email_from_name }}" <{{ matrix_authentication_service_config_email_from_address }}>'
  137. matrix_authentication_service_config_email_from_name: 'Matrix Authentication Service'
  138. matrix_authentication_service_config_email_from_address: "matrix@{{ matrix_domain }}"
  139. # Controls the `email.reply_to` configuration setting.
  140. matrix_authentication_service_config_email_reply_to: '"{{ matrix_authentication_service_config_email_reply_to_name }}" <{{ matrix_authentication_service_config_email_reply_to_address }}>'
  141. matrix_authentication_service_config_email_reply_to_name: "{{ matrix_authentication_service_config_email_from_name }}"
  142. matrix_authentication_service_config_email_reply_to_address: "{{ matrix_authentication_service_config_email_from_address }}"
  143. # Controls the `email.transport` configuration setting.
  144. #
  145. # Valid values: blackhole, smtp, aws_ses
  146. # Upstream reports that `sendmail` is supported as well,
  147. # but this is not true when running it in a container image due to the `sendmail` binary not being included.
  148. matrix_authentication_service_config_email_transport: blackhole
  149. # Controls the `email.mode` configuration setting for SMTP.
  150. # Valid values: plain, tls, starttls
  151. matrix_authentication_service_config_email_mode: plain
  152. # Controls the `email.hostname` configuration setting for SMTP.
  153. matrix_authentication_service_config_email_hostname: ""
  154. # Controls the `email.port` configuration setting for SMTP.
  155. matrix_authentication_service_config_email_port: 587
  156. # Controls the `email.username` configuration setting for SMTP.
  157. matrix_authentication_service_config_email_username: ""
  158. # Controls the `email.password` configuration setting for SMTP.
  159. matrix_authentication_service_config_email_password: ""
  160. ########################################################################################
  161. # #
  162. # /Email configuration #
  163. # #
  164. ########################################################################################
  165. ########################################################################################
  166. # #
  167. # Account configuration #
  168. # #
  169. ########################################################################################
  170. # Controls the `account.email_change_allowed` configuration setting.
  171. #
  172. # Whether users are allowed to change their email addresses.
  173. matrix_authentication_service_config_account_email_change_allowed: true
  174. # Controls the `account.displayname_change_allowed` configuration setting.
  175. #
  176. # Whether users are allowed to change their display names.
  177. # This should be in sync with the policy in the homeserver configuration.
  178. matrix_authentication_service_config_account_displayname_change_allowed: true
  179. # Controls the `account.password_registration_enabled` configuration setting.
  180. #
  181. # Whether to enable self-service password registration.
  182. # This has no effect if password login is disabled.
  183. matrix_authentication_service_config_account_password_registration_enabled: false
  184. # Controls the `account.password_change_allowed` configuration setting.
  185. #
  186. # Whether users are allowed to change their passwords.
  187. # This has no effect if password login is disabled.
  188. matrix_authentication_service_config_account_password_change_allowed: true
  189. # Controls the `account.password_recovery_enabled` configuration setting.
  190. #
  191. # Whether email-based password recovery is enabled.
  192. # This has no effect if password login is disabled.
  193. matrix_authentication_service_config_account_password_recovery_enabled: false
  194. ########################################################################################
  195. # #
  196. # /Account configuration #
  197. # #
  198. ########################################################################################
  199. ########################################################################################
  200. # #
  201. # Database configuration #
  202. # #
  203. ########################################################################################
  204. # Controls the `database.username` configuration setting.
  205. matrix_authentication_service_config_database_username: 'matrix_authentication_service'
  206. # Controls the `database.password` configuration setting.
  207. matrix_authentication_service_config_database_password: ''
  208. # Controls the `database.host` configuration setting.
  209. matrix_authentication_service_config_database_host: ''
  210. # Controls the `database.port` configuration setting.
  211. matrix_authentication_service_config_database_port: 5432
  212. # Controls the `database.database` configuration setting.
  213. matrix_authentication_service_config_database_database: 'matrix_authentication_service'
  214. # Controls the `database.ssl_mode` configuration setting.
  215. matrix_authentication_service_config_database_ssl_mode: disable
  216. # Controls the `database.max_connections` configuration setting.
  217. matrix_authentication_service_config_database_max_connections: 10
  218. # Controls the `database.min_connections` configuration setting.
  219. matrix_authentication_service_config_database_min_connections: 0
  220. # Controls the `database.connect_timeout` configuration setting.
  221. matrix_authentication_service_config_database_connect_timeout: 30
  222. # Controls the `database.idle_timeout` configuration setting.
  223. matrix_authentication_service_config_database_idle_timeout: 600
  224. # Controls the `database.max_lifetime` configuration setting.
  225. matrix_authentication_service_config_database_max_lifetime: 1800
  226. ########################################################################################
  227. # #
  228. # /Database configuration #
  229. # #
  230. ########################################################################################
  231. ########################################################################################
  232. # #
  233. # Secrets configuration #
  234. # #
  235. ########################################################################################
  236. # Controls the `secrets.encryption` configuration setting.
  237. matrix_authentication_service_config_secrets_encryption: ''
  238. # Controls the `secrets.keys` configuration setting.
  239. matrix_authentication_service_config_secrets_keys: |-
  240. {{
  241. matrix_authentication_service_key_management_list | map(attribute='config') | list
  242. if matrix_authentication_service_key_management_enabled
  243. else []
  244. }}
  245. ########################################################################################
  246. # #
  247. # /Secrets configuration #
  248. # #
  249. ########################################################################################
  250. ########################################################################################
  251. # #
  252. # HTTP configuration #
  253. # #
  254. ########################################################################################
  255. # Controls the resources exposed by the `web` HTTP listener.
  256. matrix_authentication_service_config_http_listener_web_resources: "{{ matrix_authentication_service_config_http_listener_web_resources_default + matrix_authentication_service_config_http_listener_web_resources_auto + matrix_authentication_service_config_http_listener_web_resources_custom }}"
  257. matrix_authentication_service_config_http_listener_web_resources_default: |-
  258. {{
  259. [
  260. {'name': 'discovery'},
  261. {'name': 'human'},
  262. {'name': 'oauth'},
  263. {'name': 'compat'},
  264. {'name': 'graphql'},
  265. {'name': 'assets'},
  266. ]
  267. }}
  268. matrix_authentication_service_config_http_listener_web_resources_auto: []
  269. matrix_authentication_service_config_http_listener_web_resources_custom: []
  270. # Controls the `http.public_base` configuration setting.
  271. matrix_authentication_service_config_http_public_base: "https://{{ matrix_authentication_service_hostname }}{{ '/' if matrix_authentication_service_path_prefix == '/' else (matrix_authentication_service_path_prefix + '/') }}"
  272. # Controls the `http.issuer` configuration setting.
  273. matrix_authentication_service_config_http_issuer: "{{ matrix_authentication_service_config_http_public_base }}"
  274. # Controls the `http.trusted_proxies` configuration setting.
  275. matrix_authentication_service_config_http_trusted_proxies:
  276. - 192.168.0.0/16
  277. - 172.16.0.0/12
  278. - 10.0.0.0/10
  279. - 127.0.0.1/8
  280. - fd00::/8
  281. - ::1/128
  282. ########################################################################################
  283. # #
  284. # /HTTP configuration #
  285. # #
  286. ########################################################################################
  287. ########################################################################################
  288. # #
  289. # Matrix configuration #
  290. # #
  291. ########################################################################################
  292. # Controls the `matrix.homeserver` configuration setting.
  293. # The homeserver name, as per the `server_name` in the Synapse configuration file.
  294. matrix_authentication_service_config_matrix_homeserver: ""
  295. # Controls the `matrix.endpoint` configuration setting.
  296. # URL to which the homeserver is accessible from the service.
  297. matrix_authentication_service_config_matrix_endpoint: ""
  298. # Controls the `matrix.secret` configuration setting.
  299. matrix_authentication_service_config_matrix_secret: ""
  300. ########################################################################################
  301. # #
  302. # /Matrix configuration #
  303. # #
  304. ########################################################################################
  305. ########################################################################################
  306. # #
  307. # Passwords configuration #
  308. # #
  309. ########################################################################################
  310. # Controls the `passwords.enabled` configuration setting.
  311. # Whether to enable the password database.
  312. # If disabled, users will only be able to log in using upstream OIDC providers.
  313. matrix_authentication_service_config_passwords_enabled: true
  314. # Controls the `passwords.schemes` configuration setting.
  315. # List of password hashing schemes being used.
  316. # Only change this if you know what you're doing.
  317. matrix_authentication_service_config_passwords_schemes:
  318. - version: 1
  319. algorithm: argon2id
  320. # Controls the `passwords.minimum_complexity` configuration setting.
  321. # Minimum complexity required for passwords, estimated by the zxcvbn algorithm.
  322. # Must be between 0 and 4. Default is 3.
  323. # See https://github.com/dropbox/zxcvbn#usage for more information.
  324. matrix_authentication_service_config_passwords_minimum_complexity: 3
  325. ########################################################################################
  326. # #
  327. # /Passwords configuration #
  328. # #
  329. ########################################################################################
  330. ########################################################################################
  331. # #
  332. # Clients configuration #
  333. # #
  334. ########################################################################################
  335. # Controls the `clients` configuration setting.
  336. # List of clients to be used by the authentication service.
  337. #
  338. # See:
  339. # - https://element-hq.github.io/matrix-authentication-service/reference/configuration.html#clients
  340. # - https://element-hq.github.io/matrix-authentication-service/setup/homeserver.html#provision-a-client-for-the-homeserver-to-use
  341. #
  342. # To define your own, use `matrix_authentication_service_config_clients_custom`.
  343. matrix_authentication_service_config_clients: "{{ matrix_authentication_service_config_clients_auto + matrix_authentication_service_config_clients_custom }}"
  344. matrix_authentication_service_config_clients_auto: []
  345. matrix_authentication_service_config_clients_custom: []
  346. ########################################################################################
  347. # #
  348. # /Clients configuration #
  349. # #
  350. ########################################################################################
  351. ########################################################################################
  352. # #
  353. # Upstream OAuth2 configuration #
  354. # #
  355. ########################################################################################
  356. # Controls the `upstream_oauth2.providers` configuration setting.
  357. # See:
  358. # - https://element-hq.github.io/matrix-authentication-service/reference/configuration.html#upstream_oauth2providers
  359. matrix_authentication_service_config_upstream_oauth2_providers: []
  360. ########################################################################################
  361. # #
  362. # /Upstream OAuth2 configuration #
  363. # #
  364. ########################################################################################
  365. # Holds the final Matrix Authentication Service configuration (a combination of the default and its extension).
  366. # You most likely don't need to touch this variable. Instead, see `matrix_authentication_service_configuration_yaml` or `matrix_authentication_service_configuration_extension_yaml`.
  367. matrix_authentication_service_configuration: "{{ matrix_authentication_service_configuration_yaml | from_yaml | combine(matrix_authentication_service_configuration_extension, recursive=True) }}"
  368. # Default Matrix Authentication Service configuration template which covers the generic use case.
  369. # You can customize it by controlling the various variables inside it.
  370. #
  371. # For a more advanced customization, you can extend the default (see `matrix_authentication_service_configuration_extension_yaml`)
  372. # or completely replace this variable with your own template.
  373. matrix_authentication_service_configuration_yaml: "{{ lookup('template', 'templates/config.yaml.j2') }}"
  374. matrix_authentication_service_configuration_extension_yaml: |
  375. # Your custom YAML configuration for Matrix Authentication Service goes here.
  376. # This configuration extends the default starting configuration (`matrix_authentication_service_configuration_yaml`).
  377. #
  378. # You can override individual variables from the default configuration, or introduce new ones.
  379. #
  380. # If you need something more special, you can take full control by
  381. # completely redefining `matrix_authentication_service_configuration_yaml`.
  382. #
  383. # Example configuration extension follows:
  384. #
  385. # user:
  386. # password: something
  387. matrix_authentication_service_configuration_extension: "{{ matrix_authentication_service_configuration_extension_yaml | from_yaml if matrix_authentication_service_configuration_extension_yaml | from_yaml is mapping else {} }}"
  388. # Additional environment variables to pass to the Matrix Authentication Service container.
  389. #
  390. # Environment variables take priority over settings in the configuration file.
  391. #
  392. # Example:
  393. # matrix_authentication_service_environment_variables_extension: |
  394. # KEY=value
  395. matrix_authentication_service_environment_variables_extension: ''
  396. ########################################################################################
  397. # #
  398. # Labels #
  399. # #
  400. ########################################################################################
  401. # matrix_authentication_service_container_labels_traefik_enabled controls whether labels to assist a Traefik reverse-proxy will be attached to the container.
  402. # See `../templates/labels.j2` for details.
  403. #
  404. # To inject your own other container labels, see `matrix_authentication_service_container_labels_additional_labels`.
  405. matrix_authentication_service_container_labels_traefik_enabled: true
  406. matrix_authentication_service_container_labels_traefik_docker_network: "{{ matrix_authentication_service_container_network }}"
  407. matrix_authentication_service_container_labels_traefik_entrypoints: web-secure
  408. matrix_authentication_service_container_labels_traefik_tls_certResolver: default # noqa var-naming
  409. matrix_authentication_service_container_labels_public_main_hostname: "{{ matrix_authentication_service_hostname }}"
  410. # The path prefix must either be `/` or not end with a slash (e.g. `/auth`).
  411. matrix_authentication_service_container_labels_public_main_path_prefix: "{{ matrix_authentication_service_path_prefix }}"
  412. matrix_authentication_service_container_labels_public_main_rule: "Host(`{{ matrix_authentication_service_container_labels_public_main_hostname }}`){% if matrix_authentication_service_container_labels_public_main_path_prefix != '/' %} && PathPrefix(`{{ matrix_authentication_service_container_labels_public_main_path_prefix }}`){% endif %}"
  413. matrix_authentication_service_container_labels_public_main_priority: 0
  414. matrix_authentication_service_container_labels_public_main_entrypoints: "{{ matrix_authentication_service_container_labels_traefik_entrypoints }}"
  415. matrix_authentication_service_container_labels_public_main_tls: "{{ matrix_authentication_service_container_labels_public_main_entrypoints != 'web' }}"
  416. matrix_authentication_service_container_labels_public_main_tls_certResolver: "{{ matrix_authentication_service_container_labels_traefik_tls_certResolver }}" # noqa var-naming
  417. # Controls whether labels will be added to expose the compatibility layer publicly.
  418. #
  419. # The service exposes a compatibility layer to allow legacy clients to authenticate using the service.
  420. # This works by exposing a few Matrix endpoints that should be proxied to the service.
  421. # The following Matrix Client-Server API endpoints need to be handled by the authentication service:
  422. # - /_matrix/client/*/login
  423. # - /_matrix/client/*/logout
  424. # - /_matrix/client/*/refresh
  425. #
  426. # See:
  427. # - https://element-hq.github.io/matrix-authentication-service/setup/homeserver.html#set-up-the-compatibility-layer
  428. # - https://element-hq.github.io/matrix-authentication-service/setup/reverse-proxy.html#compatibility-layer
  429. #
  430. # Regardless of whether this is enabled, it may or may not take effect due to the value of other variables.
  431. # See `matrix_authentication_service_container_labels_traefik_enabled`.
  432. matrix_authentication_service_container_labels_public_compatibility_layer_enabled: false
  433. matrix_authentication_service_container_labels_public_compatibility_layer_hostname: ""
  434. matrix_authentication_service_container_labels_public_compatibility_layer_path_regexp: "^/_matrix/client/(?P<version>([^/]+))/(?P<endpoint>(login|logout|refresh))"
  435. matrix_authentication_service_container_labels_public_compatibility_layer_rule: "Host(`{{ matrix_authentication_service_container_labels_public_compatibility_layer_hostname }}`) && PathRegexp(`{{ matrix_authentication_service_container_labels_public_compatibility_layer_path_regexp }}`)"
  436. matrix_authentication_service_container_labels_public_compatibility_layer_priority: 0
  437. matrix_authentication_service_container_labels_public_compatibility_layer_entrypoints: "{{ matrix_authentication_service_container_labels_traefik_entrypoints }}"
  438. matrix_authentication_service_container_labels_public_compatibility_layer_tls: "{{ matrix_authentication_service_container_labels_public_compatibility_layer_entrypoints != 'web' }}"
  439. matrix_authentication_service_container_labels_public_compatibility_layer_tls_certResolver: "{{ matrix_authentication_service_container_labels_traefik_tls_certResolver }}" # noqa var-naming
  440. # Controls whether labels will be added to expose the compatibility layer on the internal Traefik entrypoint.
  441. # This is similar to `matrix_authentication_service_container_labels_public_compatibility_layer_enabled`, but the entrypoint and intent is different.
  442. # Regardless of whether this is enabled, it may or may not take effect due to the value of other variables.
  443. # See `matrix_authentication_service_container_labels_traefik_enabled`
  444. matrix_authentication_service_container_labels_internal_compatibility_layer_enabled: false
  445. matrix_authentication_service_container_labels_internal_compatibility_layer_path_regexp: "{{ matrix_authentication_service_container_labels_public_compatibility_layer_path_regexp }}"
  446. matrix_authentication_service_container_labels_internal_compatibility_layer_rule: "PathRegexp(`{{ matrix_authentication_service_container_labels_internal_compatibility_layer_path_regexp }}`)"
  447. matrix_authentication_service_container_labels_internal_compatibility_layer_priority: 0
  448. matrix_authentication_service_container_labels_internal_compatibility_layer_entrypoints: ""
  449. # Controls which additional headers to attach to all HTTP responses.
  450. # To add your own headers, use `matrix_authentication_service_container_labels_traefik_additional_response_headers_custom`
  451. matrix_authentication_service_container_labels_traefik_additional_response_headers: "{{ matrix_authentication_service_container_labels_traefik_additional_response_headers_auto | combine(matrix_authentication_service_container_labels_traefik_additional_response_headers_custom) }}"
  452. matrix_authentication_service_container_labels_traefik_additional_response_headers_auto: {}
  453. matrix_authentication_service_container_labels_traefik_additional_response_headers_custom: {}
  454. # matrix_authentication_service_container_labels_additional_labels contains a multiline string with additional labels to add to the container label file.
  455. # See `../templates/labels.j2` for details.
  456. #
  457. # Example:
  458. # matrix_authentication_service_container_labels_additional_labels: |
  459. # my.label=1
  460. # another.label="here"
  461. matrix_authentication_service_container_labels_additional_labels: ''
  462. ########################################################################################
  463. # #
  464. # /Labels #
  465. # #
  466. ########################################################################################
  467. ########################################################################################
  468. # #
  469. # syn2mas configuration #
  470. # #
  471. ########################################################################################
  472. matrix_authentication_service_syn2mas_start_wait_time_seconds: 5
  473. # The syn2mas sub-command to run.
  474. # Valid values: migrate, check
  475. matrix_authentication_service_syn2mas_subcommand: migrate
  476. # Whether to pass a `--dry-run` flag to the 'migrate' sub-command.
  477. # See `matrix_authentication_service_syn2mas_subcommand`
  478. matrix_authentication_service_syn2mas_migrate_dry_run: false
  479. # Path to Synapse's homeserver.yaml configuration file.
  480. matrix_authentication_service_syn2mas_synapse_homeserver_config_path: ""
  481. matrix_authentication_service_syn2mas_container_network: "{{ matrix_authentication_service_container_network }}"
  482. # Additional options passed to the syn2mas sub-command (e.g. `mas-cli syn2mas [OPTIONS] migrate|check`).
  483. # Also see: `matrix_authentication_service_syn2mas_subcommand_extra_options`
  484. #
  485. # Example:
  486. # matrix_authentication_service_syn2mas_command_extra_options:
  487. # - "--something"
  488. matrix_authentication_service_syn2mas_command_extra_options: []
  489. # Additional options passed to the syn2mas sub-command (e.g. `mas-cli syn2mas migrate|check [OPTIONS]`).
  490. # Also see: `matrix_authentication_service_syn2mas_command_extra_options`
  491. #
  492. # Example:
  493. # matrix_authentication_service_syn2mas_subcommand_extra_options:
  494. # - "--dry-run"
  495. matrix_authentication_service_syn2mas_subcommand_extra_options: []
  496. ########################################################################################
  497. # #
  498. # /syn2mas configuration #
  499. # #
  500. ########################################################################################
  501. ########################################################################################
  502. # #
  503. # Misc #
  504. # #
  505. ########################################################################################
  506. # Controls whether a migration from a homeserver user database to Matrix Authentication Service is in progress.
  507. #
  508. # When this is set to `true`, the playbook will:
  509. #
  510. # - disable the integration between the homeserver and Matrix Authentication Service
  511. # - avoid setting up the "compatibility layer" (that is, avoid installing container labels that capture login endpoints like `/_matrix/client/*/login`, etc.)
  512. matrix_authentication_service_migration_in_progress: false
  513. ########################################################################################
  514. # #
  515. # /Misc #
  516. # #
  517. ########################################################################################