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>
This commit is contained in:
2026-04-21 08:19:24 +02:00
commit 8d4eaa1489
1567 changed files with 204155 additions and 0 deletions

View File

@@ -0,0 +1,33 @@
#!/usr/bin/env perl
use 5.014002;
use strict;
use warnings;
use File::ShareDir qw[dist_file];
use File::Slurp;
use Zonemaster::Engine::Profile;
my $json_file = @ARGV ? $ARGV[0] : dist_file( 'Zonemaster-Engine', 'profile.json');
my $json = read_file( $json_file );
my $profile = Zonemaster::Engine::Profile->from_json( $json );
my $yaml = $profile->to_yaml();
say $yaml;
=head1 NAME
json2yaml - Convert a JSON profile into YAML
=head1 SYNOPSIS
./json2yaml.pl
./json2yaml.pl profile.json
=head1 DESCRIPTION
json2yaml converts a JSON profile into YAML. The JSON profile can be passed as
an argument. If no argument is provided, the script will look for the default
profile. The YAML profile is written to the standard output.
=cut