Files
matrix-docker-ansible-deploy/roles/custom/matrix-bridge-postmoogle/molecule/default/molecule.yml
T

94 lines
3.6 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: postmoogle-${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:
matrix_bridge_postmoogle_container_network: postmoogle-molecule
# The shared stub prepare.yml stands up. It accepts the password login and returns
# the full MXID corresponding to this deliberately non-default localpart.
matrix_bridge_postmoogle_homeserver: http://matrix.molecule.local:8008
matrix_bridge_postmoogle_login: molecule-postmoogle
matrix_bridge_postmoogle_password: molecule_matrix_password_d8a314
# Postgres is what group_vars/matrix_servers selects whenever the playbook-managed
# Postgres is enabled. The name, user and password differ from the role's defaults,
# so a migrated schema proves that the role composed and the process used this DSN.
matrix_bridge_postmoogle_database_engine: postgres
matrix_bridge_postmoogle_database_hostname: matrix-postgres-molecule
matrix_bridge_postmoogle_database_name: molecule_postmoogle
matrix_bridge_postmoogle_database_username: molecule_postmoogle
matrix_bridge_postmoogle_database_password: molecule_pg_password_7e9c42
# These differ from the role's defaults and are asserted against the parsed env file.
matrix_bridge_postmoogle_domains:
- mail.molecule.local
- inbound.molecule.local
matrix_bridge_postmoogle_prefix: "!molecule-mail"
matrix_bridge_postmoogle_maxsize: "73"
matrix_bridge_postmoogle_loglevel: DEBUG
matrix_bridge_postmoogle_admins:
- "@molecule-admin:molecule.local"
- "@mail-.*:molecule.local"
# A valid 32-byte AES key, deliberately not empty like the role default.
matrix_bridge_postmoogle_data_secret: 0123456789abcdef0123456789abcdef
matrix_bridge_postmoogle_proxies:
- 192.0.2.44
matrix_bridge_postmoogle_mailboxes_forwarded:
- forwarded
matrix_bridge_postmoogle_mailboxes_reserved:
- reserved
# Port 25 is inappropriate for a test and can already be occupied. Both the
# in-container port and the high host port are non-default, so an SMTP exchange on
# the former plus Docker's accepted binding for the latter proves the wiring.
matrix_bridge_postmoogle_port: "2626"
matrix_bridge_postmoogle_smtp_host_bind_port: "25252"
# verify.yml is a separate play, where the role's defaults are out of scope.
matrix_bridge_postmoogle_base_path: /matrix/postmoogle
matrix_bridge_postmoogle_config_path: /matrix/postmoogle/config
matrix_bridge_postmoogle_data_path: /matrix/postmoogle/data
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