# DNS mit Gandi setzen

Einmal ein Gandi-Personal-Access-Token verbinden. MainPath schreibt A- und CNAME-Einträge in deine LiveDNS-Zonen.

> Source: https://www.mainpath.ai/de/docs/dns-gandi/

Wenn die DNS-Zone deiner Domain bei [Gandi](https://www.gandi.net/) LiveDNS liegt, musst du die Einträge nicht mehr von Hand abtippen. Du hinterlegst ein Personal Access Token unter **Anbindungen**; sobald ein Projekt Domains hat, schreibt MainPath die Einträge in die passende Zone.

Manuelles DNS bleibt möglich. Siehe [DNS-Eintrag konfigurieren]({{< relref "domain-how-to" >}}).

## Zugang bei Gandi

MainPath spricht die **Gandi-LiveDNS-API** (`api.gandi.net/v5/livedns`) an.

1. Melde dich bei Gandi an und öffne **Konto → Sicherheit → Personal Access Tokens**.
2. Lege ein PAT mit LiveDNS-Rechten an.
3. Das Token kopieren. Es wird nur einmal angezeigt.

Die Domain muss Gandi-Nameserver nutzen (`*.gandi.net`).

## Anbindung in MainPath

1. Öffne **Anbindungen** und **Anbindung hinzufügen**.
2. Wähle unter **DNS** die Kachel **Gandi**.
3. Füge das Token ein und speichere. MainPath prüft, ob es gültig ist und welche Zonen es sieht.

Mehrere Gandi-Zugänge in einer Organisation sind möglich. Gehört eine Domain zu mehreren Zonen, nimmt MainPath die treffendste.

## Was gesetzt wird

MainPath übernimmt dieselben Hosts, die du unter **Domains** siehst.

- Einträge werden nur gesetzt, wenn schon eine echte Server-Adresse da ist.
- Bestehende Einträge desselben Namens und Typs werden aktualisiert, nicht die ganze Zone ersetzt.
- Änderungen kommen schnell an.

```mermaid
flowchart LR
  org["Gandi-Anbindung"]
  domains["Domains in MainPath"]
  zone["Gandi-LiveDNS-Zone"]
  server["Dein Server"]
  org --> zone
  domains -->|"A / CNAME"| zone
  zone --> server
```

Nach dem Speichern eines Projekts versucht MainPath, fehlende oder abweichende Einträge anzugleichen. Den Prüfstatus siehst du in der Domain-Übersicht.

## SSL über DNS-01 (optional)

Erreicht Let's Encrypt den Server nicht (kein öffentliches HTTP/443, Firewall, interne IP), öffne die Details dieser Anbindung und hake die betroffenen Domains an. MainPath schreibt dann den TXT-Eintrag `_acme-challenge` in diese Zone. Ohne Haken bleibt die bisherige TLS-Prüfung (ALPN) über den Server.

## Fehlersuche

- **Token ungültig**: Ein Personal Access Token mit LiveDNS anlegen. Ein alter Production-API-Key ist der falsche Typ.
- **Kein Eintrag bei Gandi**: Die Domain liegt nicht in diesem Konto oder nutzt andere Nameserver.
- **Zone sichtbar, Domain nicht erreichbar**: Die Zone existiert bei Gandi, aber die Nameserver zeigen woanders hin. Nameserver beim Registrar auf Gandi (`*.gandi.net`) umstellen.
- **Status in MainPath noch rot**: DNS braucht oft ein paar Minuten, oder der Server hat noch keine bekannte Adresse.

## Siehe auch

- [Domain-Setup]({{< relref "domain" >}})
- [DNS-Eintrag konfigurieren]({{< relref "domain-how-to" >}})
- [Anbindungen]({{< relref "connections" >}})

