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.0v0.9.1— deprecated for security reasons (CVE-2026-101916); usev0.10.0