]> git.ipfire.org Git - thirdparty/knot-resolver.git/commitdiff
manager: datamodel: 'str' type removed from schemas
authorAleš Mrázek <ales.mrazek@nic.cz>
Tue, 20 Jun 2023 12:52:54 +0000 (14:52 +0200)
committerAleš Mrázek <ales.mrazek@nic.cz>
Thu, 13 Jul 2023 07:50:22 +0000 (09:50 +0200)
manager/knot_resolver_manager/datamodel/cache_schema.py
manager/knot_resolver_manager/datamodel/config_schema.py
manager/knot_resolver_manager/datamodel/dnssec_schema.py
manager/knot_resolver_manager/datamodel/local_data_schema.py
manager/knot_resolver_manager/datamodel/lua_schema.py
manager/knot_resolver_manager/datamodel/monitoring_schema.py
manager/knot_resolver_manager/datamodel/network_schema.py
manager/knot_resolver_manager/statistics.py

index 8adc41bea737ae44b4b16d1efb1fc2190c5141ae..ad0211f8f16a80e3dab1fb1c346f486d0de21e2f 100644 (file)
@@ -2,7 +2,16 @@ from typing import List, Optional, Union
 
 from typing_extensions import Literal
 
-from knot_resolver_manager.datamodel.types import Dir, DomainName, File, IntNonNegative, Percent, SizeUnit, TimeUnit
+from knot_resolver_manager.datamodel.types import (
+    Dir,
+    DomainName,
+    EscapedStr,
+    File,
+    IntNonNegative,
+    Percent,
+    SizeUnit,
+    TimeUnit,
+)
 from knot_resolver_manager.utils.modeling import ConfigSchema
 from knot_resolver_manager.utils.modeling.base_schema import lazy_default
 
@@ -19,7 +28,7 @@ class PrefillSchema(ConfigSchema):
     """
 
     origin: DomainName
-    url: str
+    url: EscapedStr
     refresh_interval: TimeUnit = TimeUnit("1d")
     ca_file: Optional[File] = None
 
index 4fdf5801d6636dad76ae8245ab1db90a7521b9c4..6046f7a8328b258c635b48ef9995c359c57e50e5 100644 (file)
@@ -19,9 +19,7 @@ from knot_resolver_manager.datamodel.management_schema import ManagementSchema
 from knot_resolver_manager.datamodel.monitoring_schema import MonitoringSchema
 from knot_resolver_manager.datamodel.network_schema import NetworkSchema
 from knot_resolver_manager.datamodel.options_schema import OptionsSchema
-from knot_resolver_manager.datamodel.policy_schema import PolicySchema
-from knot_resolver_manager.datamodel.slice_schema import SliceSchema
-from knot_resolver_manager.datamodel.types import Dir, IntPositive
+from knot_resolver_manager.datamodel.types import Dir, EscapedStr, IntPositive
 from knot_resolver_manager.datamodel.view_schema import ViewSchema
 from knot_resolver_manager.datamodel.webmgmt_schema import WebmgmtSchema
 from knot_resolver_manager.utils.modeling import ConfigSchema
@@ -95,8 +93,6 @@ class KresConfig(ConfigSchema):
         network: Network connections and protocols configuration.
         views: List of views and its configuration.
         local_data: Local data for forward records (A/AAAA) and reverse records (PTR).
-        slices: Split the entire DNS namespace into distinct slices.
-        policy: List of policy rules and its configuration.
         forward: List of Forward Zones and its configuration.
         cache: DNS resolver cache configuration.
         dnssec: Disable DNSSEC, enable with defaults or set new configuration.
@@ -107,8 +103,8 @@ class KresConfig(ConfigSchema):
         """
 
         version: int = 1
-        nsid: Optional[str] = None
-        hostname: Optional[str] = None
+        nsid: Optional[EscapedStr] = None
+        hostname: Optional[EscapedStr] = None
         rundir: Dir = lazy_default(Dir, "/var/run/knot-resolver")
         workers: Union[Literal["auto"], IntPositive] = IntPositive(1)
         max_workers: IntPositive = IntPositive(_default_max_worker_count())
@@ -118,8 +114,6 @@ class KresConfig(ConfigSchema):
         network: NetworkSchema = NetworkSchema()
         views: Optional[List[ViewSchema]] = None
         local_data: LocalDataSchema = LocalDataSchema()
-        slices: Optional[List[SliceSchema]] = None
-        policy: Optional[List[PolicySchema]] = None
         forward: Optional[List[ForwardSchema]] = None
         cache: CacheSchema = lazy_default(CacheSchema, {})
         dnssec: Union[bool, DnssecSchema] = True
@@ -130,8 +124,8 @@ class KresConfig(ConfigSchema):
 
     _LAYER = Raw
 
-    nsid: Optional[str]
-    hostname: str
+    nsid: Optional[EscapedStr]
+    hostname: EscapedStr
     rundir: Dir
     workers: IntPositive
     max_workers: IntPositive
@@ -141,8 +135,6 @@ class KresConfig(ConfigSchema):
     network: NetworkSchema
     views: Optional[List[ViewSchema]]
     local_data: LocalDataSchema
-    slices: Optional[List[SliceSchema]]
-    policy: Optional[List[PolicySchema]]
     forward: Optional[List[ForwardSchema]]
     cache: CacheSchema
     dnssec: Union[Literal[False], DnssecSchema]
index 3eb5ec3d66dafca8b96da387e9e1eb03b3916326..5e274c9a969596a1ae9a6fbb7e7d9de95e8e4534 100644 (file)
@@ -1,6 +1,6 @@
 from typing import List, Optional
 
