master/adapter/config/model.py
2026-03-20 13:13:21 +03:00

42 lines
739 B
Python

from dataclasses import dataclass
@dataclass(frozen=True, slots=True)
class AppSectionConfig:
name: str
env: str
@dataclass(frozen=True, slots=True)
class HttpConfig:
host: str
port: int
api_prefix: str
@dataclass(frozen=True, slots=True)
class LoggingConfig:
level: str
@dataclass(frozen=True, slots=True)
class OtelConfig:
service_name: str
exporter_endpoint: str
metric_export_interval: int
@dataclass(frozen=True, slots=True)
class SecurityConfig:
token_header: str
api_token: str
signing_key: str
@dataclass(frozen=True, slots=True)
class AppConfig:
app: AppSectionConfig
http: HttpConfig
logging: LoggingConfig
otel: OtelConfig
security: SecurityConfig