feat: add managed runtime daemon metadata

This commit is contained in:
Andrey Avtomonov 2026-05-11 10:32:49 +02:00
parent 8a1f682ec3
commit ad56689e98
6 changed files with 43 additions and 1 deletions

View file

@ -3,6 +3,7 @@
from __future__ import annotations
import logging
import os
from collections.abc import Callable
from typing import Any
@ -80,7 +81,11 @@ def create_app(
@app.get("/health")
async def health() -> dict[str, str]:
return {"status": "healthy"}
response = {"status": "healthy"}
version = os.environ.get("KTX_DAEMON_VERSION")
if version:
response["version"] = version
return response
@app.post("/database/introspect", response_model=DatabaseIntrospectionResponse)
async def database_introspect(

View file

@ -69,6 +69,16 @@ def test_health_endpoint_returns_healthy() -> None:
assert response.json() == {"status": "healthy"}
def test_health_endpoint_returns_managed_runtime_version(monkeypatch) -> None:
monkeypatch.setenv("KTX_DAEMON_VERSION", "0.2.0")
client = TestClient(create_app())
response = client.get("/health")
assert response.status_code == 200
assert response.json() == {"status": "healthy", "version": "0.2.0"}
def test_database_introspect_endpoint_returns_snapshot() -> None:
calls = []