# DNS Development Log

Decizii despre manifestul DNS local, resolver sync, prioritatea surselor si regulile de rezolvare pentru `madagascar.xdev.ro`.

## 2026-06-06 - Local DNS Resolution Rules

Regula: local nu se foloseste wildcard pentru `*.madagascar.xdev.ro`.

Doar numele cunoscute din manifestul local trebuie sa se rezolve intern. Numele necunoscute trebuie sa intoarca `NXDOMAIN`, chiar daca DNS public poate avea wildcard catre IP-ul public.

Resolverele interne sunt:

- jumper: `192.168.2.100`
- as01: `192.168.2.2`

## 2026-06-10 - Prompt Resolver Publishing

Incident: un vhost nou, `git.madagascar.xdev.ro`, exista in SQLite si in
manifestul generat, dar nu fusese aplicat pe resolvere. Pe macOS, o incercare
de rezolvare esuata poate ramane cache-uita agresiv, deci publicarea DNS trebuie
sa urmeze rapid dupa editarea registry-ului.

Decizie:

- modificarile DNS facute prin aplicatie nu mai scriu un manifest intermediar
- aplicatia atinge `var/dns-publish.trigger`
- `host-manager-dns-publish.path` porneste `host-manager-dns-publish.service`
- serviciul oneshot ruleaza sync-ul privilegiat existent:

```bash
./scripts/sync_local_hosts.sh --apply --verify
```

Sync-ul manual ramane disponibil pentru interventii operationale si audit.

## 2026-06-11 - No Intermediate DNS TSV Product

Decizie: `local-hosts.tsv` nu mai este produs versionat, endpoint download sau fisier scris de aplicatie. `scripts/sync_local_hosts.sh` cere recorduri efemere de la `host_manager.pl --print-resolver-records`, generate direct din SQLite.

Motiv: produsul finit pentru registry este `hosts.yaml`, iar configurarea resolverelor este o actiune operationala. Un fisier TSV intermediar crea inca un loc care putea fi confundat cu sursa de adevar.
