mirror of
https://forgejo.altau.su/lego/lego-monitoring.git
synced 2026-03-12 05:35:19 +00:00
prepare config for healthchecks integration
This commit is contained in:
parent
4558cf9e6f
commit
c01ab8303c
8 changed files with 89 additions and 34 deletions
|
|
@ -5,6 +5,7 @@ from typing import Optional
|
|||
from alt_utils import NestedDeserializableDataclass
|
||||
|
||||
from . import enums
|
||||
from .alert_channels import AlertChannelsConfig
|
||||
from .checks.cpu import CpuCheckConfig
|
||||
from .checks.net import NetCheckConfig
|
||||
from .checks.ram import RamCheckConfig
|
||||
|
|
@ -21,16 +22,10 @@ class ChecksConfig(NestedDeserializableDataclass):
|
|||
net: NetCheckConfig = field(default_factory=NetCheckConfig)
|
||||
|
||||
|
||||
@dataclass
|
||||
class TelegramConfig:
|
||||
creds: str
|
||||
room_id: int
|
||||
|
||||
|
||||
@dataclass
|
||||
class Config(NestedDeserializableDataclass):
|
||||
checks: ChecksConfig
|
||||
telegram: TelegramConfig
|
||||
alert_channels: AlertChannelsConfig
|
||||
enabled_check_sets: list[enums.CheckSet] = field(default_factory=list)
|
||||
log_level: enums.LogLevelName = enums.LogLevelName.INFO
|
||||
|
||||
|
|
|
|||
28
src/lego_monitoring/config/alert_channels.py
Normal file
28
src/lego_monitoring/config/alert_channels.py
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
from dataclasses import dataclass, field
|
||||
from typing import Optional
|
||||
|
||||
from alt_utils import NestedDeserializableDataclass
|
||||
|
||||
|
||||
@dataclass
|
||||
class TelegramConfig:
|
||||
creds: str
|
||||
room_id: int
|
||||
|
||||
|
||||
@dataclass
|
||||
class HealthchecksConfig:
|
||||
pinging_keys: str | dict[str, str]
|
||||
|
||||
def __post_init__(self):
|
||||
lines = self.pinging_keys.split()
|
||||
self.pinging_keys = {}
|
||||
for l in lines:
|
||||
slug, key = l.split(":")
|
||||
self.pinging_keys[slug] = key
|
||||
|
||||
|
||||
@dataclass
|
||||
class AlertChannelsConfig(NestedDeserializableDataclass):
|
||||
telegram: Optional[TelegramConfig] = None
|
||||
healthchecks: Optional[HealthchecksConfig] = None
|
||||
Loading…
Add table
Add a link
Reference in a new issue