Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
0792c49
Add vss-ui subchart for Live Video Search application
bhardwaj-nakul Mar 21, 2026
d7fd013
Merge branch 'main' into feat/helm-live-search
bhardwaj-nakul Mar 21, 2026
f55c1b4
Merge branch 'main' into feat/helm-live-search
bhardwaj-nakul Mar 23, 2026
6f933ed
Allow telemetry in rtsp case. Refactor service configurations in Helm…
bhardwaj-nakul Mar 23, 2026
11f2b36
Merge branch 'feat/helm-live-search' of https://github.com/bhardwaj-n…
bhardwaj-nakul Mar 23, 2026
1d29d97
Merge branch 'main' into feat/helm-live-search
bhardwaj-nakul Mar 23, 2026
eefbf7b
Add PVC support for collector signals and update storage configurations
bhardwaj-nakul Mar 24, 2026
279ec5b
Merge branch 'feat/helm-live-search' of https://github.com/bhardwaj-n…
bhardwaj-nakul Mar 24, 2026
977aad3
Merge branch 'main' into feat/helm-live-search
bhardwaj-nakul Mar 24, 2026
a5a4f48
Refactor image tag handling across multiple subcharts
bhardwaj-nakul Mar 25, 2026
94661b8
Add access modes for PVCs in shared values and templates
bhardwaj-nakul Mar 26, 2026
208a6bf
Add timeoutSeconds to liveness, readiness, and startup probes in valu…
bhardwaj-nakul Mar 30, 2026
054d111
Merge branch 'main' into feat/helm-live-search
bhardwaj-nakul Mar 30, 2026
2fcebfd
Add timeoutSeconds to liveness, readiness, and startup probes in vide…
bhardwaj-nakul Mar 30, 2026
34d678c
Merge branch 'feat/helm-live-search' of https://github.com/bhardwaj-n…
bhardwaj-nakul Mar 30, 2026
d0c3a82
Update resource requests and limits; adjust liveness probe timeout an…
bhardwaj-nakul Mar 30, 2026
72dc283
Merge branch 'feat/helm-live-search' of https://github.com/bhardwaj-n…
bhardwaj-nakul Apr 1, 2026
9186163
Merge remote-tracking branch 'origin/live-search-rwo' into feat/helm-…
bhardwaj-nakul Apr 1, 2026
3cf6151
merge live-search-rwo
bhardwaj-nakul Apr 1, 2026
1e30b88
Merge branch 'feat/helm-live-search' of https://github.com/bhardwaj-n…
bhardwaj-nakul Apr 1, 2026
065430f
Merge remote-tracking branch 'origin/live-search-rwo' into feat/helm-…
bhardwaj-nakul Apr 1, 2026
69931ca
Add SEARCH_DATAPREP_TIMEOUT_MS to pipeline-manager and increase timeo…
bhardwaj-nakul Apr 1, 2026
bd35288
Added Support for RWX and RWO Storage Class Modes
adithya-vardhang Apr 1, 2026
d377ebf
Merge branch 'main' into feat/helm-live-search
bhardwaj-nakul Apr 1, 2026
26fb67c
Add storageClassName support for RWX PVCs
adithya-vardhang Apr 1, 2026
3c67e57
Merge pull request #2 from bhardwaj-nakul/live-search-rwo
bhardwaj-nakul Apr 1, 2026
96b36ff
Enhance Helm deployment documentation with PVC retention details and …
bhardwaj-nakul Apr 1, 2026
b40064b
Merge branch 'feat/helm-live-search' of https://github.com/bhardwaj-n…
bhardwaj-nakul Apr 1, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
dependencies:
- name: shared
repository: file://subchart/shared
version: 1.0.0
- name: init-resources
repository: file://subchart/init-resources
version: 1.0.0
- name: nginx
repository: file://subchart/nginx
version: 1.0.0
- name: vss-ui
repository: file://subchart/vss-ui
version: 1.0.0
- name: pipeline-manager
repository: file://subchart/pipeline-manager
version: 1.0.0
- name: postgres-service
repository: file://subchart/postgres-service
version: 1.0.0
- name: minio-service
repository: file://subchart/minio-service
version: 1.0.0
- name: vdms-vector-db
repository: file://subchart/vdms-vector-db
version: 1.0.0
- name: multimodal-embedding-serving
repository: file://subchart/multimodal-embedding-serving
version: 1.0.0
- name: vdms-dataprep
repository: file://subchart/vdms-dataprep
version: 1.0.0
- name: video-search
repository: file://subchart/video-search
version: 1.0.0
- name: mqtt-broker
repository: file://subchart/mqtt-broker
version: 1.0.0
- name: redis
repository: file://subchart/redis
version: 1.0.0
- name: frigate-vms
repository: file://subchart/frigate-vms
version: 1.0.0
- name: nvr-event-router
repository: file://subchart/nvr-event-router
version: 1.0.0
- name: rtsp-test
repository: file://subchart/rtsp-test
version: 1.0.0
- name: vss-collector
repository: file://subchart/vss-collector
version: 1.0.0
digest: sha256:098dd823196440a2ea35a9e3f9a35835724ae2374054bd02c3687dbd5a6281fa
generated: "2026-03-19T19:23:41.236818291-07:00"
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
apiVersion: v2
name: live-video-search
description: Umbrella Helm chart for Live Video Search (VSS Search + Smart NVR)
type: application
version: 1.0.0
appVersion: "1.0.0"
dependencies:
- name: shared
version: 1.0.0
repository: "file://subchart/shared"
- name: init-resources
version: 1.0.0
repository: "file://subchart/init-resources"
- name: nginx
version: 1.0.0
repository: "file://subchart/nginx"
- name: vss-ui
version: 1.0.0
repository: "file://subchart/vss-ui"
- name: pipeline-manager
version: 1.0.0
repository: "file://subchart/pipeline-manager"
- name: postgres-service
version: 1.0.0
repository: "file://subchart/postgres-service"
- name: minio-service
version: 1.0.0
repository: "file://subchart/minio-service"
- name: vdms-vector-db
version: 1.0.0
repository: "file://subchart/vdms-vector-db"
- name: multimodal-embedding-serving
version: 1.0.0
repository: "file://subchart/multimodal-embedding-serving"
- name: vdms-dataprep
version: 1.0.0
repository: "file://subchart/vdms-dataprep"
- name: video-search
version: 1.0.0
repository: "file://subchart/video-search"
- name: mqtt-broker
version: 1.0.0
repository: "file://subchart/mqtt-broker"
- name: redis
version: 1.0.0
repository: "file://subchart/redis"
- name: frigate-vms
version: 1.0.0
repository: "file://subchart/frigate-vms"
- name: nvr-event-router
version: 1.0.0
repository: "file://subchart/nvr-event-router"
- name: rtsp-test
version: 1.0.0
repository: "file://subchart/rtsp-test"
- name: vss-collector
version: 1.0.0
repository: "file://subchart/vss-collector"
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
global:
persistence:
rwxEnabled: false

