Skip to content

Generate JSON Schema for Sources Configuration Files #1

@phani-kb

Description

@phani-kb

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

Projects

Status

In Progress

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions