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:
33
zonemaster-engine/share/json2yaml.pl
Executable file
33
zonemaster-engine/share/json2yaml.pl
Executable 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
|
||||
Reference in New Issue
Block a user