frigate:
mode: default
rtspTest:
enabled: false
telemetry:
enabled: true
hostPathMounts: true

frigate-vms:
service:
frigate:
nodePort: null

nginx:
service:
app:
nodePort: null

minio-service:
service:
minioApi:
nodePort: null
minioConsole:
nodePort: null

nvr-event-router:
service:
nvrEventRouter:
nodePort: null

vss-collector:
collectorSignals:
usePvc: true
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
global:
persistence:
rwxEnabled: false

frigate:
mode: rtsp
rtspTest:
enabled: true

frigate-vms:
frigate:
mode: rtsp
service:
frigate:
nodePort: null

rtsp-test:
frigate:
mode: rtsp
rtspTest:
enabled: true

nginx:
service:
app:
nodePort: null

minio-service:
service:
minioApi:
nodePort: null
minioConsole:
nodePort: null

nvr-event-router:
service:
nvrEventRouter:
nodePort: null

vss-collector:
telemetry:
enabled: true
collectorSignals:
usePvc: true
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
apiVersion: v2
name: frigate-vms
description: Live Video Search frigate-vms subchart
version: 1.0.0
appVersion: "1.0.0"
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
{{- define "lvs.frigate.name" -}}
live-video-search
{{- end -}}

{{- define "lvs.frigate.fullname" -}}
{{- if .Values.fullnameOverride -}}
{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}}
{{- else -}}
{{- printf "%s-%s" .Release.Name (include "lvs.frigate.name" .) | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{- end -}}

{{- define "lvs.frigate.labels" -}}
app.kubernetes.io/name: {{ include "lvs.frigate.name" . }}
helm.sh/chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
app.kubernetes.io/component: frigate-vms
{{- end -}}

{{- define "lvs.frigate.selectorLabels" -}}
app.kubernetes.io/name: {{ include "lvs.frigate.name" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
{{- end -}}

{{- define "lvs.frigate.image" -}}
{{- $registry := .registry | default "" -}}
{{- $repository := .repository -}}
{{- $tag := .tag -}}
{{- if $registry -}}
{{- printf "%s/%s:%s" (trimSuffix "/" $registry) $repository $tag -}}
{{- else -}}
{{- printf "%s:%s" $repository $tag -}}
{{- end -}}
{{- end -}}
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ include "lvs.frigate.fullname" . }}-frigate
labels:
{{- include "lvs.frigate.labels" . | nindent 4 }}
data:
config.yml: |
{{- if eq .Values.frigate.mode "rtsp" }}
{{ .Values.frigate.configs.rtsp | nindent 4 }}
{{- else if eq .Values.frigate.mode "usb" }}
{{ .Values.frigate.configs.usb | nindent 4 }}
{{- else }}
{{ .Values.frigate.configs.default | nindent 4 }}
{{- end }}
Original file line number Diff line number Diff line change
@@ -0,0 +1,119 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: frigate-vms
labels:
{{- include "lvs.frigate.labels" . | nindent 4 }}
spec:
replicas: {{ .Values.replicaCount }}
selector:
matchLabels:
app: frigate-vms
template:
metadata:
labels:
app: frigate-vms
{{- include "lvs.frigate.selectorLabels" . | nindent 8 }}
spec:
{{- if and (eq .Values.frigate.mode "rtsp") (not .Values.global.persistence.rwxEnabled) }}
affinity:
podAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
- labelSelector:
matchExpressions:
- key: app
operator: In
values:
- rtsp-publisher
topologyKey: kubernetes.io/hostname
{{- end }}
{{- with .Values.podSecurityContext }}
securityContext:
{{- toYaml . | nindent 8 }}
{{- end }}
containers:
- name: frigate
image: {{ .Values.images.frigate }}
imagePullPolicy: {{ .Values.imagePullPolicy }}
{{- with .Values.securityContext }}
securityContext:
{{- toYaml . | nindent 12 }}
{{- end }}
env:
- name: no_proxy
value: "{{ .Values.global.proxy.noProxy }},frigate,{{ .Values.smartNvr.vssSummaryIp }},{{ .Values.smartNvr.vlmServingIp }}"
- name: NO_PROXY
value: "{{ .Values.global.proxy.noProxy }},frigate,{{ .Values.smartNvr.vssSummaryIp }},{{ .Values.smartNvr.vlmServingIp }}"
- name: FRIGATE_MQTT_USER
valueFrom:
secretKeyRef:
name: {{ include "lvs.frigate.fullname" . }}-credentials
key: MQTT_USER
- name: FRIGATE_MQTT_PASSWORD
valueFrom:
secretKeyRef:
name: {{ include "lvs.frigate.fullname" . }}-credentials
key: MQTT_PASSWORD
- name: OPENAI_BASE_URL
value: "http://{{ .Values.smartNvr.vlmServingIp }}:{{ .Values.smartNvr.vlmServingPort }}/v1"
- name: OPENAI_API_KEY
value: "your_openai_api_key"
ports:
- containerPort: 5000
name: http
{{- with .Values.livenessProbe }}
livenessProbe:
{{- toYaml . | nindent 12 }}
{{- end }}
{{- with .Values.readinessProbe }}
readinessProbe:
{{- toYaml . | nindent 12 }}
{{- end }}
{{- with .Values.startupProbe }}
startupProbe:
{{- toYaml . | nindent 12 }}
{{- end }}
{{- with .Values.resources }}
resources:
{{- toYaml . | nindent 12 }}
{{- end }}
volumeMounts:
- name: frigate-config
mountPath: /config/config.yml
subPath: config.yml
- name: frigate-cache
mountPath: /tmp/cache
- name: videos
mountPath: /videos
- name: frigate-recordings
mountPath: /media/frigate/recordings
{{- if eq .Values.frigate.mode "usb" }}
- name: usb-camera
mountPath: /dev/video0
{{- end }}
volumes:
- name: frigate-config
configMap:
name: {{ include "lvs.frigate.fullname" . }}-frigate
- name: frigate-cache
emptyDir:
medium: Memory
sizeLimit: 1000Mi
- name: videos
{{- if eq (.Values.global.videos.source | default "download") "local" }}
hostPath:
path: {{ required "global.videos.hostPath is required when global.videos.source=local" .Values.global.videos.hostPath }}
type: Directory
{{- else }}
persistentVolumeClaim:
claimName: {{ include "lvs.frigate.fullname" . }}-videos
{{- end }}
- name: frigate-recordings
persistentVolumeClaim:
claimName: {{ include "lvs.frigate.fullname" . }}-frigate-recordings
{{- if eq .Values.frigate.mode "usb" }}
- name: usb-camera
hostPath:
path: {{ .Values.frigate.usbCameraDevice }}
type: CharDevice
{{- end }}
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
apiVersion: v1
kind: Service
metadata:
name: frigate-vms
labels:
{{- include "lvs.frigate.labels" . | nindent 4 }}
spec:
type: {{ .Values.service.frigate.type }}
ports:
- port: {{ .Values.service.frigate.port }}
targetPort: http
protocol: TCP
name: http
{{- if and (eq .Values.service.frigate.type "NodePort") .Values.service.frigate.nodePort }}
nodePort: {{ .Values.service.frigate.nodePort }}
{{- end }}
selector:
app: frigate-vms
Loading
Loading