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,13 @@
[This directory](.), i.e. the same directory as this README file, holds zone
files and configuration files to implement the test zones for the scenarios
defined in [Delegation03 test scenario specification].
For these test zones the following files are found in [This directory](.):
* Zone files for `delegation03.xa` and other related zones.
* CoreDNS configuration file
* Zone file and hint file for local root zone.
* Output from `zonemaster-cli` on all test scenarios in
[test-zones-output.md](test-zones-output.md).
[Delegation03 test scenario specification]: ../../../docs/public/specifications/test-zones/Delegation-TP/delegation03.md

View File

@@ -0,0 +1,42 @@
## root
.:53 {
bind 127.16.3.27 # ns1
bind fda1:b2:c3:0:127:16:3:27 # ns1
bind 127.16.3.28 # ns2
bind fda1:b2:c3:0:127:16:3:28 # ns2
log
file Delegation-TP/delegation03/root-zone.zone .
}
# Resolver using test case local root
. {
bind 127.16.3.53
unbound {
option root-hints Delegation-TP/delegation03/hintfile.zone
}
log
}
delegation03.xa:53 { # xa
bind 127.16.3.21 # ns1
bind fda1:b2:c3:0:127:16:3:21 # ns1
bind 127.16.3.22 # ns2
bind fda1:b2:c3:0:127:16:3:22 # ns2
log
file Delegation-TP/delegation03/delegation03.xa.zone delegation03.xa
}
localhost.xa:53 { # To make something listen to the addresses
bind 127.16.3.31 # ns1
bind fda1:b2:c3:0:127:16:3:31 # ns1
bind 127.16.3.32 # ns2
bind fda1:b2:c3:0:127:16:3:32 # ns2
bind 127.16.3.33 # ns3
bind fda1:b2:c3:0:127:16:3:33 # ns3
bind 127.16.3.34 # ns4
bind fda1:b2:c3:0:127:16:3:34 # ns4
bind 127.16.3.35 # ns5
bind fda1:b2:c3:0:127:16:3:35 # ns5
log
}

View File

