From beb65a375d9bcdff3b28f981d5d97b04ae5192d4 Mon Sep 17 00:00:00 2001 From: alhendrickson <159636032+alhendrickson@users.noreply.github.com.> Date: Mon, 23 Feb 2026 15:16:23 +0000 Subject: [PATCH 1/3] fix(medcat-service): Metrics API not registering when demo is enabled. Add test --- medcat-service/medcat_service/main.py | 7 ++--- .../scripts/integration_test_functions.sh | 29 ++++++++++++++++--- 2 files changed, 28 insertions(+), 8 deletions(-) diff --git a/medcat-service/medcat_service/main.py b/medcat-service/medcat_service/main.py index d6318e745..6d3425e58 100644 --- a/medcat-service/medcat_service/main.py +++ b/medcat-service/medcat_service/main.py @@ -37,10 +37,6 @@ app.include_router(process.router) -if settings.enable_demo_ui: - mount_gradio_app(app, path=settings.demo_ui_path) - - def configure_observability(settings: Settings, app: FastAPI): if settings.observability.enable_metrics: from prometheus_fastapi_instrumentator import Instrumentator @@ -52,6 +48,9 @@ def configure_observability(settings: Settings, app: FastAPI): configure_observability(settings, app) +if settings.enable_demo_ui: + mount_gradio_app(app, path=settings.demo_ui_path) + @app.exception_handler(HealthCheckFailedException) async def healthcheck_failed_exception_handler(request: Request, exc: HealthCheckFailedException): diff --git a/medcat-service/scripts/integration_test_functions.sh b/medcat-service/scripts/integration_test_functions.sh index b5c78ee8f..f080e3069 100644 --- a/medcat-service/scripts/integration_test_functions.sh +++ b/medcat-service/scripts/integration_test_functions.sh @@ -1,13 +1,34 @@ smoketest_medcat_service() { + local localhost_name="$1" + local docker_compose_file="$2" + local port="${3:-5555}" + + local apis=( + "/api/info" + "/api/health/live" + "/api/health/ready" + "/metrics" + "/docs" + ) + + for api in "${apis[@]}"; do + test_medcat_service_api "$localhost_name" "$docker_compose_file" "$api" "$port" + done +} + + +test_medcat_service_api() { local localhost_name="$1" local docker_compose_file="$2" - local port=${3:-5555} + local resource="${3:-/api/info}" + local port="${4:-5555}" if [ -z "$localhost_name" ] || [ -z "$docker_compose_file" ]; then - echo "Invalid arguments. Usage: health_check " >&2 + echo "Invalid arguments. Usage: smoketest_medcat_service [resource] [port]" >&2 + echo " resource: e.g. /api/info (default: /api/info)" >&2 return 1 fi - API="http://${localhost_name}:${port}/api/info" + API="http://${localhost_name}:${port}${resource}" MAX_RETRIES=12 RETRY_DELAY=5 @@ -23,7 +44,7 @@ smoketest_medcat_service() { break else echo "Attempt $((COUNT+1))/$MAX_RETRIES: Not ready (HTTP $IS_READY)." - docker compose -f ${DOCKER_COMPOSE_FILE} logs + docker compose -f "$docker_compose_file" logs COUNT=$((COUNT+1)) fi done From acbcf93ea8311f38ebe14129525655334edf95e7 Mon Sep 17 00:00:00 2001 From: alhendrickson <159636032+alhendrickson@users.noreply.github.com.> Date: Mon, 23 Feb 2026 15:20:26 +0000 Subject: [PATCH 2/3] fix(medcat-service): Metrics API not registering when demo is enabled. Add test --- medcat-service/docker/docker-compose.example.yml | 2 +- medcat-service/docker/run_example_simple.sh | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/medcat-service/docker/docker-compose.example.yml b/medcat-service/docker/docker-compose.example.yml index f77d0c8e7..b8c801d55 100644 --- a/medcat-service/docker/docker-compose.example.yml +++ b/medcat-service/docker/docker-compose.example.yml @@ -5,6 +5,6 @@ services: restart: unless-stopped environment: # Uses a preloaded model pack example inside the image - - APP_MEDCAT_MODEL_PACK=/cat/models/examples/example-medcat-v2-model-pack.zip + - APP_MEDCAT_MODEL_PACK=/cat/models/examples/example-medcat-v2-model-pack.zip ports: - "5555:5000" diff --git a/medcat-service/docker/run_example_simple.sh b/medcat-service/docker/run_example_simple.sh index 7d33bb105..f9861918a 100755 --- a/medcat-service/docker/run_example_simple.sh +++ b/medcat-service/docker/run_example_simple.sh @@ -17,6 +17,8 @@ fi # To run in a container run "export LOCALHOST_NAME=host.docker.internal" LOCALHOST_NAME=${LOCALHOST_NAME:-localhost} +export APP_ENABLE_METRICS=True +export APP_ENABLE_DEMO_UI=True echo "Running docker-compose" docker compose -f ${DOCKER_COMPOSE_FILE} up -d From 8fd0ddc59835c1a5908c529e0b30c185a65b8bbc Mon Sep 17 00:00:00 2001 From: alhendrickson <159636032+alhendrickson@users.noreply.github.com.> Date: Mon, 23 Feb 2026 15:56:05 +0000 Subject: [PATCH 3/3] fix(medcat-service): Metrics API not registering when demo is enabled. Add to docker examples --- medcat-service/docker/docker-compose.example.deid.yml | 2 ++ medcat-service/docker/docker-compose.example.v1.yml | 2 ++ medcat-service/docker/docker-compose.example.yml | 2 ++ medcat-service/docker/run_example_simple.sh | 2 -- 4 files changed, 6 insertions(+), 2 deletions(-) diff --git a/medcat-service/docker/docker-compose.example.deid.yml b/medcat-service/docker/docker-compose.example.deid.yml index 47725a4cb..3e92e5ff8 100644 --- a/medcat-service/docker/docker-compose.example.deid.yml +++ b/medcat-service/docker/docker-compose.example.deid.yml @@ -8,5 +8,7 @@ services: - APP_MEDCAT_MODEL_PACK=/cat/models/examples/example-deid-model-pack.zip - DEID_MODE=True - DEID_REDACT=True + - APP_ENABLE_METRICS=True + - APP_ENABLE_DEMO_UI=True ports: - "5555:5000" diff --git a/medcat-service/docker/docker-compose.example.v1.yml b/medcat-service/docker/docker-compose.example.v1.yml index 9af029ffb..92064620d 100644 --- a/medcat-service/docker/docker-compose.example.v1.yml +++ b/medcat-service/docker/docker-compose.example.v1.yml @@ -6,5 +6,7 @@ services: environment: # Uses a preloaded model pack example inside the image - APP_MEDCAT_MODEL_PACK=/cat/models/examples/example-medcat-v1-model-pack.zip + - APP_ENABLE_METRICS=True + - APP_ENABLE_DEMO_UI=True ports: - "5555:5000" diff --git a/medcat-service/docker/docker-compose.example.yml b/medcat-service/docker/docker-compose.example.yml index b8c801d55..5ca0a6830 100644 --- a/medcat-service/docker/docker-compose.example.yml +++ b/medcat-service/docker/docker-compose.example.yml @@ -6,5 +6,7 @@ services: environment: # Uses a preloaded model pack example inside the image - APP_MEDCAT_MODEL_PACK=/cat/models/examples/example-medcat-v2-model-pack.zip + - APP_ENABLE_METRICS=True + - APP_ENABLE_DEMO_UI=True ports: - "5555:5000" diff --git a/medcat-service/docker/run_example_simple.sh b/medcat-service/docker/run_example_simple.sh index f9861918a..7d33bb105 100755 --- a/medcat-service/docker/run_example_simple.sh +++ b/medcat-service/docker/run_example_simple.sh @@ -17,8 +17,6 @@ fi # To run in a container run "export LOCALHOST_NAME=host.docker.internal" LOCALHOST_NAME=${LOCALHOST_NAME:-localhost} -export APP_ENABLE_METRICS=True -export APP_ENABLE_DEMO_UI=True echo "Running docker-compose" docker compose -f ${DOCKER_COMPOSE_FILE} up -d