Files
mesh-catalog/modules/mailu
jochen fe2040c65e
mesh/merge-gate head fe2040c65ea2 merged into trunk 53e51864969f — pass: builds baserow, gitea, grafana, home-assistant, icecast, influxdb, letta, mailu, n…
mesh/repo-check head fe2040c65ea2 merged into trunk 53e51864969f — pass: THE CHANGE ALTERS ITS OWN CHECK (merge-check.sh): main's version judged it; the ch…
mesh/delivery-group group fix/342-a-secret-is-never-a-setting ready: every member ready, and composed together they pass
mesh/delivery superseded: a newer head of the same pull request
Keep every password, token and API key the vault's, never a setting (hq issue 342)
A setting outranked the vault: baserow, grafana, letta and unifi merged a layer's
password over the ${secret:...} in their runtime config, and the gitea,
home-assistant, icecast, influxdb, mailu and nextcloud clients read the settings
file before the vault's file. A secret in a setting cannot be rotated and is read
back by the settings verb.

The four files now keep their password protected, so the controller refuses a
setting of it. The six clients ignore a secret in the settings file and say so
once, by key and never with the value; icecast reads its admin password from the
vault's file. checks/secrets refuses a mergeable file whose secret a layer could
replace; searxng's nested server.secret_key is listed as known until the
controller protects a nested key.
2026-10-13 07:32:19 +02:00
..

mailu

Mail — Mailu, with its provisioner (the smtp provision) and tools, on the tool runtime.

Settings

A definition names no mesh (novox/hq ADR 0112, ADR 0155), so the values that are this installation's are settings on the assignment, settings set mailu <file>:

{"domain": "…", "sitename": "…", "website": "https://…", "proxy-address": "…"}

domain is the mail domain (also the provisioner's, for a consumer's address); sitename and website are shown by the web front; proxy-address is what REAL_IP_FROM trusts a real-IP header from — the address the proxy forwards with. The front's own hostname is the name of its web route, told to it by the mesh.