@@ -0,0 +1,69 @@
$ORIGIN delegation03.xa. ; Must end with "."
$TTL 3600
@ SOA ns1 admin. (
2024112200 ; serial
6h ; refresh
1h ; retry
1w ; expire
1d ) ; minimum
@ NS ns1
@ NS ns2
ns1 A 127.16.3.21
ns1 AAAA fda1:b2:c3:0:127:16:3:21
ns2 A 127.16.3.22
ns2 AAAA fda1:b2:c3:0:127:16:3:22
$ORIGIN referral-size-ok-1.delegation03.xa.
@ NS ns1
@ NS ns2
ns1 A 127.16.3.31
ns1 AAAA fda1:b2:c3:0:127:16:3:31
ns2 A 127.16.3.32
ns2 AAAA fda1:b2:c3:0:127:16:3:32
$ORIGIN referral-size-ok-2.delegation03.xa.
@ NS ns1.ipv4
@ NS ns1.ipv6
@ NS ns2.ipv4
@ NS ns2.ipv6
ns1.ipv4 A 127.16.3.31
ns1.ipv6 AAAA fda1:b2:c3:0:127:16:3:32
ns2.ipv4 A 127.16.3.32
ns2.ipv6 AAAA fda1:b2:c3:0:127:16:3:33
$ORIGIN referral-size-too-large-1.delegation03.xa.
@ NS ns1.1abcdefghijklmnopqrstuv.1defghijkl
@ NS ns2.2abcdefghijklmnopqrstuv.2defghijkl
@ NS ns3.3abcdefghijklmnopqrstuv.3defghijkl
@ NS ns4.4abcdefghijklmnopqrstuv.4defghijkl
@ NS ns5.4abcdefghijklmnopqrstuv.5defghijkl
ns1.1abcdefghijklmnopqrstuv.1defghijkl A 127.16.3.31
ns1.1abcdefghijklmnopqrstuv.1defghijkl AAAA fda1:b2:c3:0:127:16:3:31
ns2.2abcdefghijklmnopqrstuv.2defghijkl A 127.16.3.32
ns2.2abcdefghijklmnopqrstuv.2defghijkl AAAA fda1:b2:c3:0:127:16:3:32
ns3.2abcdefghijklmnopqrstuv.3defghijkl A 127.16.3.32
ns3.2abcdefghijklmnopqrstuv.3defghijkl AAAA fda1:b2:c3:0:127:16:3:32
ns4.2abcdefghijklmnopqrstuv.4defghijkl A 127.16.3.32
ns4.2abcdefghijklmnopqrstuv.4defghijkl AAAA fda1:b2:c3:0:127:16:3:32
ns5.2abcdefghijklmnopqrstuv.5defghijkl A 127.16.3.32
ns5.2abcdefghijklmnopqrstuv.5defghijkl AAAA fda1:b2:c3:0:127:16:3:32
$ORIGIN referral-size-too-large-2.delegation03.xa.
@ NS ns1.1abcdefghijklmnopqrstuvwxyz.1abcdefghijklmnopqrstuvwxy.1abcdefghijklmnopqrstuvw
@ NS ns2.2abcdefghijklmnopqrstuvwxyz.2abcdefghijklmnopqrstuvwxy.2abcdefghijklmnopqrstuvw
@ NS ns3.3abcdefghijklmnopqrstuvwxyz.3abcdefghijklmnopqrstuvwxy.3abcdefghijklmnopqrstuvw
@ NS ns4.4abcdefghijklmnopqrstuvwxyz.4abcdefghijklmnopqrstuvwxy.4abcdefghijklmnopqrstuvw
ns1.1abcdefghijklmnopqrstuvwxyz.1abcdefghijklmnopqrstuvwxy.1abcdefghijklmnopqrstuvw A 127.16.3.31
ns1.1abcdefghijklmnopqrstuvwxyz.1abcdefghijklmnopqrstuvwxy.1abcdefghijklmnopqrstuvw AAAA fda1:b2:c3:0:127:16:3:31
ns2.2abcdefghijklmnopqrstuvwxyz.2abcdefghijklmnopqrstuvwxy.2abcdefghijklmnopqrstuvw A 127.16.3.32
ns2.2abcdefghijklmnopqrstuvwxyz.2abcdefghijklmnopqrstuvwxy.2abcdefghijklmnopqrstuvw AAAA fda1:b2:c3:0:127:16:3:31
ns3.3abcdefghijklmnopqrstuvwxyz.3abcdefghijklmnopqrstuvwxy.3abcdefghijklmnopqrstuvw A 127.16.3.33
ns3.3abcdefghijklmnopqrstuvwxyz.3abcdefghijklmnopqrstuvwxy.3abcdefghijklmnopqrstuvw AAAA fda1:b2:c3:0:127:16:3:31
ns4.4abcdefghijklmnopqrstuvwxyz.4abcdefghijklmnopqrstuvwxy.4abcdefghijklmnopqrstuvw A 127.16.3.34
ns4.4abcdefghijklmnopqrstuvwxyz.4abcdefghijklmnopqrstuvwxy.4abcdefghijklmnopqrstuvw AAAA fda1:b2:c3:0:127:16:3:31

View File

@@ -0,0 +1,8 @@
; Hint file for Delegation03 local root
. 3600 NS root-ns1.xa.
. 3600 NS root-ns2.xa.
root-ns1.xa. 3600 A 127.16.3.27
root-ns1.xa. 3600 AAAA fda1:b2:c3::127:16:3:27
root-ns2.xa. 3600 A 127.16.3.28
root-ns2.xa. 3600 AAAA fda1:b2:c3::127:16:3:28

View File

@@ -0,0 +1,41 @@
$ORIGIN .
$TTL 3600
@ SOA ns1. admin.xa. (
2025071600 ; serial
6h ; refresh
1h ; retry
1w ; expire
1d ) ; minimum
NS root-ns1.xa.
NS root-ns2.xa.
root-ns1.xa. A 127.16.3.27
root-ns1.xa. AAAA fda1:b2:c3::127:16:3:27
root-ns2.xa. A 127.16.3.28
root-ns2.xa. AAAA fda1:b2:c3::127:16:3:28
$ORIGIN delegation03.xa.
@ NS ns1
@ NS ns2
ns1 A 127.16.3.21
ns1 AAAA fda1:b2:c3::127:16:3:21
ns2 A 127.16.3.22
ns1 AAAA fda1:b2:c3::127:16:3:22
$ORIGIN delegation03.xb.
@ NS ns1
@ NS ns2
ns1 A 127.16.3.25
ns1 AAAA fda1:b2:c3::127:16:3:25
ns2 A 127.16.3.26
ns1 AAAA fda1:b2:c3::127:16:3:26
;EOF

