7 Commits

Author SHA1 Message Date
f98c45834e feat: apply CloudHost palette and update footer attribution
Color palette (via custom.css override):
- Primary (main): seaweed #00b295 replaces fuchsia blue
- Borders/backgrounds: pale-sky #c9daea replaces light purple
- Highlights/secondary: neon-ice #03f7eb replaces electric indigo
- Text: coffee-bean #191516 replaces Woodsmoke
- Danger/error: cherry-rose #ab2346 replaces Mandy red

Footer copyright line replaced with:
"Based on free software by AFNIC and The Swedish Internet Foundation
🇪🇺 Hosted in the EU · Enhanced by Cloud Host (cloudhost.es)"

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-21 10:25:33 +02:00
14c41e1a54 fix: use exact location match for /api to prevent 301 on POST
location /api/ caused nginx to 301-redirect POST /api -> /api/
Browsers follow 301 with GET, breaking JSON-RPC. Exact match
location = /api proxies directly without redirect.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-21 09:32:49 +02:00
3e15defd0e fix: add missing deps to backend-build stage
- gettext: msgfmt needed for share/GNUmakefile .po -> .mo compilation
- perl-libwww: provides LWP::UserAgent
- cpanm: Daemon::Control, JSON::RPC, JSON::Validator,
  Log::Any::Adapter::Dispatch, Plack::Middleware::ReverseProxy,
  Router::Simple::Declare — all required by Makefile.PL but absent

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-21 09:19:09 +02:00
87e25144dd fix: add gettext to cli-build stage for msgfmt locale compilation
share/GNUmakefile compiles .po -> .mo files via msgfmt (same pattern
as the engine build stage)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-21 08:57:07 +02:00
816a4757c0 fix: add gettext and Net::DNS to engine build stage
- gettext provides msgfmt needed to compile .po -> .mo locale files
  in share/GNUmakefile during engine install_share step
- Net::DNS is a required runtime dep missing from cpanm install list

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-21 08:41:20 +02:00
eaaa8f6a11 fix: populate ldns submodule and add autotools to LDNS build stage
- Re-cloned zonemaster-ldns with --recurse-submodules so the bundled
  ldns C library source (including Changelog and configure.ac) is present
- Added autoconf, automake, libtool to Dockerfile.backend ldns-build stage
  so libtoolize + autoreconf can generate ldns/configure during make

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-21 08:33:38 +02:00
8d4eaa1489 feat: add full Zonemaster stack with Docker and Spanish UI
- Clone all 5 Zonemaster component repos (LDNS, Engine, CLI, Backend, GUI)
- Dockerfile.backend: 8-stage multi-stage build LDNS→Engine→CLI→Backend
- Dockerfile.gui: Astro static build served via nginx
- docker-compose.yml: backend (internal) + frontend (port 5353)
- nginx.conf: root redirects to /es/, /api/ proxied to backend
- zonemaster-gui/config.ts: defaultLanguage set to 'es' (Spanish)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-21 08:19:24 +02:00