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,109 @@
{
"net" : {
"ipv4" : true,
"ipv6" : false
},
"test_levels" : {
"DNSSEC" : {
"DS10_ALGO_NOT_SUPPORTED_BY_ZM" : "NOTICE",
"DS10_ERR_MULT_NSEC" : "ERROR",
"DS10_ERR_MULT_NSEC3" : "ERROR",
"DS10_ERR_MULT_NSEC3PARAM" : "ERROR",
"DS10_EXPECTED_NSEC_NSEC3_MISSING" : "ERROR",
"DS10_HAS_NSEC" : "INFO",
"DS10_HAS_NSEC3" : "INFO",
"DS10_INCONSISTENT_NSEC" : "ERROR",
"DS10_INCONSISTENT_NSEC3" : "ERROR",
"DS10_INCONSISTENT_NSEC_NSEC3" : "ERROR",
"DS10_MIXED_NSEC_NSEC3" : "ERROR",
"DS10_NSEC3PARAM_GIVES_ERR_ANSWER" : "ERROR",
"DS10_NSEC3PARAM_MISMATCHES_APEX" : "ERROR",
"DS10_NSEC3PARAM_QUERY_RESPONSE_ERR" : "ERROR",
"DS10_NSEC3_ERR_TYPE_LIST" : "ERROR",
"DS10_NSEC3_MISMATCHES_APEX" : "ERROR",
"DS10_NSEC3_MISSING_SIGNATURE" : "ERROR",
"DS10_NSEC3_NODATA_MISSING_SOA" : "ERROR",
"DS10_NSEC3_NODATA_WRONG_SOA" : "ERROR",
"DS10_NSEC3_NO_VERIFIED_SIGNATURE" : "ERROR",
"DS10_NSEC3_RRSIG_EXPIRED" : "ERROR",
"DS10_NSEC3_RRSIG_NOT_YET_VALID" : "ERROR",
"DS10_NSEC3_RRSIG_NO_DNSKEY" : "WARNING",
"DS10_NSEC3_RRSIG_VERIFY_ERROR" : "ERROR",
"DS10_NSEC_ERR_TYPE_LIST" : "ERROR",
"DS10_NSEC_GIVES_ERR_ANSWER" : "ERROR",
"DS10_NSEC_MISMATCHES_APEX" : "ERROR",
"DS10_NSEC_MISSING_SIGNATURE" : "ERROR",
"DS10_NSEC_NODATA_MISSING_SOA" : "ERROR",
"DS10_NSEC_NODATA_WRONG_SOA" : "ERROR",
"DS10_NSEC_NO_VERIFIED_SIGNATURE" : "ERROR",
"DS10_NSEC_QUERY_RESPONSE_ERR" : "ERROR",
"DS10_NSEC_RRSIG_EXPIRED" : "ERROR",
"DS10_NSEC_RRSIG_NOT_YET_VALID" : "ERROR",
"DS10_NSEC_RRSIG_NO_DNSKEY" : "WARNING",
"DS10_NSEC_RRSIG_VERIFY_ERROR" : "ERROR",
"DS10_SERVER_NO_DNSSEC" : "ERROR",
"DS10_ZONE_NO_DNSSEC" : "NOTICE",
"IPV4_DISABLED" : "INFO",
"IPV6_DISABLED" : "INFO"
},
"SYSTEM" : {
"ASN_LOOKUP_SOURCE": "DEBUG",
"CACHE_CREATED" : "DEBUG2",
"CACHE_FETCHED" : "DEBUG2",
"CACHED_RETURN" : "DEBUG3",
"CANNOT_CONTINUE" : "CRITICAL",
"CNAME_CHAIN_TOO_LONG" : "ERROR",
"CNAME_FOLLOWED_IN_ZONE" : "DEBUG",
"CNAME_FOLLOWED_OUT_OF_ZONE" : "DEBUG",
"CNAME_LOOP_INNER" : "ERROR",
"CNAME_LOOP_OUTER" : "ERROR",
"CNAME_NO_MATCH" : "ERROR",
"CNAME_RECORDS_CHAIN_BROKEN" : "ERROR",
"CNAME_RECORDS_DUPLICATES" : "DEBUG",
"CNAME_RECORDS_MULTIPLE_FOR_NAME" : "ERROR",
"CNAME_RECORDS_TOO_MANY" : "ERROR",
"CNAME_START" : "DEBUG",
"DEPENDENCY_VERSION" : "DEBUG",
"EMPTY_RETURN" : "DEBUG3",
"EXTERNAL_RESPONSE" : "DEBUG3",
"FAKE_DELEGATION_ADDED" : "DEBUG2",
"FAKE_DELEGATION_IN_ZONE_NO_IP" : "ERROR",
"FAKE_DELEGATION_NO_IP" : "ERROR",
"FAKE_DELEGATION_RETURNED" : "DEBUG2",
"FAKE_DELEGATION_TO_SELF" : "DEBUG2",
"FAKE_DS_ADDED" : "DEBUG2",
"FAKE_DS_RETURNED" : "DEBUG2",
"FAKE_PACKET_RETURNED" : "DEBUG3",
"GLOBAL_VERSION" : "INFO",
"IPV4_BLOCKED" : "DEBUG2",
"IPV6_BLOCKED" : "DEBUG2",
"IS_BLACKLISTED" : "DEBUG",
"IS_REDIRECT" : "DEBUG2",
"LOGGER_CALLBACK_ERROR" : "DEBUG",
"LOOKUP_ERROR" : "DEBUG",
"LOOP_PROTECTION" : "DEBUG2",
"MODULE_ERROR" : "CRITICAL",
"MODULE_VERSION" : "DEBUG",
"MODULE_END" : "DEBUG",
"NO_NETWORK": "CRITICAL",
"NO_SUCH_NAME" : "DEBUG2",
"NO_SUCH_RECORD" : "DEBUG2",
"NS_CREATED" : "DEBUG2",
"PACKET_BIG" : "DEBUG",
"QUERY" : "DEBUG2",
"RECURSE" : "DEBUG2",
"RECURSE_QUERY" : "DEBUG2",
"RESTORED_NS_CACHE" : "DEBUG2",
"SAVED_NS_CACHE" : "DEBUG2",
"SKIP_IPV4_DISABLED": "DEBUG",
"SKIP_IPV6_DISABLED": "DEBUG",
"START_TIME": "DEBUG",
"TEST_TARGET": "DEBUG",
"UNKNOWN_METHOD" : "CRITICAL",
"UNKNOWN_MODULE" : "CRITICAL"
}
},
"test_cases": [
"dnssec10"
]
}