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.
 
 
 

149 lines
7.1 KiB

  1. # SPDX-FileCopyrightText: 2026 Slavi Pantaleev
  2. #
  3. # SPDX-License-Identifier: AGPL-3.0-or-later
  4. ---
  5. dependency:
  6. name: galaxy
  7. options:
  8. requirements-file: requirements.yml
  9. force: true
  10. driver:
  11. name: docker
  12. platforms:
  13. - name: matrix-static-files-${MOLECULE_DISTRO:-ubuntu2604}-default
  14. image: "geerlingguy/docker-${MOLECULE_DISTRO:-ubuntu2604}-ansible:latest"
  15. command: ${MOLECULE_DOCKER_COMMAND:-""}
  16. volumes:
  17. - /sys/fs/cgroup:/sys/fs/cgroup:rw
  18. cgroupns_mode: host
  19. privileged: true
  20. pre_build_image: true
  21. provisioner:
  22. name: ansible
  23. config_options:
  24. defaults:
  25. callback_result_format: yaml
  26. inventory:
  27. group_vars:
  28. all:
  29. # verify.yml is a separate play, so paths and runtime settings it reads are
  30. # pinned here rather than relying on role defaults remaining in scope.
  31. matrix_static_files_base_path: /matrix/static-files
  32. matrix_static_files_config_path: /matrix/static-files/config
  33. matrix_static_files_public_path: /matrix/static-files/public
  34. matrix_static_files_container_network: matrix-static-files-molecule
  35. matrix_static_files_container_http_host_bind_port: ''
  36. # Exercise the generated environment and prove the server listens on what
  37. # the role rendered rather than static-web-server's own port default.
  38. matrix_static_files_environment_variable_server_port: 18082
  39. matrix_static_files_environment_variable_server_log_level: debug
  40. matrix_static_files_environment_variable_server_log_remote_address: true
  41. matrix_static_files_environment_variable_server_ignore_hidden_files: false
  42. matrix_static_files_environment_variables_additional_variables: |
  43. MOLECULE_STATIC_FILES_MARKER=environment-reached
  44. matrix_static_files_files_cache_time_hours: 7
  45. # Render both router families with non-default routing knobs. Traefik does
  46. # not need to run: the file and the attached container labels are inspected.
  47. matrix_static_files_container_labels_traefik_entrypoints: web
  48. matrix_static_files_container_labels_well_known_matrix_endpoint_traefik_hostname: matrix-well-known.molecule.local
  49. matrix_static_files_container_labels_well_known_matrix_endpoint_traefik_path_prefix: /molecule-well-known
  50. matrix_static_files_container_labels_well_known_matrix_endpoint_traefik_priority: 67
  51. matrix_static_files_container_labels_well_known_matrix_endpoint_middleware_compress_minResponseBodyBytes: 321
  52. matrix_static_files_container_labels_base_domain_enabled: true
  53. matrix_static_files_container_labels_base_domain_traefik_hostname: base.molecule.local
  54. matrix_static_files_container_labels_base_domain_traefik_path_prefix: /molecule-base
  55. matrix_static_files_container_labels_base_domain_traefik_priority: 43
  56. matrix_static_files_container_labels_base_domain_root_path_redirection_enabled: false
  57. matrix_static_files_container_labels_additional_labels: |
  58. molecule.scenario=matrix-static-files
  59. matrix_static_files_file_index_html_template: |-
  60. <!doctype html>
  61. <html>
  62. <body>Molecule static-files index marker</body>
  63. </html>
  64. # All URLs are inert data: the static server never contacts them. The mix
  65. # exercises optional sections, recursive extensions, lists and mappings.
  66. matrix_static_files_file_matrix_client_property_m_homeserver_base_url: https://homeserver.molecule.invalid
  67. matrix_static_files_file_matrix_client_property_m_identity_server_base_url: ''
  68. matrix_static_files_file_matrix_client_property_m_integrations_managers_api_url: https://integrations.molecule.invalid/api
  69. matrix_static_files_file_matrix_client_property_m_integrations_managers_ui_url: https://integrations.molecule.invalid/ui
  70. matrix_static_files_file_matrix_client_property_io_element_jitsi_preferred_domain: jitsi.molecule.local
  71. matrix_static_files_file_matrix_client_property_org_matrix_msc2965_authentication_enabled: true
  72. matrix_static_files_file_matrix_client_property_org_matrix_msc2965_authentication_issuer: https://auth.molecule.invalid/
  73. matrix_static_files_file_matrix_client_property_org_matrix_msc2965_authentication_account: https://auth.molecule.invalid/account
  74. matrix_static_files_file_matrix_client_property_org_matrix_msc3575_proxy_url: https://sync.molecule.invalid
  75. matrix_static_files_file_matrix_client_property_m_tile_server_entries_enabled: true
  76. matrix_static_files_file_matrix_client_property_m_tile_server_map_style_url: https://maps.molecule.invalid/style.json
  77. matrix_static_files_file_matrix_client_property_io_element_e2ee_default: false
  78. matrix_static_files_file_matrix_client_property_io_element_e2ee_force_disable: true
  79. matrix_static_files_file_matrix_client_property_cc_etke_ketesa_custom:
  80. allow:
  81. - molecule-client
  82. marker: ketesa-custom
  83. matrix_static_files_file_matrix_client_property_org_matrix_msc4143_rtc_foci_custom:
  84. - type: livekit
  85. livekit_service_url: https://livekit.molecule.invalid
  86. matrix_static_files_file_matrix_client_configuration_extension_json: |
  87. {
  88. "m.homeserver": {
  89. "molecule_extension_marker": "recursive-merge-reached"
  90. },
  91. "org.example.molecule": {
  92. "enabled": true,
  93. "sequence": 42
  94. }
  95. }
  96. matrix_static_files_file_matrix_server_property_m_server: federation.molecule.local:9448
  97. matrix_static_files_file_matrix_server_configuration_extension_json: |
  98. {
  99. "org.example.molecule": "server-extension-reached"
  100. }
  101. matrix_static_files_file_matrix_support_enabled: true
  102. matrix_static_files_file_matrix_support_property_m_contacts:
  103. - matrix_id: "@support:molecule.local"
  104. email_address: support@molecule.invalid
  105. role: m.role.admin
  106. matrix_static_files_file_matrix_support_property_m_support_page: https://support.molecule.invalid
  107. matrix_static_files_file_matrix_support_configuration_extension_json: |
  108. {
  109. "org.example.molecule": {
  110. "channel": "support-extension-reached"
  111. }
  112. }
  113. matrix_static_files_file_matrix_mautrix_property_fi_mau_bridges_custom:
  114. - https://telegram.molecule.invalid
  115. - https://signal.molecule.invalid
  116. matrix_static_files_file_matrix_mautrix_configuration_extension_json: |
  117. {
  118. "fi.mau.external_bridge_servers": [
  119. "https://external-bridges.molecule.invalid"
  120. ],
  121. "org.example.molecule": "mautrix-extension-reached"
  122. }
  123. env:
  124. # Workaround for https://github.com/ansible/molecule/issues/4391
  125. ANSIBLE_ROLES_PATH: ${MOLECULE_PROJECT_DIRECTORY}/../..:/.ansible/roles:/usr/share/ansible/roles:/etc/ansible/roles:${ANSIBLE_HOME:-~/.ansible}/roles
  126. scenario:
  127. test_sequence:
  128. - dependency
  129. - cleanup
  130. - destroy
  131. - syntax
  132. - create
  133. - prepare
  134. - converge
  135. - idempotence
  136. - verify
  137. - cleanup
  138. - destroy
  139. verifier:
  140. name: ansible