Загрузить файлы в «alert-receiver/app»

This commit is contained in:
2026-08-06 18:31:13 +03:00
parent 5c5938e68c
commit 4b122dfee7
5 changed files with 291 additions and 0 deletions
+48
View File
@@ -0,0 +1,48 @@
from __future__ import annotations
import os
from dataclasses import dataclass
from dotenv import load_dotenv
load_dotenv()
def _parse_bool(value: str | None, default: bool = False) -> bool:
if value is None:
return default
return value.strip().lower() in {"1", "true", "yes", "on"}
@dataclass(frozen=True)
class Settings:
app_name: str = os.getenv("APP_NAME", "alert-receiver")
app_host: str = os.getenv("APP_HOST", "0.0.0.0")
app_port: int = int(os.getenv("APP_PORT", "8080"))
webhook_token: str = os.getenv("WEBHOOK_TOKEN", "").strip()
require_webhook_token: bool = _parse_bool(
os.getenv("REQUIRE_WEBHOOK_TOKEN", "true"),
default=True,
)
forward_to_processor: bool = _parse_bool(
os.getenv("FORWARD_TO_PROCESSOR", "false"),
default=False,
)
alert_processor_url: str = os.getenv(
"ALERT_PROCESSOR_URL",
"http://alert-processor:8081/internal/events",
)
alert_processor_token: str = os.getenv(
"ALERT_PROCESSOR_TOKEN",
"",
).strip()
forward_timeout_seconds: float = float(
os.getenv("FORWARD_TIMEOUT_SECONDS", "5")
)
alert_processor_token: str = os.getenv("ALERT_PROCESSOR_TOKEN", "").strip()
settings = Settings()