Skip to content

kastoria-consoleapi

An Admin Console REST API that lets operators inspect stored content and manage SMART launch configurations. The API serves all routes under /api and sits behind a kastoria-proxy or kastoria-proxy-mtls reverse proxy.

Runtime details

Property Value
Runtime base image kastoria-core (final stage), itself node:24-alpine
Exposed port 3005
Container user node (non-root)
Entrypoint node --import /app/admin-console-web-api/src/instrumentation.js /app/admin-console-web-api/src/server.js
Health check GET http://localhost:3005/health (every 30s, 5s timeout, 30s start period, 3 retries)
Stop signal SIGTERM

OCI labels

Label Value
org.opencontainers.image.title Kastoria Admin Console API
org.opencontainers.image.description Admin console REST API for the Kastoria Health platform
org.opencontainers.image.licenses Proprietary
org.opencontainers.image.url https://github.com/merkalis-io/kastoria-health
org.opencontainers.image.documentation https://github.com/merkalis-io/kastoria-health
io.kastoria.health-endpoint /health

The org.opencontainers.image.version, org.opencontainers.image.revision, org.opencontainers.image.created, org.opencontainers.image.source, io.kastoria.base-image, and io.kastoria.service labels are injected at build time by the CI/CD pipeline.

Pull and verify

Promoted images are published to the Distribution Registry under the customer namespace:

docker pull acrmerkalisdist0c66.azurecr.io/<customer>/kastoria-consoleapi:<release-tag>
notation verify acrmerkalisdist0c66.azurecr.io/<customer>/kastoria-consoleapi:<release-tag>

See the Distribution Registry guide for authentication and trust setup.

Environment variables

Variable Secret Required Default Description
NODE_ENV No No production Environment; startup fails if unset.
HOST No No 0.0.0.0 Bind address; startup fails if unset.
OHIF_VIEWER_URL No Yes — OHIF viewer base URL used for launching studies; startup fails if unset.
KASTORIA_CONFIG_JSON[1] Yes one of these — Storage configuration as an inline JSON string.
KASTORIA_CONFIG_FILE[1] No one of these — Path to a storage configuration JSON file.
PORT[2] No No 3005 HTTP port.
SHUTDOWN_HARD_TIMEOUT_MS No No 10000 Hard deadline in ms for graceful shutdown.
DEMO_FEATURES_ENABLED No No false Set to true to show demo / under-construction UI features. Off for customer environments.
OTEL_ENABLED[3] No No false Set to true to enable OpenTelemetry export.
OTEL_EXPORTER_OTLP_ENDPOINT[3] No No — OTLP collector endpoint, e.g. http://otel-gateway:4317.
OTEL_DEBUG[3] No No — Set to true for verbose OTel diagnostic logging.

Deploying to an Azure Container Apps Environment

[1] At least one of KASTORIA_CONFIG_JSON / KASTORIA_CONFIG_FILE is required for storage initialization. If both are set the value of KASTORIA_CONFIG_JSON is used. See Configuration for the document's contents.

[2] The selected value for PORT must match the environment's ingress Target port for the container app.

[3] If OTEL_ENABLED is not explicitly set to true, OpenTelemetry metric/trace/logging is disabled.

Available versions

  • v0.10.0
  • v0.9.1 — deprecated for security reasons (CVE-2026-101916); use v0.10.0