-
-
Notifications
You must be signed in to change notification settings - Fork 0
Description
The DNS Toolkit project uses multiple JSON configuration files (sources_*.json) to define DNS blocklist and allowlist sources. These files contain complex nested structures for configuring various source types, list types, categories, and validation rules. Currently, there is no formal JSON schema to validate these configuration files, which can lead to configuration errors and inconsistencies.
This ticket aims to create a comprehensive JSON schema that validates the structure and content of all sources configuration files in the config directory.
Acceptance Criteria
- Create sources_schema.json file directory
- Schema validates against JSON Schema
- Validate required fields
- Validate enums
- Validate URL formats and 2-letter country codes
- Enforce unique source names within files
- Validate nested structures
- Handle conditional requirements
- Add $schema reference to all existing source files
- Test schema with all current configuration files
Related Files
data/config/sources_*.json - All source configuration files
sources_config.go - Go validation logic
constants.go - Valid enum values
types.go - Type definitions
Metadata
Metadata
Assignees
Labels
Projects
Status