Commit dcccfa2
fix(mail-gateway): wire Brevo verified sender and DNS role 409 idempotency (#18)
- Add BREVO_FROM_EMAIL / BREVO_FROM_NAME env vars so the gateway uses a
verified Brevo sender address instead of the per-profile address (which
is not registered in Brevo). Profile sender_email becomes Reply-To so
replies still land in the correct mailbox.
- Default mail_platform_brevo_sender_email to server@lv3.org (verified).
- Inject BREVO_FROM_EMAIL and BREVO_FROM_NAME in both env templates
(mail-gateway.env.j2 and mail-gateway.env.ctmpl.j2).
- hetzner_dns_records: treat HTTP 409 Conflict as "record already exists"
(no change needed) rather than a hard failure. Prevents converge aborts
when DNS records are already present in the zone.
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>1 parent d46803e commit dcccfa2
5 files changed
Lines changed: 25 additions & 8 deletions
File tree
- collections/ansible_collections/lv3/platform/roles
- hetzner_dns_records/tasks
- mail_platform_runtime
- defaults
- files/mail-gateway
- templates
Lines changed: 5 additions & 3 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
128 | 128 | | |
129 | 129 | | |
130 | 130 | | |
| 131 | + | |
131 | 132 | | |
132 | 133 | | |
133 | 134 | | |
| |||
140 | 141 | | |
141 | 142 | | |
142 | 143 | | |
143 | | - | |
144 | | - | |
145 | | - | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
146 | 148 | | |
147 | 149 | | |
148 | 150 | | |
| |||
Lines changed: 2 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
59 | 59 | | |
60 | 60 | | |
61 | 61 | | |
62 | | - | |
63 | | - | |
| 62 | + | |
| 63 | + | |
64 | 64 | | |
65 | 65 | | |
66 | 66 | | |
| |||
collections/ansible_collections/lv3/platform/roles/mail_platform_runtime/files/mail-gateway/app.py
Lines changed: 14 additions & 3 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
26 | 26 | | |
27 | 27 | | |
28 | 28 | | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
29 | 33 | | |
30 | 34 | | |
31 | 35 | | |
| |||
387 | 391 | | |
388 | 392 | | |
389 | 393 | | |
| 394 | + | |
| 395 | + | |
| 396 | + | |
| 397 | + | |
| 398 | + | |
390 | 399 | | |
391 | 400 | | |
392 | | - | |
393 | | - | |
| 401 | + | |
| 402 | + | |
394 | 403 | | |
395 | 404 | | |
396 | 405 | | |
| |||
399 | 408 | | |
400 | 409 | | |
401 | 410 | | |
402 | | - | |
| 411 | + | |
| 412 | + | |
| 413 | + | |
403 | 414 | | |
404 | 415 | | |
405 | 416 | | |
| |||
Lines changed: 2 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
| 3 | + | |
| 4 | + | |
3 | 5 | | |
4 | 6 | | |
5 | 7 | | |
| |||
Lines changed: 2 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
| 3 | + | |
| 4 | + | |
3 | 5 | | |
4 | 6 | | |
5 | 7 | | |
| |||
0 commit comments