-from knot_resolver_manager.datamodel.types import IntNonNegative, TimeUnit
+from knot_resolver_manager.datamodel.types import DomainName, EscapedStr, File, IntNonNegative, TimeUnit
 from knot_resolver_manager.utils.modeling import ConfigSchema
 
 
@@ -14,7 +14,7 @@ class TrustAnchorFileSchema(ConfigSchema):
 
     """
 
-    file: str
+    file: File
     read_only: bool = False
 
 
@@ -40,6 +40,6 @@ class DnssecSchema(ConfigSchema):
     keep_removed: IntNonNegative = IntNonNegative(0)
     refresh_time: Optional[TimeUnit] = None
     hold_down_time: TimeUnit = TimeUnit("30d")
-    trust_anchors: Optional[List[str]] = None
-    negative_trust_anchors: Optional[List[str]] = None
+    trust_anchors: Optional[List[EscapedStr]] = None
+    negative_trust_anchors: Optional[List[DomainName]] = None
     trust_anchors_files: Optional[List[TrustAnchorFileSchema]] = None
index 65fa76880929515c74a8ad8a81bfb9cbdd9ee724..ce8e5db056daa2c46a954577df121a85ff9d13a6 100644 (file)
@@ -2,7 +2,15 @@ from typing import Dict, List, Optional
 
 from typing_extensions import Literal
 
-from knot_resolver_manager.datamodel.types import DomainName, File, IDPattern, IPAddress, ListOrItem, TimeUnit
+from knot_resolver_manager.datamodel.types import (
+    DomainName,
+    EscapedStr,
+    File,
+    IDPattern,
+    IPAddress,
+    ListOrItem,
+    TimeUnit,
+)
 from knot_resolver_manager.utils.modeling import ConfigSchema
 
 
@@ -29,7 +37,7 @@ class SubtreeSchema(ConfigSchema):
     addresses: Optional[List[IPAddress]] = None
     roots: Optional[List[DomainName]] = None
     roots_file: Optional[File] = None
-    roots_url: Optional[str] = None
+    roots_url: Optional[EscapedStr] = None
     refresh: Optional[TimeUnit] = None
 
     def _validate(self) -> None:
@@ -77,6 +85,6 @@ class LocalDataSchema(ConfigSchema):
     root_fallback_addresses_files: Optional[ListOrItem[File]] = None
     addresses: Optional[Dict[DomainName, IPAddress]] = None
     addresses_files: Optional[ListOrItem[File]] = None
-    records: Optional[str] = None
+    records: Optional[EscapedStr] = None
     subtrees: Optional[List[SubtreeSchema]] = None
     rpz: Optional[List[RPZSchema]] = None
index bff8e289fa1eb78faf810b7e85860067fa3844d0..cf49b7124116b3403542efa6cf247a0ed42b2668 100644 (file)
@@ -1,5 +1,6 @@
 from typing import Optional
 
+from knot_resolver_manager.datamodel.types import File
 from knot_resolver_manager.utils.modeling import ConfigSchema
 
 
@@ -15,7 +16,7 @@ class LuaSchema(ConfigSchema):
 
     script_only: bool = False
     script: Optional[str] = None
-    script_file: Optional[str] = None
+    script_file: Optional[File] = None
 
     def _validate(self) -> None:
         if self.script and self.script_file:
index e4cdabe854146bdaba6188f5a288940ac7cc084f..dfc4a1167f75ddab6aee963ff8c258922cfa7ce1 100644 (file)
@@ -2,14 +2,14 @@ from typing import Union
 
 from typing_extensions import Literal
 
-from knot_resolver_manager.datamodel.types import DomainName, IPAddress, PortNumber, TimeUnit
+from knot_resolver_manager.datamodel.types import DomainName, EscapedStr, IPAddress, PortNumber, TimeUnit
 from knot_resolver_manager.utils.modeling import ConfigSchema
 
 
 class GraphiteSchema(ConfigSchema):
     host: Union[IPAddress, DomainName]
     port: PortNumber = PortNumber(2003)
-    prefix: str = ""
+    prefix: EscapedStr = EscapedStr("")
     interval: TimeUnit = TimeUnit("5s")
     tcp: bool = False
 
index 2349bdc56d42833a03f4de30ed404add89e11a6e..10051946ec3dcd8fd871f3d0ba8f5d550a902661 100644 (file)
@@ -3,6 +3,7 @@ from typing import List, Optional, Union
 from typing_extensions import Literal
 
 from knot_resolver_manager.datamodel.types import (
+    EscapedStr,
     File,
     FilePath,
     Int0_512,
@@ -62,7 +63,7 @@ class TLSSchema(ConfigSchema):
 
     cert_file: Optional[File] = None
     key_file: Optional[File] = None
-    sticket_secret: Optional[str] = None
+    sticket_secret: Optional[EscapedStr] = None
     sticket_secret_file: Optional[File] = None
     auto_discovery: bool = False
     padding: Union[bool, Int0_512] = True
index 069f4e75ffb4f1edf6bf43f0a07769052f6cc321..c66e1e1c16df152f5935266c0d582e62d610247b 100644 (file)
@@ -395,7 +395,7 @@ async def _configure_graphite_bridge(config: KresConfig) -> None:
         )
         _graphite_bridge = GraphiteBridge((str(config.monitoring.graphite.host), int(config.monitoring.graphite.port)))
         _graphite_bridge.start(  # type: ignore
-            interval=config.monitoring.graphite.interval.seconds(), prefix=config.monitoring.graphite.prefix
+            interval=config.monitoring.graphite.interval.seconds(), prefix=str(config.monitoring.graphite.prefix)
         )