From 39b537ab164c96118894afee009e26e623ee6877 Mon Sep 17 00:00:00 2001 From: alhendrickson Date: Thu, 30 Apr 2026 16:01:49 +0000 Subject: [PATCH 1/2] docs: Update helm readmes --- helm-charts/cogstack-ce-helm/README.md | 7 +- helm-charts/cogstack-cohorter-helm/README.md | 100 ++++-------------- .../cogstack-jupyterhub-helm/values.yaml | 2 + .../cogstack-observability-helm/values.yaml | 2 + helm-charts/medcat-service-helm/values.yaml | 2 + helm-charts/medcat-trainer-helm/README.md | 1 + 6 files changed, 31 insertions(+), 83 deletions(-) diff --git a/helm-charts/cogstack-ce-helm/README.md b/helm-charts/cogstack-ce-helm/README.md index 5774b69..cea5614 100644 --- a/helm-charts/cogstack-ce-helm/README.md +++ b/helm-charts/cogstack-ce-helm/README.md @@ -81,10 +81,10 @@ kubectl delete namespace cogstack | 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 | -| file://../cogstack-jupyterhub-helm | cogstack-jupyterhub(cogstack-jupyterhub-helm) | 0.1.0 | | https://opensearch-project.github.io/helm-charts/ | opensearch | 3.5.0 | | https://opensearch-project.github.io/helm-charts/ | opensearch-dashboards | 3.5.0 | @@ -104,6 +104,11 @@ kubectl delete namespace cogstack | 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. | diff --git a/helm-charts/cogstack-cohorter-helm/README.md b/helm-charts/cogstack-cohorter-helm/README.md index fbbc31f..a3f39f1 100644 --- a/helm-charts/cogstack-cohorter-helm/README.md +++ b/helm-charts/cogstack-cohorter-helm/README.md @@ -19,7 +19,8 @@ MedCAT and Ollama are deployed as **subcharts**: - Kubernetes 1.21+ - Helm 3.10+ -- Sufficient node resources for the Ollama model. The default `llama3.2:3b` (~2 GB) runs on CPU. For better NL → DSL accuracy, consider a larger model — see [Ollama model library](https://ollama.com/library) +- A storage class that supports `ReadWriteOnce` PVCs +- Sufficient node resources for the Ollama model (the default `gpt-oss:20b` requires ~14 GB of memory/VRAM) ## Installation @@ -41,7 +42,7 @@ ollama: ollama: models: pull: - - llama3.2:3b # pulled automatically on first startup + - gpt-oss:20b # pulled automatically on first startup persistentVolume: enabled: true size: 10Gi @@ -49,8 +50,6 @@ ollama: Models are pulled automatically by the otwld subchart's built-in init container. Change `ollama.ollama.models.pull` to use a different model — make sure `nl2dsl.env.OLLAMA_MODEL` matches. -`llama3.2:3b` is a lightweight default that runs on CPU but produces lower-quality NL → DSL results. For better accuracy, upgrade to a larger model such as `llama3.1:8b`, `llama3.3:70b`, or `gpt-oss:20b`. Browse all available models at [https://ollama.com/library](https://ollama.com/library). - ### MedCAT ```yaml @@ -140,88 +139,25 @@ For issues and questions, please visit the [CogStack GitHub repository](https:// | Key | Type | Default | Description | |-----|------|---------|-------------| -| autoscaling.enabled | bool | `false` | | -| autoscaling.maxReplicas | int | `3` | | -| autoscaling.minReplicas | int | `1` | | -| autoscaling.targetCPUUtilizationPercentage | int | `80` | | +| autoscaling | object | `{"enabled":false,"maxReplicas":3,"minReplicas":1,"targetCPUUtilizationPercentage":80}` | ------------------------------------------------------------------------- | | fullnameOverride | string | `""` | | -| global.imagePullSecrets | list | `[]` | | -| ingress.annotations | object | `{}` | | -| ingress.className | string | `""` | | -| ingress.enabled | bool | `false` | | -| ingress.hosts[0].host | string | `"cogstack-cohort.local"` | | -| ingress.hosts[0].paths[0].path | string | `"/"` | | -| ingress.hosts[0].paths[0].pathType | string | `"ImplementationSpecific"` | | -| ingress.tls | list | `[]` | | -| medcat.enabled | bool | `true` | | -| medcat.env.APP_ENABLE_METRICS | string | `"true"` | | -| medcat.env.APP_MEDCAT_MODEL_PACK | string | `"/cat/models/examples/example-medcat-v2-model-pack.zip"` | | -| medcat.image.tag | string | `"latest"` | | -| medcat.resources | object | `{}` | | -| medcat.service.port | int | `5000` | | -| nameOverride | string | `""` | | -| nl2dsl.affinity | object | `{}` | | -| nl2dsl.enabled | bool | `true` | | -| nl2dsl.env.ALLOW_ORIGINS | string | `"*"` | | -| nl2dsl.env.OLLAMA_MODEL | string | `"llama3.2:3b"` | | -| nl2dsl.image.pullPolicy | string | `"IfNotPresent"` | | -| nl2dsl.image.repository | string | `"cogstacksystems/cogstack-cohorter-nl2dsl"` | | -| nl2dsl.image.tag | string | `"latest"` | | -| nl2dsl.livenessProbe.httpGet.path | string | `"/"` | | -| nl2dsl.livenessProbe.httpGet.port | string | `"http"` | | -| nl2dsl.livenessProbe.initialDelaySeconds | int | `30` | | -| nl2dsl.livenessProbe.periodSeconds | int | `10` | | -| nl2dsl.nodeSelector | object | `{}` | | -| nl2dsl.readinessProbe.httpGet.path | string | `"/"` | | -| nl2dsl.readinessProbe.httpGet.port | string | `"http"` | | -| nl2dsl.readinessProbe.initialDelaySeconds | int | `10` | | -| nl2dsl.readinessProbe.periodSeconds | int | `5` | | -| nl2dsl.replicaCount | int | `1` | | -| nl2dsl.resources | object | `{}` | | -| nl2dsl.service.port | int | `3002` | | -| nl2dsl.service.type | string | `"ClusterIP"` | | -| nl2dsl.tolerations | list | `[]` | | -| ollama.enabled | bool | `true` | | -| ollama.ollama.models.pull[0] | string | `"llama3.2:3b"` | | -| ollama.persistentVolume.enabled | bool | `true` | | -| ollama.persistentVolume.size | string | `"10Gi"` | | -| ollama.persistentVolume.storageClass | string | `""` | | -| ollama.resources | object | `{}` | | -| ollama.service.port | int | `11434` | | -| ollama.service.type | string | `"ClusterIP"` | | -| podAnnotations | object | `{}` | | +| global | object | `{"imagePullSecrets":[]}` | ------------------------------------------------------------------------- | +| httpRoute | object | `{"annotations":{},"enabled":false,"hostnames":["chart-example.local"],"parentRefs":[{"name":"gateway","sectionName":"http"}],"rules":[{"matches":[{"path":{"type":"PathPrefix","value":"/"}}]}]}` | ------------------------------------------------------------------------- | +| ingress | object | `{"annotations":{},"className":"","enabled":false,"hosts":[{"host":"cogstack-cohort.local","paths":[{"path":"/","pathType":"ImplementationSpecific"}]}],"tls":[]}` | ------------------------------------------------------------------------- | +| medcat | object | `{"enabled":true,"env":{"APP_ENABLE_METRICS":"true","APP_MEDCAT_MODEL_PACK":"/cat/models/examples/example-medcat-v2-model-pack.zip"},"image":{"tag":"latest"},"resources":{},"service":{"port":5000}}` | ------------------------------------------------------------------------- | +| medcat.enabled | bool | `true` | Enable the MedCAT subchart. | +| nameOverride | string | `"cogstack-cohorter"` | ------------------------------------------------------------------------- | +| nl2dsl | object | `{"affinity":{},"enabled":true,"env":{"ALLOW_ORIGINS":"*","OLLAMA_MODEL":"llama3.2:3b"},"image":{"pullPolicy":"Always","repository":"cogstacksystems/cogstack-cohorter-nl2dsl","tag":"latest"},"livenessProbe":{"httpGet":{"path":"/","port":"http"},"initialDelaySeconds":30,"periodSeconds":10},"nodeSelector":{},"readinessProbe":{"httpGet":{"path":"/","port":"http"},"initialDelaySeconds":10,"periodSeconds":5},"replicaCount":1,"resources":{},"service":{"port":3002,"type":"ClusterIP"},"tolerations":[]}` | ------------------------------------------------------------------------- | +| nl2dsl.enabled | bool | `true` | Enable the NL2DSL deployment and service. | +| ollama | object | `{"enabled":true,"ollama":{"models":{"pull":["llama3.2:3b"]}},"persistentVolume":{"enabled":true,"size":"10Gi","storageClass":""},"resources":{},"service":{"port":11434,"type":"ClusterIP"}}` | ------------------------------------------------------------------------- | +| ollama.enabled | bool | `true` | Enable the Ollama subchart. | +| podAnnotations | object | `{}` | ------------------------------------------------------------------------- | | podLabels | object | `{}` | | | podSecurityContext | object | `{}` | | | securityContext | object | `{}` | | -| serviceAccount.annotations | object | `{}` | | -| serviceAccount.automount | bool | `true` | | -| serviceAccount.create | bool | `true` | | -| serviceAccount.name | string | `""` | | -| webapp.affinity | object | `{}` | | -| webapp.enabled | bool | `true` | | -| webapp.env.RANDOM_DATA | string | `"false"` | | -| webapp.image.pullPolicy | string | `"IfNotPresent"` | | -| webapp.image.repository | string | `"cogstacksystems/cogstack-cohorter-webapp"` | | -| webapp.image.tag | string | `"latest"` | | -| webapp.livenessProbe.httpGet.path | string | `"/"` | | -| webapp.livenessProbe.httpGet.port | string | `"http"` | | -| webapp.livenessProbe.initialDelaySeconds | int | `60` | | -| webapp.livenessProbe.periodSeconds | int | `15` | | -| webapp.nodeSelector | object | `{}` | | -| webapp.persistence.accessMode | string | `"ReadWriteOnce"` | | -| webapp.persistence.enabled | bool | `true` | | -| webapp.persistence.existingClaim | string | `""` | | -| webapp.persistence.size | string | `"5Gi"` | | -| webapp.persistence.storageClass | string | `""` | | -| webapp.readinessProbe.httpGet.path | string | `"/"` | | -| webapp.readinessProbe.httpGet.port | string | `"http"` | | -| webapp.readinessProbe.initialDelaySeconds | int | `30` | | -| webapp.readinessProbe.periodSeconds | int | `10` | | -| webapp.replicaCount | int | `1` | | -| webapp.resources | object | `{}` | | -| webapp.service.port | int | `3000` | | -| webapp.service.type | string | `"ClusterIP"` | | -| webapp.tolerations | list | `[]` | | +| serviceAccount | object | `{"annotations":{},"automount":true,"create":true,"name":""}` | ------------------------------------------------------------------------- | +| webapp | object | `{"affinity":{},"data":{"downloadUrl":""},"enabled":true,"env":{"RANDOM_DATA":"true"},"image":{"pullPolicy":"Always","repository":"cogstacksystems/cogstack-cohorter-webapp","tag":"latest"},"initContainers":[],"livenessProbe":{"httpGet":{"path":"/","port":"http"},"initialDelaySeconds":60,"periodSeconds":15},"nodeSelector":{},"persistence":{"accessMode":"ReadWriteOnce","enabled":true,"existingClaim":"","size":"5Gi","storageClass":""},"readinessProbe":{"httpGet":{"path":"/","port":"http"},"initialDelaySeconds":30,"periodSeconds":10},"replicaCount":1,"resources":{},"service":{"port":3000,"type":"ClusterIP"},"tolerations":[]}` | ------------------------------------------------------------------------- | +| webapp.enabled | bool | `true` | Enable the WebApp deployment and service. | ---------------------------------------------- Autogenerated from chart metadata using [helm-docs v1.14.2](https://github.com/norwoodj/helm-docs/releases/v1.14.2) diff --git a/helm-charts/cogstack-jupyterhub-helm/values.yaml b/helm-charts/cogstack-jupyterhub-helm/values.yaml index ba45d72..db1b1fc 100644 --- a/helm-charts/cogstack-jupyterhub-helm/values.yaml +++ b/helm-charts/cogstack-jupyterhub-helm/values.yaml @@ -139,3 +139,5 @@ serviceMonitor: # -- Additional labels to be added to the ServiceMonitor labels: {} tlsConfig: {} + +## \ No newline at end of file diff --git a/helm-charts/cogstack-observability-helm/values.yaml b/helm-charts/cogstack-observability-helm/values.yaml index 60171a5..0ae16be 100644 --- a/helm-charts/cogstack-observability-helm/values.yaml +++ b/helm-charts/cogstack-observability-helm/values.yaml @@ -32,3 +32,5 @@ kube-prometheus-stack: sidecar: dashboards: enabled: true + +## \ No newline at end of file diff --git a/helm-charts/medcat-service-helm/values.yaml b/helm-charts/medcat-service-helm/values.yaml index 3d54ed3..56d7e83 100644 --- a/helm-charts/medcat-service-helm/values.yaml +++ b/helm-charts/medcat-service-helm/values.yaml @@ -267,3 +267,5 @@ serviceMonitor: # -- Additional labels to be added to the ServiceMonitor labels: {} tlsConfig: {} + +## diff --git a/helm-charts/medcat-trainer-helm/README.md b/helm-charts/medcat-trainer-helm/README.md index 8aa48b8..499929d 100644 --- a/helm-charts/medcat-trainer-helm/README.md +++ b/helm-charts/medcat-trainer-helm/README.md @@ -106,6 +106,7 @@ These features are not yet existing but to be added in future: | postgresql.auth.password | string | `"postgres"` | | | postgresql.auth.username | string | `"postgres"` | | | postgresql.enabled | bool | `true` | | +| postgresql.fullnameOverride | string | `"medcat-trainer-postgresql"` | | | postgresql.image.repository | string | `"bitnamilegacy/postgresql"` | | | postgresql.image.tag | string | `"17.6.0-debian-12-r4"` | | | postgresql.primary.persistence.size | string | `"500Mi"` | | From ec66955439292ec94a6ff59830699cba19c84bab Mon Sep 17 00:00:00 2001 From: alhendrickson Date: Thu, 30 Apr 2026 16:02:18 +0000 Subject: [PATCH 2/2] docs: Update helm readmes --- helm-charts/cogstack-jupyterhub-helm/values.yaml | 2 -- helm-charts/cogstack-observability-helm/values.yaml | 2 -- helm-charts/medcat-service-helm/values.yaml | 2 -- 3 files changed, 6 deletions(-) diff --git a/helm-charts/cogstack-jupyterhub-helm/values.yaml b/helm-charts/cogstack-jupyterhub-helm/values.yaml index db1b1fc..ba45d72 100644 --- a/helm-charts/cogstack-jupyterhub-helm/values.yaml +++ b/helm-charts/cogstack-jupyterhub-helm/values.yaml @@ -139,5 +139,3 @@ serviceMonitor: # -- Additional labels to be added to the ServiceMonitor labels: {} tlsConfig: {} - -## \ No newline at end of file diff --git a/helm-charts/cogstack-observability-helm/values.yaml b/helm-charts/cogstack-observability-helm/values.yaml index 0ae16be..60171a5 100644 --- a/helm-charts/cogstack-observability-helm/values.yaml +++ b/helm-charts/cogstack-observability-helm/values.yaml @@ -32,5 +32,3 @@ kube-prometheus-stack: sidecar: dashboards: enabled: true - -## \ No newline at end of file diff --git a/helm-charts/medcat-service-helm/values.yaml b/helm-charts/medcat-service-helm/values.yaml index 56d7e83..3d54ed3 100644 --- a/helm-charts/medcat-service-helm/values.yaml +++ b/helm-charts/medcat-service-helm/values.yaml @@ -267,5 +267,3 @@ serviceMonitor: # -- Additional labels to be added to the ServiceMonitor labels: {} tlsConfig: {} - -##