Files
Malin 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

74 lines
2.7 KiB
Markdown

# Document generation
## Background
The utility scripts described below are used to update or generate some documents
in the public document tree.
* The scripts should be run at each Zonemaster release and the resulting update
should be submitted to correct git branch of this git repository.
## Pre-requisite
The scripts should be run on a computer where the updated git branch of
`zonemaster/zonemaster` has been cloned, and the equivalent version of
`zonemaster/engine` has been **installed**. Usually the git branches will
be the `develop` branches of each repository.
## Scripts
* [generateTestCaseList.pl]
* This tool extracts all Test Case specifications and creates a Markdown table
to be inserted in [Test Case README].
* [updateTestPlanReadme.pl]
* This tool extracts all Test Case specifications per Test Plan and creates
Markdown tables. The tables are automatically added to the Test Plan
README.md file which is located in the directory named after the Test Plan.
* [generateTestMessages.pl]
* This tools creates a map between the Zonemaster message tags from the
[Zonemaster-Engine] implementation of the Test Cases and the Test Case
specifications. This is used to create the complete [TestMessages.md] file.
* [generateImplementedTestCases.pl]
* This tool creates a list of implemented test cases from the
[Zonemaster-Engine] implementation. This is used to create the complete
[ImplementedTestCases.md] file.
## Steps to be run
1. You are assumed to start from the root of the zonemaster/zonemaster tree.
Go to directory to execute the commands from.
```sh
cd docs/public/specifications/tests
```
2. All commands below must be run from the directory you are in now.
3. Remove Test Case table from [README.md][Test Case README] in that directory
and save the file.
4. Run:
```sh
../../../../utils/generateTestCaseList.pl >> README.md
```
5. Run:
```sh
../../../../utils/updateTestPlanReadme.pl
```
6. Run:
```sh
../../../../utils/generateTestMessages.pl > TestMessages.md
```
7. Run:
```sh
../../../../utils/generateImplementedTestCases.pl > ImplementedTestCases.md
```
8. Verify any updated documents.
9. Submit to git.
[generateImplementedTestCases.pl]: generateImplementedTestCases.pl
[generateTestCaseList.pl]: generateTestCaseList.pl
[generateTestMessages.pl]: generateTestMessages.pl
[ImplementedTestCases.md]: ../docs/public/specifications/tests/ImplementedTestCases.md
[Test Case README]: ../docs/public/specifications/tests/README.md
[TestMessages.md]: ../docs/public/specifications/tests/TestMessages.md
[updateTestPlanReadme.pl]: generateTestMessages.pl
[Zonemaster-Engine]: https://github.com/zonemaster/zonemaster-engine