Skip to content

Commit 256d19d

Browse files
authored
HELM CHART FIXES (#2176)
1 parent a7ba5ef commit 256d19d

File tree

4 files changed

+111
-26
lines changed

4 files changed

+111
-26
lines changed

health-and-life-sciences-ai-suite/multi_modal_patient_monitoring/helm/README.md

Lines changed: 61 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,72 @@
1-
# Health AI Suite – Helm Deployment
1+
# Multi modal patient monitoring – Helm Deployment
22

3-
This Helm chart deploys the **Health & Life Sciences AI Suite** on Kubernetes.
3+
This Helm chart deploys the **Multi modal patient monitoring app** on Kubernetes.
44

55

66
## Prerequisites
77

88
- Kubernetes cluster (Minikube / Kind / Bare-metal)
99
- `kubectl`
1010
- `helm` (v3+)
11+
- A working PersistentVolume provisioner (required for PVC binding)
12+
13+
### Storage prerequisite (required)
14+
15+
This chart creates PVCs (`models-pvc`, `videos-pvc`, `health-ai-assets-pvc`) and expects your
16+
cluster to provide PersistentVolumes through a StorageClass.
17+
18+
If your cluster has no dynamic provisioner, PVCs will remain `Pending` and workloads will not
19+
schedule.
20+
21+
- For single-node/local clusters, install a dynamic provisioner (for example,
22+
`local-path-provisioner`) before installing this chart.
23+
- Or pre-create matching static PersistentVolumes for all claims.
24+
25+
> `local-path-provisioner` does **not** support `ReadWriteMany`.
26+
> Use `ReadWriteOnce` (this chart default) unless you use a RWX-capable storage backend.
27+
28+
## Optional: Proxy configuration
29+
30+
Configure Proxy Settings (If behind a proxy)
31+
32+
If you are deploying in a proxy environment, also update the proxy settings in the same values.yaml file:
33+
```bash
34+
http_proxy: "http://your-proxy-server:port"
35+
https_proxy: "http://your-proxy-server:port"
36+
no_proxy: "localhost,127.0.0.1,.local,.cluster.local"
37+
```
38+
Replace your-proxy-server:port with your actual proxy server details.
39+
40+
41+
Set via CLI if needed:
42+
43+
```bash
44+
--set assets.proxy.enabled=true \
45+
--set assets.proxy.httpProxy=http://your-proxy-server:port\
46+
--set assets.proxy.httpsProxy=http://your-proxy-server:port\
47+
--set assets.proxy.noProxy=localhost,127.0.0.1,.svc,.cluster.local
48+
```
49+
50+
## Setup Storage Provisioner (For Single-Node Clusters)
51+
Check if your cluster has a default storage class with dynamic provisioning. If not, install a storage provisioner:
52+
53+
```bash
54+
# Check for existing storage classes
55+
kubectl get storageclass
56+
57+
# If no storage classes exist or none are marked as default, install local-path-provisioner
58+
# This step is typically needed for single-node bare Kubernetes installations
59+
# (Managed clusters like EKS/GKE/AKS already have storage classes configured)
60+
61+
# Install local-path-provisioner for automatic storage provisioning
62+
kubectl apply -f https://raw.githubusercontent.com/rancher/local-path-provisioner/master/deploy/local-path-storage.yaml
63+
64+
# Set it as default storage class
65+
kubectl patch storageclass local-path -p '{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"true"}}}'
66+
67+
# Verify storage class is ready
68+
kubectl get storageclass
69+
```
1170

1271

1372
## Install

health-and-life-sciences-ai-suite/multi_modal_patient_monitoring/helm/multi_modal_patient_monitoring/templates/assets-job.yaml

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -14,18 +14,24 @@ spec:
1414
- configMapRef:
1515
name: device-config
1616
env:
17+
{{- if .Values.http_proxy }}
1718
- name: HTTP_PROXY
18-
value: "http://proxy-pilot.intel.com:912"
19-
- name: HTTPS_PROXY
20-
value: "http://proxy-pilot.intel.com:912"
19+
value: {{ .Values.http_proxy | quote }}
2120
- name: http_proxy
22-
value: "http://proxy-pilot.intel.com:912"
21+
value: {{ .Values.http_proxy | quote }}
22+
{{- end }}
23+
{{- if .Values.https_proxy }}
24+
- name: HTTPS_PROXY
25+
value: {{ .Values.https_proxy | quote }}
2326
- name: https_proxy
24-
value: "http://proxy-pilot.intel.com:912"
27+
value: {{ .Values.https_proxy | quote }}
28+
{{- end }}
29+
{{- if .Values.no_proxy }}
2530
- name: NO_PROXY
26-
value: "intel.com,.intel.com,10.0.0.0/8,192.168.0.0/16,localhost,.local,127.0.0.0/8,134.134.0.0/16"
31+
value: {{ .Values.no_proxy | quote }}
2732
- name: no_proxy
28-
value: "intel.com,.intel.com,10.0.0.0/8,192.168.0.0/16,localhost,.local,127.0.0.0/8,134.134.0.0/16"
33+
value: {{ .Values.no_proxy | quote }}
34+
{{- end }}
2935
volumeMounts:
3036
- name: models
3137
mountPath: /models

health-and-life-sciences-ai-suite/multi_modal_patient_monitoring/helm/multi_modal_patient_monitoring/templates/pvc.yaml

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,10 @@ metadata:
44
name: models-pvc
55
spec:
66
accessModes:
7-
- ReadWriteMany
7+
- {{ .Values.persistence.accessMode }}
8+
{{- if .Values.persistence.storageClassName }}
9+
storageClassName: {{ .Values.persistence.storageClassName | quote }}
10+
{{- end }}
811
resources:
912
requests:
1013
storage: {{ .Values.persistence.size }}
@@ -16,7 +19,10 @@ metadata:
1619
name: videos-pvc
1720
spec:
1821
accessModes:
19-
- ReadWriteMany
22+
- {{ .Values.persistence.accessMode }}
23+
{{- if .Values.persistence.storageClassName }}
24+
storageClassName: {{ .Values.persistence.storageClassName | quote }}
25+
{{- end }}
2026
resources:
2127
requests:
2228
storage: {{ .Values.persistence.size }}
@@ -28,7 +34,10 @@ metadata:
2834
name: health-ai-assets-pvc
2935
spec:
3036
accessModes:
31-
- ReadWriteMany
37+
- {{ .Values.persistence.accessMode }}
38+
{{- if .Values.persistence.storageClassName }}
39+
storageClassName: {{ .Values.persistence.storageClassName | quote }}
40+
{{- end }}
3241
resources:
3342
requests:
3443
storage: {{ .Values.persistence.size }}

health-and-life-sciences-ai-suite/multi_modal_patient_monitoring/helm/multi_modal_patient_monitoring/values.yaml

Lines changed: 25 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,31 @@
1+
namespace: ""
2+
replicaCount: 1
3+
http_proxy:
4+
https_proxy:
5+
no_proxy: "localhost,127.0.0.1,.svc,.cluster.local"
6+
7+
18
persistence:
29
size: 20Gi
3-
10+
# For local-path-provisioner and most single-node setups, use ReadWriteOnce.
11+
accessMode: ReadWriteOnce
12+
# Leave empty to use the cluster default StorageClass.
13+
storageClassName: ""
14+
415
# Shared PVCs for models and videos
516
models:
617
enabled: true
718
mountPath: /models
819
claimName: models-pvc
9-
20+
1021
videos:
1122
enabled: true
1223
mountPath: /videos
1324
claimName: videos-pvc
14-
25+
1526
service:
1627
type: ClusterIP
17-
28+
1829
ingress:
1930
enabled: true
2031
className: nginx
@@ -45,71 +56,71 @@ ingress:
4556
service: ui
4657
port: 80
4758
tls: []
48-
59+
4960
# Images
5061
ui:
5162
image:
5263
repository: intel
5364
name: hl-ai-ui
5465
tag: "2026.0-rc1"
5566
pullPolicy: IfNotPresent
56-
67+
5768
aggregator:
5869
image:
5970
repository: intel
6071
name: hl-ai-patient-monitoring-aggregator
6172
tag: "2026.0-rc1"
6273
pullPolicy: IfNotPresent
63-
74+
6475
aiEcg:
6576
image:
6677
repository: intel
6778
name: hl-ai-ecg
6879
tag: "2026.0-rc1"
6980
pullPolicy: IfNotPresent
70-
81+
7182
rppg:
7283
image:
7384
repository: intel
7485
name: hl-ai-rppg
7586
tag: "2026.0-rc1"
7687
pullPolicy: IfNotPresent
77-
88+
7889
pose:
7990
image:
8091
repository: intel
8192
name: hl-ai-3dpose
8293
tag: "2026.0-rc1"
8394
pullPolicy: IfNotPresent
84-
95+
8596
metrics:
8697
image:
8798
repository: intel
8899
name: hl-ai-metrics-collector
89100
tag: "2026.0-rc1"
90101
pullPolicy: IfNotPresent
91-
102+
92103
ddsBridge:
93104
image:
94105
repository: intel
95106
name: hl-ai-dds-bridge
96107
tag: "2026.0-rc1"
97108
pullPolicy: IfNotPresent
98-
109+
99110
mdpnp:
100111
image:
101112
repository: intel
102113
name: hl-ai-mdpnp
103114
tag: "2026.0-rc1"
104115
pullPolicy: IfNotPresent
105-
116+
106117
assets:
107118
image:
108119
repository: intel
109120
name: hl-ai-patient-monitoring-assets
110121
tag: "2026.0-rc1"
111122
pullPolicy: IfNotPresent
112-
123+
113124
# Devices
114125
devices:
115126
ECG_DEVICE: "GPU"

0 commit comments

Comments
 (0)