View File

@@ -0,0 +1,97 @@
# Delegation03 Test Zones Output
# Table of contents
* [Introduction](#introduction)
* [All message tags](#all-message-tags)
* [All scenarios](#all-scenarios)
* [zonemaster-cli commands and their output for each test scenario](#zonemaster-cli-commands-and-their-output-for-each-test-scenario)
## Introduction
In this file the output of running `zonemaster-cli` for every test zone is
found. This file is created during the development of the test zones and should
be updated as the implementation of the test case or the test scenarios or test
zones are updated or corrected.
During development and any update this document serves as tracking and log tool.
It also serves as a template for future development of test zones for
scenarios for other test cases.
## All message tags
* REFERRAL_SIZE_OK
* REFERRAL_SIZE_TOO_LARGE
## All scenarios
Scenario name | Zone name
:-----------------------------|:---------------------------------------------
REFERRAL-SIZE-OK-1 | referral-size-ok-1.delegation03.xa.
REFERRAL-SIZE-OK-2 | referral-size-ok-2.delegation03.xa.
REFERRAL-SIZE-TOO-LARGE-1 | referral-size-too-large-1.delegation03.xa
REFERRAL-SIZE-TOO-LARGE-2 | referral-size-too-large-2.delegation03.xa
## zonemaster-cli commands and their output for each test scenario
For this test case it is only meaningful to test the test zones with `--level=info
--test=delegation03`.
The test zones for these scenarios have a dedicated root zone, which means that
the hint files in the commands below must be used.
All commands are run from the same directory as this file is in.
Scenario name | Mandatory message tag | Forbidden message tags
:-----------------------------|:-----------------------------------------|:-------------------------------------------
REFERRAL-SIZE-OK-1 | REFERRAL_SIZE_OK | 2)
* (2) All tags except for those specified as "Mandatory message tags"
```
$ zonemaster-cli --hint=hintfile.zone --test=delegation03 --level=info --show-testcase --raw REFERRAL-SIZE-OK-1.delegation03.xa
0.00 INFO Unspecified GLOBAL_VERSION version=v6.0.0
0.06 INFO Delegation03 REFERRAL_SIZE_OK size=307
```
--> OK
Scenario name | Mandatory message tag | Forbidden message tags
:-----------------------------|:-----------------------------------------|:-------------------------------------------
REFERRAL-SIZE-OK-2 | REFERRAL_SIZE_OK | 2)
```
$ zonemaster-cli --hint=hintfile.zone --test=delegation03 --level=info --show-testcase --raw REFERRAL-SIZE-OK-2.delegation03.xa
0.00 INFO Unspecified GLOBAL_VERSION version=v6.0.0
0.09 INFO Delegation03 REFERRAL_SIZE_OK size=353
```
--> OK
Scenario name | Mandatory message tag | Forbidden message tags
:-----------------------------|:-----------------------------------------|:-------------------------------------------
REFERRAL-SIZE-TOO-LARGE-1 | REFERRAL_SIZE_TOO_LARGE | 2)
```
$ zonemaster-cli --hint=hintfile.zone --test=delegation03 --level=info --show-testcase --raw REFERRAL-SIZE-TOO-LARGE-1.delegation03.xa
0.00 INFO Unspecified GLOBAL_VERSION version=v6.0.0
0.48 WARNING Delegation03 REFERRAL_SIZE_TOO_LARGE size=536
```
Scenario name | Mandatory message tag | Forbidden message tags
:-----------------------------|:-----------------------------------------|:-------------------------------------------
REFERRAL-SIZE-TOO-LARGE-2 | REFERRAL_SIZE_TOO_LARGE | 2)
```
$ zonemaster-cli --hint=hintfile.zone --test=delegation03 --level=info --show-testcase --raw REFERRAL-SIZE-TOO-LARGE-2.delegation03.xa
0.00 INFO Unspecified GLOBAL_VERSION version=v6.0.0
0.27 WARNING Delegation03 REFERRAL_SIZE_TOO_LARGE size=663
```