mirror of
https://github.com/spantaleev/matrix-docker-ansible-deploy.git
synced 2026-09-02 05:53:14 +00:00
120 lines
5.4 KiB
YAML
120 lines
5.4 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-synapse-auto-compressor-${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:
|
|
# A real single-process Synapse supplies its migrated schema and the state groups
|
|
# exercised by the compressor. Optional Synapse topology stays out of this scenario.
|
|
matrix_synapse_workers_enabled: false
|
|
matrix_synapse_redis_enabled: false
|
|
matrix_synapse_reverse_proxy_companion_enabled: false
|
|
matrix_synapse_username: matrix
|
|
matrix_synapse_uid: 1234
|
|
matrix_synapse_gid: 1234
|
|
matrix_synapse_container_network: synapse-auto-compressor-molecule
|
|
matrix_synapse_container_client_api_port: 18008
|
|
matrix_synapse_container_client_api_host_bind_port: ''
|
|
matrix_synapse_container_master_extra_arguments:
|
|
- "--health-cmd='curl -fSs http://localhost:18008/health'"
|
|
matrix_synapse_container_labels_traefik_enabled: false
|
|
matrix_synapse_container_labels_traefik_hostname: matrix.molecule.local
|
|
matrix_synapse_systemd_service_post_start_delay_seconds: 0
|
|
|
|
matrix_synapse_database_host: matrix-postgres-molecule
|
|
matrix_synapse_database_port: 5432
|
|
matrix_synapse_database_user: molecule_compressor
|
|
matrix_synapse_database_password: molecule_compressor_pg_password_9b742d
|
|
matrix_synapse_database_database: molecule_compressor
|
|
|
|
matrix_synapse_macaroon_secret_key: molecule_compressor_macaroon_4b3f891d
|
|
matrix_synapse_registration_shared_secret: molecule_compressor_registration_27ed51a8
|
|
matrix_synapse_form_secret: molecule_compressor_form_96a04c7b
|
|
matrix_synapse_password_config_pepper: molecule_compressor_pepper_c0f371e6
|
|
matrix_synapse_public_baseurl: http://matrix.molecule.local:18008/
|
|
matrix_synapse_rc_message:
|
|
per_second: 1000
|
|
burst_count: 1000
|
|
matrix_synapse_trusted_key_servers: []
|
|
matrix_synapse_suppress_key_server_warning: true
|
|
matrix_synapse_federation_enabled: false
|
|
matrix_synapse_federation_port_openid_resource_required: false
|
|
matrix_synapse_tls_federation_listener_enabled: false
|
|
matrix_synapse_metrics_enabled: false
|
|
matrix_synapse_email_enabled: false
|
|
matrix_synapse_matrix_authentication_service_enabled: false
|
|
matrix_authentication_service_migration_in_progress: false
|
|
matrix_synapse_ext_synapse_s3_storage_provider_enabled: false
|
|
matrix_s3_media_store_enabled: false
|
|
matrix_playbook_ssl_enabled: false
|
|
|
|
# These non-defaults exercise every role-supplied runtime and scheduling input.
|
|
matrix_synapse_auto_compressor_uid: 1234
|
|
matrix_synapse_auto_compressor_gid: 1234
|
|
matrix_synapse_auto_compressor_container_network: synapse-auto-compressor-molecule
|
|
matrix_synapse_auto_compressor_container_additional_networks:
|
|
- synapse-auto-compressor-extra-molecule
|
|
matrix_synapse_auto_compressor_container_extra_arguments:
|
|
- "--label=molecule.contract=synapse-auto-compressor"
|
|
matrix_synapse_auto_compressor_database_hostname: matrix-postgres-molecule
|
|
matrix_synapse_auto_compressor_database_port: 5432
|
|
matrix_synapse_auto_compressor_database_username: molecule_compressor
|
|
matrix_synapse_auto_compressor_database_password: molecule_compressor_pg_password_9b742d
|
|
matrix_synapse_auto_compressor_database_name: molecule_compressor
|
|
matrix_synapse_auto_compressor_schedule: "Mon..Fri *-*-* 03:17:00"
|
|
matrix_synapse_auto_compressor_schedule_randomized_delay_sec: 47min
|
|
matrix_synapse_auto_compressor_chunk_size: 128
|
|
matrix_synapse_auto_compressor_chunks_to_compress: 2
|
|
# Keep the transient container alive briefly after genuine compression so verify.yml
|
|
# can inspect the runtime contract before Type=oneshot removes it.
|
|
matrix_synapse_auto_compressor_command: >-
|
|
synapse_auto_compressor -p $$POSTGRES_LOCATION -c 128 -n 2 && sleep 45
|
|
|
|
# verify.yml is a separate play, so paths derived from role defaults are pinned here.
|
|
matrix_synapse_base_path: /matrix/synapse
|
|
matrix_synapse_config_dir_path: /matrix/synapse/config
|
|
matrix_synapse_storage_path: /matrix/synapse/storage
|
|
matrix_synapse_media_store_path: /matrix/synapse/storage/media-store
|
|
matrix_synapse_auto_compressor_base_path: /matrix/synapse-auto-compressor
|
|
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
|