docs(adr-0011): record the mail.gitborg.se sending domain #60

Sammanfogat
supernaut sammanfogade 1 incheckning från docs/mail-domain-adr-0011 in i main 2026-07-31 01:00:15 +00:00
Ägare

ADR 0011 documented no-reply@email.gitborg.se as the sender for both the portal (Sweego HTTP API)
and Forgejo (Sweego SMTP relay), and asserted that email.gitborg.se "must be a verified Sweego
sending domain (SPF/DKIM)"
.

That is now false. The sending domain moved to mail.gitborg.se when the Sweego credentials were
reissued on 2026-07-31. Confirmed against live DNS: mail.gitborg.se carries the DKIM delegation
(sweego1._domainkey.mail.gitborg.se → …-dkim.sweego.co) and its own _dmarc record, while
email.gitborg.se has no DNS records left at all.

Approach

Recorded as an inline _Amended 2026-07-31:_ note — the convention already used in ADR 0006 —
rather than a silent rewrite. The ISMS cites decisions/ as the auditable decision trail for control
A.8.32, so an ADR that quietly revises its factual claims undermines the thing it is evidence for.
The amendment states what the domain was, and that it changed when the credentials were reissued.

The entry also now:

  • describes DKIM as delegated to Sweego by CNAME, which is how it is actually set up, rather than
    the vaguer "SPF/DKIM";
  • notes that alert mail sends from alerts@ on the same domain;
  • warns that the From address is configured in two places nothing keeps in sync —
    forgejo_mailer_from in bitborg-infra and a hardcoded constant in bitborg-web — and that they came
    apart on this move, so a future domain change must touch both repos.

That last point is the part worth having in the ADR: the drift was not a typo, it was a structural
consequence of the sender being defined twice, and the next person to move the domain will hit it
again unless the ADR says so.

ADR 0011 documented `no-reply@email.gitborg.se` as the sender for both the portal (Sweego HTTP API) and Forgejo (Sweego SMTP relay), and asserted that `email.gitborg.se` *"must be a verified Sweego sending domain (SPF/DKIM)"*. That is now false. The sending domain moved to `mail.gitborg.se` when the Sweego credentials were reissued on 2026-07-31. Confirmed against live DNS: `mail.gitborg.se` carries the DKIM delegation (`sweego1._domainkey.mail.gitborg.se` → `…-dkim.sweego.co`) and its own `_dmarc` record, while `email.gitborg.se` has no DNS records left at all. ## Approach Recorded as an **inline `_Amended 2026-07-31:_` note** — the convention already used in ADR 0006 — rather than a silent rewrite. The ISMS cites `decisions/` as the auditable decision trail for control A.8.32, so an ADR that quietly revises its factual claims undermines the thing it is evidence for. The amendment states what the domain was, and that it changed when the credentials were reissued. The entry also now: - describes DKIM as **delegated to Sweego by CNAME**, which is how it is actually set up, rather than the vaguer "SPF/DKIM"; - notes that alert mail sends from `alerts@` on the same domain; - warns that the From address is configured in **two places nothing keeps in sync** — `forgejo_mailer_from` in bitborg-infra and a hardcoded constant in bitborg-web — and that they came apart on this move, so a future domain change must touch both repos. That last point is the part worth having in the ADR: the drift was not a typo, it was a structural consequence of the sender being defined twice, and the next person to move the domain will hit it again unless the ADR says so.
supernaut lade till 1 incheckning 2026-07-31 00:41:48 +00:00
docs(adr-0011): record the mail.gitborg.se sending domain
Alla kontroller lyckades
ci / ci (pull_request) Successful in 12s
1062cdef37
The sending domain moved from email.gitborg.se to mail.gitborg.se when the
Sweego credentials were reissued. ADR 0011 documented the old domain and
asserted it "must be a verified Sweego sending domain" — which is now false:
mail.gitborg.se carries the DKIM delegation and _dmarc record, and the old
domain has no DNS records left.

Recorded as an inline amendment (the ADR 0006 convention) rather than a silent
rewrite, so the decision trail stays auditable.

Also names the cross-repo duplication: the From address lives in both
forgejo_mailer_from (gitborg-infra) and a hardcoded constant in gitborg-web,
with nothing asserting they agree. They desynchronised on this move — the
infra side was updated, the portal was not — so the ADR now warns that a
domain change must touch both repos.
supernaut tvångsskickade docs/mail-domain-adr-0011 från 1062cdef37
Alla kontroller lyckades
ci / ci (pull_request) Successful in 12s
till dad95231aa
Alla kontroller lyckades
ci / ci (pull_request) Successful in 16s
2026-07-31 00:59:47 +00:00
Jämför
supernaut sammanfogade incheckning 1f8d03dd49 till main 2026-07-31 01:00:15 +00:00
supernaut tog bort grenen docs/mail-domain-adr-0011 2026-07-31 01:00:15 +00:00
Logga in för att delta i denna konversation.
Inga granskare
Ingen milstolpe
Inget projekt
Inga tilldelade
1 deltagare
Notiser
Förfallodatum
Förfallodatumet är ogiltigt eller utanför gränserna. Använd formatet "åååå-mm-dd".

Inget förfallodatum satt.

Beroenden

Inga beroenden satta

Referens
bitborg/bitborg-docs!60
Ingen beskrivning angiven.