Add a Molecule scenario for heisenbridge, and the hostname family to the shared context

The third shape: a non-mautrix bridge. It confirms the scaffolding is not
mautrix-specific, and it is laid out differently enough to be worth having -
everything sits directly under the base path rather than in config/ and
data/ subdirectories, the owner and homeserver URL are passed on the command
line rather than through a config file, so the unit is where they can be
checked, and identd optionally binds host port 113.

matrix-base's matrix_server_fqn_* family moved into the shared context;
18 of the roles here read one of them.

Three roles now, three shapes - HTTP receiver, mautrix bridge, non-mautrix
bridge - and the scaffolding took no per-shape special-casing beyond each
role's own variables.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
Slavi Pantaleev
2026-08-27 18:02:53 +03:00
co-authored by Claude Opus 5
parent f320bfc93b
commit 8cd6ea1eef
6 changed files with 347 additions and 0 deletions
+24
View File
@@ -54,3 +54,27 @@ matrix_bridges_relay_enabled: false
matrix_bridges_exposure_enabled: true
matrix_bridges_exposure_hostname: molecule.local
matrix_bridges_exposure_path_prefix: /bridges
# --- Public hostnames (matrix-base) ----------------------------------------
#
# 18 of the roles here read one of these. Rendered against the scenario's
# matrix_domain rather than left as Jinja, so a scenario can read them in
# verify.yml without the role's defaults being in scope.
matrix_server_fqn_matrix: matrix.molecule.local
matrix_server_fqn_matrix_federation: matrix.molecule.local
matrix_server_fqn_element: element.molecule.local
matrix_server_fqn_hydrogen: hydrogen.molecule.local
matrix_server_fqn_cinny: cinny.molecule.local
matrix_server_fqn_sable: sable.molecule.local
matrix_server_fqn_schildichat: schildichat.molecule.local
matrix_server_fqn_fluffychat: fluffychat.molecule.local
matrix_server_fqn_buscarron: buscarron.molecule.local
matrix_server_fqn_etherpad: etherpad.molecule.local
matrix_server_fqn_jitsi: jitsi.molecule.local
matrix_server_fqn_grafana: stats.molecule.local
matrix_server_fqn_sygnal: sygnal.molecule.local
matrix_server_fqn_mautrix_wsproxy: wsproxy.molecule.local
matrix_server_fqn_ntfy: ntfy.molecule.local
matrix_server_fqn_rageshake: rageshake.molecule.local
matrix_server_fqn_matrixto: mt.molecule.local