Commit Graph
7 Commits
Author SHA1 Message Date
kevinveenbirkenbach 84e592f630 fix(dns): avoid CoreDNS forwarding via /etc/resolv.conf
CoreDNS was forwarding external queries via its own /etc/resolv.conf,
which caused SERVFAIL in systemd-based CI containers due to a broken
Docker/host resolver chain.

Switch to explicit upstream DNS servers (1.1.1.1, 8.8.8.8) to ensure
reliable external name resolution (e.g. pypi.org, google.com) in CI.

https://chatgpt.com/share/69837671-6884-800f-8ded-706b35e82bab
2026-02-04 17:40:12 +01:00
kevinveenbirkenbach 28ddbaa270 ci(dns): fix AAAA handling in CoreDNS and add robust DinD DNS health check
- Replace NXDOMAIN for AAAA with fallthrough to avoid SERVFAIL and Node EAI_AGAIN
- Add robust Docker-in-Docker DNS health check (A + no SERVFAIL)
- Add Node/getaddrinfo DNS validation (matches CSP checker behavior)
- Add make target to stop CI compose stack without removing volumes

This prevents DNS resolver failures inside DinD and makes CSP health checks reliable.

https://chatgpt.com/share/696aba87-e5d4-800f-871c-aac049201fb7
2026-01-16 23:24:03 +01:00
kevinveenbirkenbach fd983bc69c refactor(ci,network): make DNS, IP and domain configuration fully env-driven
- Introduce env.ci as single source of truth for CI networking
- Make docker-compose, CoreDNS and Docker daemon fully env-driven
- Render CoreDNS Corefile from template via envsubst
- Replace hardcoded IPs/domains with environment variables
- Integrate env-based networking into Ansible defaults
- Remove static Corefile and daemon.json

This makes DNS and networking deterministic and reproducible across
host, CoreDNS, infinito runner and Docker-in-Docker.

https://chatgpt.com/share/696a3dda-5c6c-800f-8a16-47c0c604e1e3
2026-01-16 14:30:14 +01:00
kevinveenbirkenbach ea2fc396f5 ci(dns): add CoreDNS zone for infinito.example and propagate DNS into docker-in-docker
- Map infinito.example and *.infinito.example to infinito runner (172.30.0.10) via CoreDNS
- Assign static IP to infinito container in CI compose network
- Add dns_search infinito.example to CI defaults
- Configure inner Docker daemon to use CoreDNS (172.30.0.53) with search domain
- Replace fuse-overlayfs-only setup with full docker-in-docker daemon configuration

This ensures all inner containers can resolve infinito.example consistently in CI.

https://chatgpt.com/share/69696e22-ca7c-800f-bee1-e454f22cb1e5
2026-01-15 23:45:28 +01:00
kevinveenbirkenbach bab0bceb1d feat(local-dns): add dnsmasq-based infinito.example wildcard + set CI primary domain
https://chatgpt.com/share/6969261a-8d34-800f-9a61-725e90544dea
2026-01-15 18:38:15 +01:00
kevinveenbirkenbach d734a15ad6 feat(ci,webserver): add localhost DNS + default vhost 404 assertion
- switch CI DNS to CoreDNS-based *.localhost resolution (A/AAAA → loopback)
- set PRIMARY_DOMAIN to localhost for CI deploys
- add explicit DNS resolution assert for test.localhost
- deploy explicit default_server vhost returning 404 text/plain
- assert default vhost behavior via HTTP before app domains exist

https://chatgpt.com/share/6952cf2a-bbd4-800f-b2b8-c4baba66e301
2025-12-29 19:57:41 +01:00
kevinveenbirkenbach 426e0c2489 Moved Corefile 2025-12-28 11:03:56 +01:00