As discussed, let's keep rarely useful settings out of the YAML model.
- /dnssec/refresh-time
- /dnssec/hold-down-time
- /dnssec/time-skew-detection
+ - /local-data/root-fallback-addresses*
- /logging/debugging
- /max-workers
- /network/tls/auto-discovery
"description": "Use NODATA synthesis. NODATA will be synthesised for matching name, but mismatching type(e.g. AAAA query when only A exists).",
"default": true
},
- "root-fallback-addresses": {
- "type": [
- "object",
- "null"
- ],
- "additionalProperties": {
- "anyOf": [
- {
- "type": "array",
- "items": {
- "anyOf": [
- {
- "type": "string"
- },
- {
- "type": "string"
- }
- ]
- }
- },
- {
- "type": "string"
- },
- {
- "type": "string"
- }
- ]
- },
- "description": "Direct replace of root hints.",
- "default": null
- },
- "root-fallback-addresses-files": {
- "type": [
- "array",
- "null"
- ],
- "items": {
- "type": "string"
- },
- "description": "Direct replace of root hints from a zonefile.",
- "default": null
- },
"addresses": {
"type": [
"object",
"default": {
"ttl": null,
"nodata": true,
- "root_fallback_addresses": null,
- "root_fallback_addresses_files": null,
"addresses": null,
"addresses_files": null,
"records": null,
---
ttl: Default TTL value used for added local data/records.
nodata: Use NODATA synthesis. NODATA will be synthesised for matching name, but mismatching type(e.g. AAAA query when only A exists).
- root_fallback_addresses: Direct replace of root hints.
- root_fallback_addresses_files: Direct replace of root hints from a zonefile.
addresses: Direct addition of hostname and IP addresses pairs.
addresses_files: Direct addition of hostname and IP addresses pairs from files in '/etc/hosts' like format.
records: Direct addition of records in DNS zone file format.
ttl: Optional[TimeUnit] = None
nodata: bool = True
- root_fallback_addresses: Optional[Dict[DomainName, ListOrItem[IPAddress]]] = None
- root_fallback_addresses_files: Optional[List[ReadableFile]] = None
addresses: Optional[Dict[DomainName, ListOrItem[IPAddress]]] = None
addresses_files: Optional[List[ReadableFile]] = None
records: Optional[EscapedStr] = None
rules: Optional[List[RuleSchema]] = None
rpz: Optional[List[RPZSchema]] = None
+ # root_fallback_addresses*: removed, rarely useful
-{% from 'macros/local_data_macros.lua.j2' import local_data_rules, local_data_records, local_data_root_fallback_addresses, local_data_root_fallback_addresses_files, local_data_addresses, local_data_addresses_files %}
+{% from 'macros/local_data_macros.lua.j2' import local_data_rules, local_data_records, local_data_addresses, local_data_addresses_files %}
{% from 'macros/common_macros.lua.j2' import boolean %}
modules = { 'hints > iterate' }
-{# root-fallback-addresses #}
-{% if cfg.local_data.root_fallback_addresses -%}
-{{ local_data_root_fallback_addresses(cfg.local_data.root_fallback_addresses) }}
-{%- endif %}
-
-{# root-fallback-addresses-files #}
-{% if cfg.local_data.root_fallback_addresses_files -%}
-{{ local_data_root_fallback_addresses_files(cfg.local_data.root_fallback_addresses_files) }}
-{%- endif %}
-
{# addresses #}
{% if cfg.local_data.addresses -%}
{{ local_data_addresses(cfg.local_data.addresses, cfg.local_data.nodata, cfg.local_data.ttl) }}
{% from 'macros/policy_macros.lua.j2' import policy_get_tagset, policy_todname %}
-{% macro local_data_root_fallback_addresses(pairs) -%}
-hints.root({
-{% for name, addresses in pairs.items() %}
- ['{{ name }}']={{ string_table(addresses) }},
-{% endfor %}
-})
-{%- endmacro %}
-
-
-{% macro local_data_root_fallback_addresses_files(files) -%}
-{% for file in files %}
-hints.root_file('{{ file }}')
-{% endfor %}
-{%- endmacro %}
-
{%- macro local_data_ttl(ttl) -%}
{%- if ttl -%}
{{ ttl.seconds() }}