feat(system): configure telemetry polling per contour

This commit is contained in:
DCCONSTRUCTIONS
2026-07-28 01:24:05 +03:00
parent 4a65b52f6d
commit 2ffbb51a7e
8 changed files with 68 additions and 23 deletions
+9
View File
@@ -46,6 +46,7 @@ class ComputeContour(StrictModel):
ssh_port: int = Field(default=22, ge=1, le=65535)
mqtt_host: str = Field(default="127.0.0.1", min_length=1, max_length=253)
mqtt_port: int = Field(default=1883, ge=1, le=65535)
telemetry_poll_interval_seconds: int = Field(default=3, ge=1, le=60)
revision: int = Field(default=0, ge=0)
updated_at_utc: str | None = None
@@ -90,6 +91,7 @@ class ComputeContourCreate(StrictModel):
ssh_port: int = Field(default=22, ge=1, le=65535)
mqtt_host: str = Field(default="127.0.0.1", min_length=1, max_length=253)
mqtt_port: int = Field(default=1883, ge=1, le=65535)
telemetry_poll_interval_seconds: int = Field(default=3, ge=1, le=60)
@field_validator("display_name")
@classmethod
@@ -124,6 +126,7 @@ def default_compute_contour() -> ComputeContour:
ssh_port=22,
mqtt_host="127.0.0.1",
mqtt_port=1883,
telemetry_poll_interval_seconds=3,
)
@@ -152,6 +155,9 @@ class ComputeContourStore:
ssh_port=request.ssh_port,
mqtt_host=request.mqtt_host,
mqtt_port=request.mqtt_port,
telemetry_poll_interval_seconds=(
request.telemetry_poll_interval_seconds
),
revision=0,
updated_at_utc=_utc_now(),
)
@@ -177,6 +183,9 @@ class ComputeContourStore:
"ssh_port": request.ssh_port,
"mqtt_host": request.mqtt_host,
"mqtt_port": request.mqtt_port,
"telemetry_poll_interval_seconds": (
request.telemetry_poll_interval_seconds
),
"revision": current.revision + 1,
"updated_at_utc": _utc_now(),
}