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

44 lines
786 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
logs_endpoint: str
metrics_endpoint: str
traces_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