Skip to content

Commit a0cc3f7

Browse files
authored
Merge pull request #1129 from jclarysse/jclarysse/readd_karapace_version_to_sr_health_endpoint
feat: re-add `karapace_version` to sr api endpoint `_health`
2 parents 43e29c6 + 0ccb0a7 commit a0cc3f7

2 files changed

Lines changed: 10 additions & 1 deletion

File tree

src/karapace/api/routers/health.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55

66
from dependency_injector.wiring import inject, Provide
77
from fastapi import APIRouter, Depends, HTTPException, status
8+
from karapace import version as karapace_version
89
from karapace.api.container import SchemaRegistryContainer
910
from karapace.core.instrumentation.tracer import Tracer
1011
from karapace.core.schema_registry import KarapaceSchemaRegistry
@@ -26,6 +27,7 @@ class HealthStatus(BaseModel):
2627

2728

2829
class HealthCheck(BaseModel):
30+
karapace_version: str
2931
status: HealthStatus
3032
healthy: bool
3133

@@ -83,4 +85,4 @@ async def health(
8385
health_check_span.set_status(status=StatusCode.ERROR, description="Schema reader is not healthy")
8486
raise HTTPException(status_code=status.HTTP_503_SERVICE_UNAVAILABLE)
8587

86-
return HealthCheck(status=health_status, healthy=True)
88+
return HealthCheck(karapace_version=karapace_version.__version__, status=health_status, healthy=True)

tests/integration/test_health_check.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99

1010
from karapace.core.client import Client
1111
from karapace.core.kafka.admin import KafkaAdminClient
12+
from karapace.version import __version__
1213
from tests.integration.utils.cluster import RegistryDescription
1314

1415

@@ -17,6 +18,12 @@ async def test_health_check(
1718
) -> None:
1819
res = await registry_async_client.get("/_health")
1920
assert res.ok
21+
response = res.json()
22+
assert "karapace_version" in response
23+
assert response["karapace_version"] == __version__
24+
response_status = response.get("status")
25+
assert "schema_registry_startup_time_sec" in response_status
26+
assert response_status["schema_registry_startup_time_sec"] > 0
2027

2128
admin_client.delete_topic(registry_cluster.schemas_topic)
2229

0 commit comments

Comments
 (0)