1414 labels :
1515 app : {{ .Release.Name }}-dlstreamer-pipeline-server
1616 spec :
17- securityContext :
18- supplementalGroups : [109,110,992]
17+ runtimeClassName : kata-qemu
1918 volumes :
20- - name : dev
21- hostPath :
22- path : /dev
23- - name : dev-shm
24- hostPath :
25- path : /dev/shm
26- - name : run-udev
27- hostPath :
28- path : /run/udev
2919 - name : dlstreamer-pipeline-server-videos-data
3020 persistentVolumeClaim :
3121 claimName : {{ .Release.Name }}-dlstreamer-pipeline-server-videos-pvc
@@ -47,17 +37,11 @@ spec:
4737 configMap :
4838 name : {{ .Release.Name }}-dlstreamer-pipeline-server-udf
4939 - name : {{ .Release.Name }}-dlstreamer-pipeline-server-rootcert
50- projected :
51- sources :
52- - secret :
53- name : {{ .Release.Name }}-ca-secret
54- items :
55- - key : tls.crt
56- path : root-cert
40+ secret :
41+ secretName : {{ .Release.Name }}-dlstreamer-pipeline-server-rootcert
5742 initContainers :
5843 - name : init-dlstreamer-pipeline-server-videos
59- image : " {{ .Values.images.alpine.repository }}:{{ .Values.images.alpine.tag }}"
60- imagePullPolicy : {{ .Values.imagePullPolicy }}
44+ image : alpine:latest
6145 env :
6246 - name : http_proxy
6347 value : {{ .Values.http_proxy | quote }}
@@ -69,13 +53,29 @@ spec:
6953 - /bin/sh
7054 - -c
7155 - |
72- {{- tpl (include "dlstreamer-pipeline-server.init-videos-script" .) . | nindent 10 }}
56+ if [ -f /data/videos/.done ]; then
57+ echo ".done file exists in /data/videos"
58+ else
59+ echo ".done file does NOT exist in /data/videos"
60+ echo "Downloading videos from GitHub..."
61+ apk add --no-cache wget
62+ mkdir -p /data/videos
63+ VIDEO_URL="https://github.com/intel/metro-ai-suite/raw/refs/heads/videos/videos"
64+ VIDEOS="1122east.ts 1122west.ts 1122north.ts 1122south.ts"
65+ for video in $VIDEOS; do
66+ echo "Downloading $video..."
67+ wget -O "/data/videos/$video" "$VIDEO_URL/$video"
68+ done
69+ echo "Videos downloaded successfully"
70+ touch /data/videos/.done
71+ fi
72+ chown -R 1000:1000 /data
73+ echo "Initializing..."
7374 volumeMounts :
7475 - mountPath : /data/videos
7576 name : dlstreamer-pipeline-server-videos-data
7677 - name : init-dlstreamer-pipeline-server-models
77- image : " {{ .Values.images.alpine.repository }}:{{ .Values.images.alpine.tag }}"
78- imagePullPolicy : {{ .Values.imagePullPolicy }}
78+ image : alpine:latest
7979 env :
8080 - name : http_proxy
8181 value : {{ .Values.http_proxy | quote }}
8787 - /bin/sh
8888 - -c
8989 - |
90- {{- tpl (include "dlstreamer-pipeline-server.init-models-script" .) . | nindent 10 }}
90+ if [ -f /data/models/.done ]; then
91+ echo ".done file exists in /data/models"
92+ else
93+ echo ".done file does NOT exist in /data/models"
94+ echo "Downloading models from GitHub..."
95+ apk add --no-cache wget tar
96+ cd /tmp
97+ wget -O models.tar.gz https://github.com/open-edge-platform/edge-ai-suites/archive/refs/tags/v1.2.0-20250624.tar.gz
98+ tar -xzf models.tar.gz
99+ mkdir -p /data/models
100+ cp -r edge-ai-suites-1.2.0-20250624/metro-ai-suite/smart-intersection/src/dlstreamer-pipeline-server/models/* /data/models/
101+ echo "Models downloaded successfully"
102+ touch /data/models/.done
103+ fi
104+ chown -R 1000:1000 /data
105+ echo "Initializing..."
91106 volumeMounts :
92107 - mountPath : /data/models
93108 name : dlstreamer-pipeline-server-models-data
@@ -102,33 +117,33 @@ spec:
102117 value : {{ .Values.https_proxy | quote }}
103118 - name : no_proxy
104119 value : " {{ .Values.no_proxy }},influxdb2, ntpserv,smart-intersection-broker,smart-intersection-dlstreamer-pipeline-server,smart-intersection-grafana,smart-intersection-nodered,smart-intersection-pgserver,smart-intersection-scene,smart-intersection-web"
105- - name : ZE_ENABLE_ALT_DRIVERS
106- value : " libze_intel_npu.so"
107120 image : {{ .Values.dlstreamerPipelineServer.repository }}:{{ .Values.dlstreamerPipelineServer.tag }}
108121 name : {{ .Release.Name }}-dlstreamer-pipeline-server
109- imagePullPolicy : {{ .Values.imagePullPolicy }}
110- {{- if or .Values.dlstreamerPipelineServer.gpuWorkload .Values.dlstreamerPipelineServer.npuWorkload }}
122+ resources :
123+ requests :
124+ memory : " 16Gi"
125+ cpu : " 4"
126+ limits :
127+ memory : " 16Gi"
128+ cpu : " 4"
129+ imagePullPolicy : {{ .Values.dlstreamerPipelineServer.imagePullPolicy }}
111130 securityContext :
112- privileged : true
113131 runAsUser : 0
114132 runAsGroup : 0
115- {{- else }}
116- securityContext :
117- runAsUser : 0
118- runAsGroup : 0
119- {{- end }}
120- terminationMessagePath : /tmp/termination-log
121133 command : ["/bin/bash", "-c"]
122134 args :
123135 - |
124- {{- tpl (include "dlstreamer-pipeline-server.startup-script" .) . | nindent 12 }}
136+ mkdir -p /run/secrets/certs &&
137+ cp /home/pipeline-server/certs/root-cert /run/secrets/certs/scenescape-ca.pem &&
138+ cp /tmp/pipeline/config.json . &&
139+ mkdir -p /home/pipeline-server/user_scripts/gvapython/sscape &&
140+ cp /tmp/udf/config.json /home/pipeline-server/user_scripts/gvapython/sscape/sscape_adapter.py &&
141+ chmod a+rwx /home/pipeline-server/user_scripts/gvapython/sscape/sscape_adapter.py &&
142+ chown -R intelmicroserviceuser:intelmicroserviceuser /home/pipeline-server/models &&
143+ chown -R intelmicroserviceuser:intelmicroserviceuser /home/pipeline-server/videos &&
144+ echo "$SMART_INTERSECTION_BROKER_SERVICE_HOST $MQTT_HOST" >> /etc/hosts &&
145+ runuser -u intelmicroserviceuser ./run.sh
125146 volumeMounts :
126- - name : dev
127- mountPath : /dev
128- - name : dev-shm
129- mountPath : /dev/shm
130- - name : run-udev
131- mountPath : /run/udev
132147 - mountPath : /home/pipeline-server/videos
133148 name : dlstreamer-pipeline-server-videos-data
134149 - mountPath : /home/pipeline-server/models/object_detection
@@ -151,4 +166,4 @@ spec:
151166 {{- with .Values.imagePullSecrets }}
152167 imagePullSecrets :
153168 {{- toYaml . | nindent 8 }}
154- {{- end }}
169+ {{- end }}
0 commit comments