Configuration model
Dhal is config-first. Most behavior is controlled through dhal.json.
Top-level structure:
{
"mode": "monitor",
"trustProxy": false,
"runtime": {},
"identity": {},
"ip": {},
"rateLimit": {},
"rules": {},
"routes": {},
"policy": {},
"observability": {},
"response": {}
}
Load and validate
npx dhal test-config
npx dhal schema dhal.schema.json
Migrate
npx dhal migrate dhal.json dhal.migrated.json
Explain
npx dhal explain-config
Use presets
npx dhal presets apply starter --output dhal.starter.json
Presets are overlays. They do not hide behavior: inspect the generated config before applying it.