Skip to content

CogStack Community Edition Helm Chart

This is a all in one helm chart that runs CogStack on Kubernetes

Overview

This chart is an umbrella chart that deploys:

Component Description
MedCAT Medical Concept Annotation Tool — NER and linking for clinical text.
AnonCAT De-identification service (MedCAT in DEID mode) for anonymising text.
MedCAT Trainer Training and model management for MedCAT, with Solr and PostgreSQL.
OpenSearch Search and analytics engine powering logs and document indexing for CogStack.
OpenSearch Dashboards Visualization and analytics UI for OpenSearch data.
JupyterHub Multi-user notebook server for interactive data science workflows.

Prerequisites

  • Kubernetes cluster
  • Helm 3+

Installation

helm install cogstack oci://registry-1.docker.io/cogstacksystems/cogstack-ce-helm

Configuration

These are some values that are likely to need customization for your deployment:

Value Default Description
medcat-service.replicasCount 1 Number of MedCAT service replicas.
anoncat-service.replicasCount 1 Number of AnonCAT service replicas.
anoncat-service.env.DEID_REDACT false Redaction behaviour for de-identification.
medcat-trainer.env.CSRF_TRUSTED_ORIGINS "http://localhost:8080" CSRF trusted origins for MedCAT Trainer frontend (set correct value for your deployment, this default works for port forwarding).

Subcharts (MedCAT service, AnonCAT service, MedCAT Trainer) support additional options; see their respective charts under ../medcat-service-helm and ../medcat-trainer-helm. Pass them under the same keys as in this chart’s values.yaml (e.g. medcat-service.*, anoncat-service.*, medcat-trainer-helm.*).

Example override file:

# my-values.yaml
medcat-service:
  replicasCount: 2
anoncat-service:
  replicasCount: 1
  env:
    APP_ENABLE_DEMO_UI: true
    DEID_MODE: true

Install with overrides:

helm install cogstack . -f my-values.yaml --namespace cogstack --create-namespace

Dependencies

The chart uses local subcharts via relative paths:

  • medcat-service-helm (as medcat-service and anoncat-service)
  • medcat-trainer-helm
  • cogstack-jupyterhub-helm (as cogstack-jupyterhub)

Uninstall

helm uninstall cogstack-ce --namespace cogstack

If the namespace was created only for this release, remove it with:

kubectl delete namespace cogstack

Requirements

Repository Name Version
file://../cogstack-jupyterhub-helm cogstack-jupyterhub(cogstack-jupyterhub-helm) 0.0.1
file://../medcat-service-helm medcat-service(medcat-service-helm) 0.0.1
file://../medcat-service-helm anoncat-service(medcat-service-helm) 0.0.1
file://../medcat-trainer-helm medcat-trainer(medcat-trainer-helm) 0.0.1
https://opensearch-project.github.io/helm-charts/ opensearch 3.5.0
https://opensearch-project.github.io/helm-charts/ opensearch-dashboards 3.5.0

Values

Key Type Default Description
anoncat-service.enabled bool true Enable AnonCAT service deployment.
anoncat-service.env.APP_MEDCAT_MODEL_PACK string "/cat/models/examples/example-deid-model-pack.zip" Model pack used by the MedCAT service when running in DeID mode.
anoncat-service.env.DEID_MODE bool true Enable DeID mode.
anoncat-service.env.DEID_REDACT bool false Enable redaction behaviour for DeID.
anoncat-service.replicasCount int 1 Number of AnonCAT (medcat-service in DeID mode) replicas.
cogstack-jupyterhub.enabled bool true Enable JupyterHub (with hub and singleuser components).
cogstack-jupyterhub.jupyterhub.hub.config.Authenticator.admin_users list ["admin"] Allowed admin users for the dummy authenticator.
cogstack-jupyterhub.jupyterhub.hub.config.Authenticator.admin_users[0] string "admin" Admin user entry for the dummy authenticator.
cogstack-jupyterhub.jupyterhub.hub.config.DummyAuthenticator.password string "SuperSecret" Password for the dummy authenticator (do not use in production).
cogstack-jupyterhub.jupyterhub.hub.config.JupyterHub.authenticator_class string "dummy" Authenticator class used by JupyterHub (dummy authenticator for demo/non-prod).
cogstack-jupyterhub.jupyterhub.hub.image.name string "cogstacksystems/jupyter-hub" JupyterHub hub image name.
cogstack-jupyterhub.jupyterhub.hub.image.tag string "2.2.2" JupyterHub hub image tag.
cogstack-jupyterhub.jupyterhub.singleuser.extraEnv.ANONCAT_SERVICE_URL.name string "ANONCAT_SERVICE_URL"
cogstack-jupyterhub.jupyterhub.singleuser.extraEnv.ANONCAT_SERVICE_URL.valueFrom.configMapKeyRef.key string "ANONCAT_SERVICE_URL"
cogstack-jupyterhub.jupyterhub.singleuser.extraEnv.ANONCAT_SERVICE_URL.valueFrom.configMapKeyRef.name string "cogstack-ce-helm-jupyterhub-config"
cogstack-jupyterhub.jupyterhub.singleuser.extraEnv.MEDCAT_SERVICE_URL.valueFrom.configMapKeyRef.key string "MEDCAT_SERVICE_URL"
cogstack-jupyterhub.jupyterhub.singleuser.extraEnv.MEDCAT_SERVICE_URL.valueFrom.configMapKeyRef.name string "cogstack-ce-helm-jupyterhub-config"
cogstack-jupyterhub.jupyterhub.singleuser.image.name string "cogstacksystems/jupyter-singleuser" JupyterHub singleuser image name.
cogstack-jupyterhub.jupyterhub.singleuser.image.pullPolicy string "IfNotPresent" JupyterHub singleuser image pull policy.
cogstack-jupyterhub.jupyterhub.singleuser.image.tag string "2.2.2" JupyterHub singleuser image tag.
fullnameOverride string "" Fully override the chart fullname.
imagePullSecrets list [] This is for the secrets for pulling an image from a private repository more information can be found here: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
medcat-service.enabled bool true Enable MedCAT service deployment.
medcat-service.replicasCount int 1 Number of MedCAT service replicas.
medcat-trainer.enabled bool true Enable MedCAT Trainer deployment.
medcat-trainer.env.CSRF_TRUSTED_ORIGINS string "http://localhost:8080" CSRF trusted origins for the MedCAT Trainer frontend (set for your deployment/port-forward).
medcat-trainer.image.tag string "latest@sha256:103215a7540ad614c32866f4cb00ddd91e7aff37cea9abc25dc226c577f9506d" MedCAT Trainer image tag (can be a digest-pinned tag).
medcat-trainer.provisioning.enabled bool true Enable provisioning of projects and models on startup.
medcat-trainer.provisioning.existingConfigMap.name string "cogstack-ce-helm-example-trainer-provisioining" Existing ConfigMap name containing the provisioning configuration.
nameOverride string "" This is to override the chart name.
opensearch-dashboards.enabled bool true Deploy an opensearch-dashboards instance
opensearch.enabled bool true Deploy an opensearch cluster
opensearch.extraEnvs list Sets the initial admin password for OpenSearch Extra environment variables to pass to OpenSearch.
provisioning.enabled bool true Enable provisioning for supporting services (e.g. OpenSearch templates/documents).
provisioning.opensearch.createExampleDocuments bool true Create example documents in OpenSearch on startup.
provisioning.opensearch.createIndexTemplate bool true Create the OpenSearch index template on startup.
provisioning.opensearchDashboards.createDashboards bool true Create dashboards on startup.

Autogenerated from chart metadata using helm-docs v1.14.2