Matrix Docker Ansible eploy
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.
 
 
 

98 lignes
3.9 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-ketesa-${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. # Ketesa is a Synapse administration client. The complete playbook supplies this
  30. # selection before the role runs; a role-scoped scenario must do so directly.
  31. matrix_homeserver_implementation: synapse
  32. # verify.yml is a separate play where the role's defaults are out of scope, so
  33. # paths which it reads are pinned to the values the role derives during converge.
  34. matrix_ketesa_base_path: /matrix/ketesa
  35. matrix_ketesa_config_path: /matrix/ketesa/config
  36. # Use a scenario-specific network and a container identity unlike both the matrix
  37. # user and the image defaults, so the runtime assertions cannot pass by coincidence.
  38. matrix_ketesa_container_network: matrix-ketesa-molecule
  39. matrix_ketesa_container_uid: 28080
  40. matrix_ketesa_container_gid: 28081
  41. matrix_ketesa_container_http_host_bind_port: ''
  42. # These values differ from both Ketesa and role defaults. No Synapse is expected at
  43. # this URL: the static client only publishes it to the browser in config.json.
  44. matrix_ketesa_config_restrictBaseUrl: https://admin-api.molecule.local # noqa var-naming
  45. matrix_ketesa_config_externalAuthProvider: true # noqa var-naming
  46. matrix_ketesa_config_wellKnownDiscovery: false # noqa var-naming
  47. matrix_ketesa_config_corsCredentials: include # noqa var-naming
  48. matrix_ketesa_config_asManagedUsers_custom: # noqa var-naming
  49. # Molecule applies shell-style interpolation to this file, so `$$` becomes the
  50. # single end-of-string anchor which reaches Ansible and the rendered JSON.
  51. - '^@molecule_bridge_[a-z0-9]+:molecule\.local$$'
  52. matrix_ketesa_config_menu:
  53. - label: Molecule support
  54. i18n:
  55. de: Molekül-Support
  56. fr: Assistance Molécule
  57. icon: SupportAgent
  58. url: https://support.molecule.local/ketesa
  59. # Traefik itself is not needed. The deliberately non-default exposure values make
  60. # the label file a precise record of the public wiring the role would deploy.
  61. matrix_ketesa_hostname: ketesa-admin.molecule.local
  62. matrix_ketesa_path_prefix: /molecule-ketesa
  63. matrix_ketesa_container_labels_traefik_enabled: true
  64. matrix_ketesa_container_labels_traefik_docker_network: matrix-ketesa-molecule
  65. matrix_ketesa_container_labels_traefik_priority: 731
  66. matrix_ketesa_container_labels_traefik_entrypoints: web
  67. matrix_ketesa_container_labels_traefik_tls: false
  68. matrix_ketesa_container_labels_traefik_ipallowlist_sourcerange:
  69. - 192.0.2.0/24
  70. - 2001:db8::/32
  71. matrix_ketesa_container_labels_traefik_additional_response_headers_custom:
  72. X-Molecule-Ketesa: role-scenario
  73. matrix_ketesa_container_labels_additional_labels: |
  74. molecule.ketesa.coverage=enabled
  75. env:
  76. # Workaround for https://github.com/ansible/molecule/issues/4391
  77. ANSIBLE_ROLES_PATH: ${MOLECULE_PROJECT_DIRECTORY}/../..:/.ansible/roles:/usr/share/ansible/roles:/etc/ansible/roles:${ANSIBLE_HOME:-~/.ansible}/roles
  78. scenario:
  79. test_sequence:
  80. - dependency
  81. - cleanup
  82. - destroy
  83. - syntax
  84. - create
  85. - prepare
  86. - converge
  87. - idempotence
  88. - verify
  89. - cleanup
  90. - destroy
  91. verifier:
  92. name: ansible