Add GoDaddy provider support
@rtanglao ya está trabajando en esto.
Desde el 15/7/2026.
Evaluación
Este issue todavía no se ha evaluado.
Descripción
Add GoDaddy provider support
Add godaddy as a remediation provider in records.json so both the CLI
(--provider godaddy) and the web app emit GoDaddy-panel-specific fix instructions
for the 13-record Thundermail set (1 MX, 5 SRV, 4 TXT, 3 DKIM CNAME).
Internal ticket: TBPRO 6850 (6850_GODADDY_CUSTOM_DOMAIN).
⚠️ Ship as UNVERIFIED first. Field conventions below are derived from GoDaddy's
official help docs + a screenshot of the live SRV add-record form — but not yet
confirmed against a live end-to-end add on a real GoDaddy-hosted domain. Follow the
spaceship precedent: prefix the header stringsUNVERIFIED —until validated, then
drop the prefix (see the "Pending verification" pattern in recent commits).
Add-record model
GoDaddy uses a single Add-record form with a Type dropdown (like bunny/spaceship,
not per-type sections like cosmotown).
Path: Domain Portfolio → select domain → DNS tab → DNS Records → Add New Record →
choose Type, fill fields, optional Add More Records, then Save / Save All Records.
Key conventions:
- Apex host = literal
@(GoDaddy explicitly uses@for the root — do NOT leave
it empty, unlikebunny/cosmotown). So use the{host}token, not{subhost}. - MX and SRV have separate Priority (and Weight/Port for SRV) fields — never fold the
priority into Value. - TTL defaults to "1 Hour"; leave it unset.
- On Save, domains with Domain Protection / 2-step verification may prompt for a
one-time code (informational only). - Domain must be on GoDaddy nameservers for these panels to apply.
Field mappings (for the records.json provider block)
Token vocabulary available today: {host}, {subhost}, {target}, {value},
{match}, {priority}, {weight}, {port}.
MX — Type=MX, Name={host}, Priority={priority}, Value={target} (mail host only), TTL default
[add-an-mx-record-19234]
TXT (covers SPF / MTA-STS / TLSRPT / DMARC — GoDaddy adds SPF as a plain TXT) —
Type=TXT, Name={host}, Value={value}, TTL default
[add-a-txt-record-19232,
add-an-spf-record-19218]
CNAME (3 DKIM) — Type=CNAME, Name={host} (DKIM selectors are prefixes, so the
"Name cannot be @" rule doesn't bite), Value={target}, TTL default
[add-a-cname-record-19236]
SRV — ⚠️ fully decomposed into 7 inputs (transcribed from the live form screenshot,
stored at 6850_GODADDY_CUSTOM_DOMAIN/6850-godaddy-adding-srv-record.png):
| Form field | Value |
|---|---|
| Type | SRV |
| Service | e.g. _jmap — the service label |
| Protocol | e.g. _tcp |
| Name | @ (apex) → {host} |
| Value | {target} (host.domain.com) |
| Priority | {priority} |
| Weight | {weight} |
| Port | {port} |
| TTL | default |
⚠️ Implementation gap — new interpreter tokens needed for SRV
GoDaddy is the first provider that splits the SRV _service._protocol label into two
separate inputs. Every other provider puts the whole _jmap._tcp string in the Host
field, so there are no {service} / {protocol} tokens today.
This means GoDaddy support is not a pure records.json addition — it also needs the
tiny interpreter in both front-ends (resolve_record in Python, resolveRecord in JS)
extended to derive {service} and {protocol} by splitting the SRV host label on the
first . (_jmap._tcp → service _jmap, protocol _tcp), with the SRV Name becoming
the apex @. Per CLAUDE.md these two interpreters are duplicated and must stay in sync.
Acceptance criteria
-
godaddyblock added torecords.json(MX/SRV/TXT/CNAME) using the mappings above. -
{service}/{protocol}tokens implemented identically in the Python and JS interpreters. -
uv run verify_thundermail_dns.py example.com --provider godaddyrenders all 13 records
(both--fix-formattable and long) without error. - Web app "GoDaddy" provider mirrors the CLI output (table + detailed).
- README provider list updated (the one hardcoded spot).
- Headers prefixed
UNVERIFIED —until confirmed against a live GoDaddy add-record panel;
then verified end-to-end (add records on a GoDaddy-hosted test domain, confirm 13/13 via
--resolver <domain's GoDaddy authoritative NS>) and prefixes dropped.
Reference docs (GoDaddy Help CA)
- MX — https://www.godaddy.com/en-ca/help/add-an-mx-record-19234
- TXT — https://www.godaddy.com/en-ca/help/add-a-txt-record-19232
- SPF — https://www.godaddy.com/en-ca/help/add-an-spf-record-19218
- CNAME — https://www.godaddy.com/en-ca/help/add-a-cname-record-19236
- SRV — https://www.godaddy.com/en-ca/help/add-an-srv-record-19216
Local source PDFs + SRV form screenshot: THUNDERBIRD_2023/TBPRO/6850_GODADDY_CUSTOM_DOMAIN/.
- Lenguaje dominante
- HTML
- Estrellas
- 3
- Forks
- 0
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de thunderbird/dns-scripts
-
Handle CNAME and A record co-existence for MX recordsPosiblemente ocupada @rtanglao la tomó hace 8 días. Abierto
thunderbird/dns-scripts#22 · 1 comentario · 1 asignado ·
-
DNS Provider request - OderlandAbierto
Dificultad 3/5 1-2 días Aptitud para principiantes 65/100
thunderbird/dns-scripts#20 ·
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 42/100
thunderbird/dns-scripts#13 ·
-
Add DigitalOcean provider supportQuizá libre de nuevo @rtanglao la tomó hace 77 días y no hay ningún pull request abierto. Abierto
thunderbird/dns-scripts#9 · 3 comentarios · 1 asignado ·
-
Add Hover provider supportAbierto
Dificultad 4/5 3-5 días Aptitud para principiantes 68/100