mirror of
https://github.com/spantaleev/matrix-docker-ansible-deploy.git
synced 2026-09-02 22:13:13 +00:00
149 lines
7.1 KiB
YAML
149 lines
7.1 KiB
YAML
# SPDX-FileCopyrightText: 2026 Slavi Pantaleev
|
|
#
|
|
# SPDX-License-Identifier: AGPL-3.0-or-later
|
|
|
|
---
|
|
dependency:
|
|
name: galaxy
|
|
options:
|
|
requirements-file: requirements.yml
|
|
force: true
|
|
driver:
|
|
name: docker
|
|
platforms:
|
|
- name: matrix-static-files-${MOLECULE_DISTRO:-ubuntu2604}-default
|
|
image: "geerlingguy/docker-${MOLECULE_DISTRO:-ubuntu2604}-ansible:latest"
|
|
command: ${MOLECULE_DOCKER_COMMAND:-""}
|
|
volumes:
|
|
- /sys/fs/cgroup:/sys/fs/cgroup:rw
|
|
cgroupns_mode: host
|
|
privileged: true
|
|
pre_build_image: true
|
|
provisioner:
|
|
name: ansible
|
|
config_options:
|
|
defaults:
|
|
callback_result_format: yaml
|
|
inventory:
|
|
group_vars:
|
|
all:
|
|
# verify.yml is a separate play, so paths and runtime settings it reads are
|
|
# pinned here rather than relying on role defaults remaining in scope.
|
|
matrix_static_files_base_path: /matrix/static-files
|
|
matrix_static_files_config_path: /matrix/static-files/config
|
|
matrix_static_files_public_path: /matrix/static-files/public
|
|
matrix_static_files_container_network: matrix-static-files-molecule
|
|
matrix_static_files_container_http_host_bind_port: ''
|
|
|
|
# Exercise the generated environment and prove the server listens on what
|
|
# the role rendered rather than static-web-server's own port default.
|
|
matrix_static_files_environment_variable_server_port: 18082
|
|
matrix_static_files_environment_variable_server_log_level: debug
|
|
matrix_static_files_environment_variable_server_log_remote_address: true
|
|
matrix_static_files_environment_variable_server_ignore_hidden_files: false
|
|
matrix_static_files_environment_variables_additional_variables: |
|
|
MOLECULE_STATIC_FILES_MARKER=environment-reached
|
|
matrix_static_files_files_cache_time_hours: 7
|
|
|
|
# Render both router families with non-default routing knobs. Traefik does
|
|
# not need to run: the file and the attached container labels are inspected.
|
|
matrix_static_files_container_labels_traefik_entrypoints: web
|
|
matrix_static_files_container_labels_well_known_matrix_endpoint_traefik_hostname: matrix-well-known.molecule.local
|
|
matrix_static_files_container_labels_well_known_matrix_endpoint_traefik_path_prefix: /molecule-well-known
|
|
matrix_static_files_container_labels_well_known_matrix_endpoint_traefik_priority: 67
|
|
matrix_static_files_container_labels_well_known_matrix_endpoint_middleware_compress_minResponseBodyBytes: 321
|
|
matrix_static_files_container_labels_base_domain_enabled: true
|
|
matrix_static_files_container_labels_base_domain_traefik_hostname: base.molecule.local
|
|
matrix_static_files_container_labels_base_domain_traefik_path_prefix: /molecule-base
|
|
matrix_static_files_container_labels_base_domain_traefik_priority: 43
|
|
matrix_static_files_container_labels_base_domain_root_path_redirection_enabled: false
|
|
matrix_static_files_container_labels_additional_labels: |
|
|
molecule.scenario=matrix-static-files
|
|
|
|
matrix_static_files_file_index_html_template: |-
|
|
<!doctype html>
|
|
<html>
|
|
<body>Molecule static-files index marker</body>
|
|
</html>
|
|
|
|
# All URLs are inert data: the static server never contacts them. The mix
|
|
# exercises optional sections, recursive extensions, lists and mappings.
|
|
matrix_static_files_file_matrix_client_property_m_homeserver_base_url: https://homeserver.molecule.invalid
|
|
matrix_static_files_file_matrix_client_property_m_identity_server_base_url: ''
|
|
matrix_static_files_file_matrix_client_property_m_integrations_managers_api_url: https://integrations.molecule.invalid/api
|
|
matrix_static_files_file_matrix_client_property_m_integrations_managers_ui_url: https://integrations.molecule.invalid/ui
|
|
matrix_static_files_file_matrix_client_property_io_element_jitsi_preferred_domain: jitsi.molecule.local
|
|
matrix_static_files_file_matrix_client_property_org_matrix_msc2965_authentication_enabled: true
|
|
matrix_static_files_file_matrix_client_property_org_matrix_msc2965_authentication_issuer: https://auth.molecule.invalid/
|
|
matrix_static_files_file_matrix_client_property_org_matrix_msc2965_authentication_account: https://auth.molecule.invalid/account
|
|
matrix_static_files_file_matrix_client_property_org_matrix_msc3575_proxy_url: https://sync.molecule.invalid
|
|
matrix_static_files_file_matrix_client_property_m_tile_server_entries_enabled: true
|
|
matrix_static_files_file_matrix_client_property_m_tile_server_map_style_url: https://maps.molecule.invalid/style.json
|
|
matrix_static_files_file_matrix_client_property_io_element_e2ee_default: false
|
|
matrix_static_files_file_matrix_client_property_io_element_e2ee_force_disable: true
|
|
matrix_static_files_file_matrix_client_property_cc_etke_ketesa_custom:
|
|
allow:
|
|
- molecule-client
|
|
marker: ketesa-custom
|
|
matrix_static_files_file_matrix_client_property_org_matrix_msc4143_rtc_foci_custom:
|
|
- type: livekit
|
|
livekit_service_url: https://livekit.molecule.invalid
|
|
matrix_static_files_file_matrix_client_configuration_extension_json: |
|
|
{
|
|
"m.homeserver": {
|
|
"molecule_extension_marker": "recursive-merge-reached"
|
|
},
|
|
"org.example.molecule": {
|
|
"enabled": true,
|
|
"sequence": 42
|
|
}
|
|
}
|
|
|
|
matrix_static_files_file_matrix_server_property_m_server: federation.molecule.local:9448
|
|
matrix_static_files_file_matrix_server_configuration_extension_json: |
|
|
{
|
|
"org.example.molecule": "server-extension-reached"
|
|
}
|
|
|
|
matrix_static_files_file_matrix_support_enabled: true
|
|
matrix_static_files_file_matrix_support_property_m_contacts:
|
|
- matrix_id: "@support:molecule.local"
|
|
email_address: support@molecule.invalid
|
|
role: m.role.admin
|
|
matrix_static_files_file_matrix_support_property_m_support_page: https://support.molecule.invalid
|
|
matrix_static_files_file_matrix_support_configuration_extension_json: |
|
|
{
|
|
"org.example.molecule": {
|
|
"channel": "support-extension-reached"
|
|
}
|
|
}
|
|
|
|
matrix_static_files_file_matrix_mautrix_property_fi_mau_bridges_custom:
|
|
- https://telegram.molecule.invalid
|
|
- https://signal.molecule.invalid
|
|
matrix_static_files_file_matrix_mautrix_configuration_extension_json: |
|
|
{
|
|
"fi.mau.external_bridge_servers": [
|
|
"https://external-bridges.molecule.invalid"
|
|
],
|
|
"org.example.molecule": "mautrix-extension-reached"
|
|
}
|
|
env:
|
|
# Workaround for https://github.com/ansible/molecule/issues/4391
|
|
ANSIBLE_ROLES_PATH: ${MOLECULE_PROJECT_DIRECTORY}/../..:/.ansible/roles:/usr/share/ansible/roles:/etc/ansible/roles:${ANSIBLE_HOME:-~/.ansible}/roles
|
|
scenario:
|
|
test_sequence:
|
|
- dependency
|
|
- cleanup
|
|
- destroy
|
|
- syntax
|
|
- create
|
|
- prepare
|
|
- converge
|
|
- idempotence
|
|
- verify
|
|
- cleanup
|
|
- destroy
|
|
verifier:
|
|
name: ansible
|