feat(system): configure telemetry polling per contour
This commit is contained in:
@@ -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(),
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user