Email Configuration π¬ΒΆ
This page documents the administrator-facing surface of outgoing email configuration. For the plugin contract and extension rules, see email.md.
Infinito.Nexus exposes outgoing email settings through the email lookup
plugin. All role templates and tasks read email settings via lookup('email')
(global) or lookup('email', '<application_id>') (per-app). No global
SYSTEM_EMAIL_* variable file ships with the project. Resolution defaults
derive from project-wide inputs: DOMAIN_PRIMARY, TLS_ENABLED,
DOCKER_IN_CONTAINER, the web-app-mailu group membership, and the
no-reply user.
Resolved Keys πΒΆ
Every call returns a flat dict with the following keys. Each key MAY be
overridden from inventory by setting the matching SYSTEM_EMAIL_<KEY> variable
(uppercase, with the SYSTEM_EMAIL_ prefix).
Key |
Override Variable |
Default |
Meaning |
|---|---|---|---|
|
|
|
Whether outgoing mail is enabled. |
|
|
|
SMTP/client timeout in seconds. |
|
|
|
True when a |
|
|
|
One of |
|
|
|
Primary mail domain. |
|
|
|
True when SMTPS SHOULD be used. |
|
|
|
SMTP port. |
|
|
|
SMTP host. |
|
|
|
Whether SMTP auth is required. |
|
|
|
Whether STARTTLS is used. |
|
|
|
Whether SMTP delivery is enabled. |
|
|
email of the |
Envelope/from address. |
|
|
equal to |
SMTP username. |
|
|
|
SMTP password. |
Per-Application Overrides π§©ΒΆ
Applications MAY override any subset of these keys under
compose.services.email in their role or inventory.
Role defaults:
# roles/<application_id>/config/main.yml
compose:
services:
email:
host: smtp.app.example.org
port: 587
tls: true
Inventory overrides:
# group_vars/<group>.yml or host_vars/<host>.yml
applications:
web-app-nextcloud:
compose:
services:
email:
username: nextcloud@example.org
Overrides are merged on top of the resolved defaults. Keys MUST use the short, lowercased names listed above.
Precedence πΒΆ
For each key, the first defined source wins:
applications['<application_id>'].compose.services.email.<key>, applied only when anapplication_idis passed.A
SYSTEM_EMAIL_<KEY>variable defined in inventory, group vars, or host vars. No such file ships with the project. This form is an escape hatch for site-specific overrides.The pluginβs built-in fallback computed from
DOMAIN_PRIMARY, theweb-app-mailugroup, theno-replyuser, and related inputs.
See Also πΒΆ
email.md for the plugin contract and extension rules.