mirror of
https://github.com/suitenumerique/meet.git
synced 2026-08-29 11:47:15 +00:00
🔧(build) update docker, helm, and compose for MetadataCollectorService
Updated Dockerfile, Helm charts, and Docker Compose configuration to integrate the newly introduced MetadataCollectorService.
This commit is contained in:
+23
@@ -246,6 +246,29 @@ services:
|
|||||||
depends_on:
|
depends_on:
|
||||||
- redis
|
- redis
|
||||||
|
|
||||||
|
metadata-collector-dev:
|
||||||
|
build:
|
||||||
|
context: ./src/agents
|
||||||
|
command: ["python", "metadata_collector.py", "dev"]
|
||||||
|
environment:
|
||||||
|
- LIVEKIT_URL=ws://livekit:7880
|
||||||
|
- LIVEKIT_API_KEY=devkey
|
||||||
|
- LIVEKIT_API_SECRET=secret
|
||||||
|
- AWS_S3_ENDPOINT_URL=minio:9000
|
||||||
|
- AWS_S3_ACCESS_KEY_ID=meet
|
||||||
|
- AWS_S3_SECRET_ACCESS_KEY=password
|
||||||
|
- AWS_STORAGE_BUCKET_NAME=meet-media-storage
|
||||||
|
- AWS_S3_SECURE_ACCESS=False
|
||||||
|
volumes:
|
||||||
|
- ./src/agents:/app
|
||||||
|
depends_on:
|
||||||
|
- livekit
|
||||||
|
- minio
|
||||||
|
develop:
|
||||||
|
watch:
|
||||||
|
- action: rebuild
|
||||||
|
path: ./src/agents
|
||||||
|
|
||||||
redis-summary:
|
redis-summary:
|
||||||
image: redis
|
image: redis
|
||||||
ports:
|
ports:
|
||||||
|
|||||||
+16
-5
@@ -15,19 +15,30 @@ COPY pyproject.toml .
|
|||||||
RUN mkdir /install && \
|
RUN mkdir /install && \
|
||||||
pip install --prefix=/install .
|
pip install --prefix=/install .
|
||||||
|
|
||||||
|
FROM base AS development
|
||||||
|
|
||||||
|
WORKDIR /app
|
||||||
|
|
||||||
|
COPY pyproject.toml .
|
||||||
|
RUN pip install --no-cache-dir ".[dev]"
|
||||||
|
|
||||||
|
COPY . .
|
||||||
|
|
||||||
|
CMD ["python", "metadata_collector.py", "dev"]
|
||||||
|
|
||||||
FROM base AS production
|
FROM base AS production
|
||||||
|
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
|
|
||||||
|
COPY --from=builder /install /usr/local
|
||||||
|
|
||||||
# Remove pip to reduce attack surface in production
|
# Remove pip to reduce attack surface in production
|
||||||
RUN pip uninstall -y pip
|
RUN pip uninstall -y pip
|
||||||
|
|
||||||
|
# Un-privileged user running the application
|
||||||
ARG DOCKER_USER
|
ARG DOCKER_USER
|
||||||
USER ${DOCKER_USER}
|
USER ${DOCKER_USER}
|
||||||
|
|
||||||
# Un-privileged user running the application
|
COPY ./*.py /app/
|
||||||
COPY --from=builder /install /usr/local
|
|
||||||
|
|
||||||
COPY . .
|
CMD ["python", "multi_user_transcriber.py", "start"]
|
||||||
|
|
||||||
CMD ["python", "multi-user-transcriber.py", "start"]
|
|
||||||
|
|||||||
@@ -125,6 +125,7 @@ backend:
|
|||||||
AWS_S3_DOMAIN_REPLACE: https://minio.127.0.0.1.nip.io
|
AWS_S3_DOMAIN_REPLACE: https://minio.127.0.0.1.nip.io
|
||||||
CELERY_ENABLED: True
|
CELERY_ENABLED: True
|
||||||
CELERY_BROKER_URL: redis://default:pass@redis-master:6379/1
|
CELERY_BROKER_URL: redis://default:pass@redis-master:6379/1
|
||||||
|
METADATA_COLLECTOR_ENABLED: True
|
||||||
|
|
||||||
migrate:
|
migrate:
|
||||||
command:
|
command:
|
||||||
@@ -253,7 +254,50 @@ celerySummaryBackend:
|
|||||||
- "-Q"
|
- "-Q"
|
||||||
- "call-webhook-queue-v2"
|
- "call-webhook-queue-v2"
|
||||||
|
|
||||||
agents:
|
agentMetadata:
|
||||||
|
replicas: 1
|
||||||
|
envVars:
|
||||||
|
LIVEKIT_URL: https://livekit.127.0.0.1.nip.io/
|
||||||
|
{{- with .Values.livekit.keys }}
|
||||||
|
{{- range $key, $value := . }}
|
||||||
|
LIVEKIT_API_SECRET: {{ $value }}
|
||||||
|
LIVEKIT_API_KEY: {{ $key }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
ENABLE_SILERO_VAD: "false"
|
||||||
|
AWS_S3_ENDPOINT_URL: minio.meet.svc.cluster.local:9000
|
||||||
|
AWS_S3_ACCESS_KEY_ID: meet
|
||||||
|
AWS_S3_SECRET_ACCESS_KEY: password
|
||||||
|
AWS_S3_SECURE_ACCESS: False
|
||||||
|
AWS_STORAGE_BUCKET_NAME: meet-media-storage
|
||||||
|
AWS_S3_OUTPUT_FOLDER: metadata
|
||||||
|
|
||||||
|
image:
|
||||||
|
repository: localhost:5001/meet-agents
|
||||||
|
pullPolicy: Always
|
||||||
|
tag: "latest"
|
||||||
|
|
||||||
|
command:
|
||||||
|
- "python"
|
||||||
|
- "metadata_collector.py"
|
||||||
|
- "start"
|
||||||
|
|
||||||
|
# Extra volume mounts to manage our local custom CA and avoid to disable ssl
|
||||||
|
extraVolumeMounts:
|
||||||
|
- name: certs
|
||||||
|
mountPath: /usr/lib/ssl/cert.pem
|
||||||
|
subPath: cert.pem
|
||||||
|
|
||||||
|
# Extra volumes to manage our local custom CA and avoid to disable ssl
|
||||||
|
extraVolumes:
|
||||||
|
- name: certs
|
||||||
|
configMap:
|
||||||
|
name: certifi
|
||||||
|
items:
|
||||||
|
- key: cacert.pem
|
||||||
|
path: cert.pem
|
||||||
|
|
||||||
|
agentSubtitles:
|
||||||
replicas: 1
|
replicas: 1
|
||||||
envVars:
|
envVars:
|
||||||
LIVEKIT_URL: https://livekit.127.0.0.1.nip.io/
|
LIVEKIT_URL: https://livekit.127.0.0.1.nip.io/
|
||||||
@@ -270,6 +314,11 @@ agents:
|
|||||||
pullPolicy: Always
|
pullPolicy: Always
|
||||||
tag: "latest"
|
tag: "latest"
|
||||||
|
|
||||||
|
command:
|
||||||
|
- "python"
|
||||||
|
- "multi_user_transcriber.py"
|
||||||
|
- "start"
|
||||||
|
|
||||||
# Extra volume mounts to manage our local custom CA and avoid to disable ssl
|
# Extra volume mounts to manage our local custom CA and avoid to disable ssl
|
||||||
extraVolumeMounts:
|
extraVolumeMounts:
|
||||||
- name: certs
|
- name: certs
|
||||||
|
|||||||
@@ -213,12 +213,21 @@ Requires top level scope
|
|||||||
|
|
||||||
|
|
||||||
{{/*
|
{{/*
|
||||||
Full name for the agents
|
Full name for the agent metadata
|
||||||
|
|
||||||
Requires top level scope
|
Requires top level scope
|
||||||
*/}}
|
*/}}
|
||||||
{{- define "meet.agents.fullname" -}}
|
{{- define "meet.agentMetadata.fullname" -}}
|
||||||
{{ include "meet.fullname" . }}-agents
|
{{ include "meet.fullname" . }}-agent-metadata
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
|
{{/*
|
||||||
|
Full name for the agent subtitles
|
||||||
|
|
||||||
|
Requires top level scope
|
||||||
|
*/}}
|
||||||
|
{{- define "meet.agentSubtitles.fullname" -}}
|
||||||
|
{{ include "meet.fullname" . }}-agent-subtitles
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
|
||||||
{{/*
|
{{/*
|
||||||
|
|||||||
+24
-24
@@ -1,26 +1,26 @@
|
|||||||
{{- $envVars := include "meet.common.env" (list . .Values.agents) -}}
|
{{- $envVars := include "meet.common.env" (list . .Values.agentMetadata) -}}
|
||||||
{{- $fullName := include "meet.agents.fullname" . -}}
|
{{- $fullName := include "meet.agentMetadata.fullname" . -}}
|
||||||
{{- $component := "agents" -}}
|
{{- $component := "agent-metadata" -}}
|
||||||
apiVersion: apps/v1
|
apiVersion: apps/v1
|
||||||
kind: Deployment
|
kind: Deployment
|
||||||
metadata:
|
metadata:
|
||||||
name: {{ $fullName }}
|
name: {{ $fullName }}
|
||||||
annotations:
|
annotations:
|
||||||
{{- with .Values.agents.dpAnnotations }}
|
{{- with .Values.agentMetadata.dpAnnotations }}
|
||||||
{{- toYaml . | nindent 4 }}
|
{{- toYaml . | nindent 4 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
namespace: {{ .Release.Namespace | quote }}
|
namespace: {{ .Release.Namespace | quote }}
|
||||||
labels:
|
labels:
|
||||||
{{- include "meet.common.labels" (list . $component) | nindent 4 }}
|
{{- include "meet.common.labels" (list . $component) | nindent 4 }}
|
||||||
spec:
|
spec:
|
||||||
replicas: {{ .Values.agents.replicas }}
|
replicas: {{ .Values.agentMetadata.replicas }}
|
||||||
selector:
|
selector:
|
||||||
matchLabels:
|
matchLabels:
|
||||||
{{- include "meet.common.selectorLabels" (list . $component) | nindent 6 }}
|
{{- include "meet.common.selectorLabels" (list . $component) | nindent 6 }}
|
||||||
template:
|
template:
|
||||||
metadata:
|
metadata:
|
||||||
annotations:
|
annotations:
|
||||||
{{- with .Values.agents.podAnnotations }}
|
{{- with .Values.agentMetadata.podAnnotations }}
|
||||||
{{- toYaml . | nindent 8 }}
|
{{- toYaml . | nindent 8 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
labels:
|
labels:
|
||||||
@@ -30,23 +30,23 @@ spec:
|
|||||||
imagePullSecrets:
|
imagePullSecrets:
|
||||||
- name: {{ include "meet.secret.dockerconfigjson.name" (dict "fullname" (include "meet.fullname" .) "imageCredentials" $.Values.image.credentials) }}
|
- name: {{ include "meet.secret.dockerconfigjson.name" (dict "fullname" (include "meet.fullname" .) "imageCredentials" $.Values.image.credentials) }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
shareProcessNamespace: {{ .Values.agents.shareProcessNamespace }}
|
shareProcessNamespace: {{ .Values.agentMetadata.shareProcessNamespace }}
|
||||||
{{- with .Values.agents.podSecurityContext }}
|
{{- with .Values.agentMetadata.podSecurityContext }}
|
||||||
securityContext:
|
securityContext:
|
||||||
{{- toYaml . | nindent 8 }}
|
{{- toYaml . | nindent 8 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
containers:
|
containers:
|
||||||
{{- with .Values.agents.sidecars }}
|
{{- with .Values.agentMetadata.sidecars }}
|
||||||
{{- toYaml . | nindent 8 }}
|
{{- toYaml . | nindent 8 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
- name: {{ .Chart.Name }}
|
- name: {{ .Chart.Name }}
|
||||||
image: "{{ (.Values.agents.image | default dict).repository | default .Values.agents.image.repository }}:{{ (.Values.agents.image | default dict).tag | default .Values.agents.image.tag }}"
|
image: "{{ (.Values.agentMetadata.image | default dict).repository | default .Values.agentMetadata.image.repository }}:{{ (.Values.agentMetadata.image | default dict).tag | default .Values.agentMetadata.image.tag }}"
|
||||||
imagePullPolicy: {{ (.Values.agents.image | default dict).pullPolicy | default .Values.agents.image.pullPolicy }}
|
imagePullPolicy: {{ (.Values.agentMetadata.image | default dict).pullPolicy | default .Values.agentMetadata.image.pullPolicy }}
|
||||||
{{- with .Values.agents.command }}
|
{{- with .Values.agentMetadata.command }}
|
||||||
command:
|
command:
|
||||||
{{- toYaml . | nindent 12 }}
|
{{- toYaml . | nindent 12 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- with .Values.agents.args }}
|
{{- with .Values.agentMetadata.args }}
|
||||||
args:
|
args:
|
||||||
{{- toYaml . | nindent 12 }}
|
{{- toYaml . | nindent 12 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
@@ -54,11 +54,11 @@ spec:
|
|||||||
{{- if $envVars }}
|
{{- if $envVars }}
|
||||||
{{- $envVars | indent 12 }}
|
{{- $envVars | indent 12 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- with .Values.agents.securityContext }}
|
{{- with .Values.agentMetadata.securityContext }}
|
||||||
securityContext:
|
securityContext:
|
||||||
{{- toYaml . | nindent 12 }}
|
{{- toYaml . | nindent 12 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- with .Values.agents.resources }}
|
{{- with .Values.agentMetadata.resources }}
|
||||||
resources:
|
resources:
|
||||||
{{- toYaml . | nindent 12 }}
|
{{- toYaml . | nindent 12 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
@@ -68,35 +68,35 @@ spec:
|
|||||||
mountPath: {{ $value.path }}
|
mountPath: {{ $value.path }}
|
||||||
subPath: content
|
subPath: content
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- range $name, $volume := .Values.agents.persistence }}
|
{{- range $name, $volume := .Values.agentMetadata.persistence }}
|
||||||
- name: "{{ $name }}"
|
- name: "{{ $name }}"
|
||||||
mountPath: "{{ $volume.mountPath }}"
|
mountPath: "{{ $volume.mountPath }}"
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- range .Values.agents.extraVolumeMounts }}
|
{{- range .Values.agentMetadata.extraVolumeMounts }}
|
||||||
- name: {{ .name }}
|
- name: {{ .name }}
|
||||||
mountPath: {{ .mountPath }}
|
mountPath: {{ .mountPath }}
|
||||||
subPath: {{ .subPath | default "" }}
|
subPath: {{ .subPath | default "" }}
|
||||||
readOnly: {{ .readOnly }}
|
readOnly: {{ .readOnly }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- with .Values.agents.nodeSelector }}
|
{{- with .Values.agentMetadata.nodeSelector }}
|
||||||
nodeSelector:
|
nodeSelector:
|
||||||
{{- toYaml . | nindent 8 }}
|
{{- toYaml . | nindent 8 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- with .Values.agents.affinity }}
|
{{- with .Values.agentMetadata.affinity }}
|
||||||
affinity:
|
affinity:
|
||||||
{{- toYaml . | nindent 8 }}
|
{{- toYaml . | nindent 8 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- with .Values.agents.tolerations }}
|
{{- with .Values.agentMetadata.tolerations }}
|
||||||
tolerations:
|
tolerations:
|
||||||
{{- toYaml . | nindent 8 }}
|
{{- toYaml . | nindent 8 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
volumes:
|
volumes:
|
||||||
{{- range $index, $value := .Values.agents.mountFiles }}
|
{{- range $index, $value := .Values.agentMetadata.mountFiles }}
|
||||||
- name: "files-{{ $index }}"
|
- name: "files-{{ $index }}"
|
||||||
configMap:
|
configMap:
|
||||||
name: "{{ include "meet.fullname" $ }}-files-{{ $index }}"
|
name: "{{ include "meet.fullname" $ }}-files-{{ $index }}"
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- range $name, $volume := .Values.agents.persistence }}
|
{{- range $name, $volume := .Values.agentMetadata.persistence }}
|
||||||
- name: "{{ $name }}"
|
- name: "{{ $name }}"
|
||||||
{{- if eq $volume.type "emptyDir" }}
|
{{- if eq $volume.type "emptyDir" }}
|
||||||
emptyDir: {}
|
emptyDir: {}
|
||||||
@@ -105,7 +105,7 @@ spec:
|
|||||||
claimName: "{{ $fullName }}-{{ $name }}"
|
claimName: "{{ $fullName }}-{{ $name }}"
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- range .Values.agents.extraVolumes }}
|
{{- range .Values.agentMetadata.extraVolumes }}
|
||||||
- name: {{ .name }}
|
- name: {{ .name }}
|
||||||
{{- if .existingClaim }}
|
{{- if .existingClaim }}
|
||||||
persistentVolumeClaim:
|
persistentVolumeClaim:
|
||||||
@@ -127,7 +127,7 @@ spec:
|
|||||||
{{- end }}
|
{{- end }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
---
|
---
|
||||||
{{ if .Values.agents.pdb.enabled }}
|
{{ if .Values.agentMetadata.pdb.enabled }}
|
||||||
apiVersion: policy/v1
|
apiVersion: policy/v1
|
||||||
kind: PodDisruptionBudget
|
kind: PodDisruptionBudget
|
||||||
metadata:
|
metadata:
|
||||||
@@ -0,0 +1,141 @@
|
|||||||
|
{{- $envVars := include "meet.common.env" (list . .Values.agentSubtitles) -}}
|
||||||
|
{{- $fullName := include "meet.agentSubtitles.fullname" . -}}
|
||||||
|
{{- $component := "agent-subtitles" -}}
|
||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
name: {{ $fullName }}
|
||||||
|
annotations:
|
||||||
|
{{- with .Values.agentSubtitles.dpAnnotations }}
|
||||||
|
{{- toYaml . | nindent 4 }}
|
||||||
|
{{- end }}
|
||||||
|
namespace: {{ .Release.Namespace | quote }}
|
||||||
|
labels:
|
||||||
|
{{- include "meet.common.labels" (list . $component) | nindent 4 }}
|
||||||
|
spec:
|
||||||
|
replicas: {{ .Values.agentSubtitles.replicas }}
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
{{- include "meet.common.selectorLabels" (list . $component) | nindent 6 }}
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
annotations:
|
||||||
|
{{- with .Values.agentSubtitles.podAnnotations }}
|
||||||
|
{{- toYaml . | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
labels:
|
||||||
|
{{- include "meet.common.selectorLabels" (list . $component) | nindent 8 }}
|
||||||
|
spec:
|
||||||
|
{{- if $.Values.image.credentials }}
|
||||||
|
imagePullSecrets:
|
||||||
|
- name: {{ include "meet.secret.dockerconfigjson.name" (dict "fullname" (include "meet.fullname" .) "imageCredentials" $.Values.image.credentials) }}
|
||||||
|
{{- end }}
|
||||||
|
shareProcessNamespace: {{ .Values.agentSubtitles.shareProcessNamespace }}
|
||||||
|
{{- with .Values.agentSubtitles.podSecurityContext }}
|
||||||
|
securityContext:
|
||||||
|
{{- toYaml . | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
containers:
|
||||||
|
{{- with .Values.agentSubtitles.sidecars }}
|
||||||
|
{{- toYaml . | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
- name: {{ .Chart.Name }}
|
||||||
|
image: "{{ (.Values.agentSubtitles.image | default dict).repository | default .Values.agentSubtitles.image.repository }}:{{ (.Values.agentSubtitles.image | default dict).tag | default .Values.agentSubtitles.image.tag }}"
|
||||||
|
imagePullPolicy: {{ (.Values.agentSubtitles.image | default dict).pullPolicy | default .Values.agentSubtitles.image.pullPolicy }}
|
||||||
|
{{- with .Values.agentSubtitles.command }}
|
||||||
|
command:
|
||||||
|
{{- toYaml . | nindent 12 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- with .Values.agentSubtitles.args }}
|
||||||
|
args:
|
||||||
|
{{- toYaml . | nindent 12 }}
|
||||||
|
{{- end }}
|
||||||
|
env:
|
||||||
|
{{- if $envVars }}
|
||||||
|
{{- $envVars | indent 12 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- with .Values.agentSubtitles.securityContext }}
|
||||||
|
securityContext:
|
||||||
|
{{- toYaml . | nindent 12 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- with .Values.agentSubtitles.resources }}
|
||||||
|
resources:
|
||||||
|
{{- toYaml . | nindent 12 }}
|
||||||
|
{{- end }}
|
||||||
|
volumeMounts:
|
||||||
|
{{- range $index, $value := .Values.mountFiles }}
|
||||||
|
- name: "files-{{ $index }}"
|
||||||
|
mountPath: {{ $value.path }}
|
||||||
|
subPath: content
|
||||||
|
{{- end }}
|
||||||
|
{{- range $name, $volume := .Values.agentSubtitles.persistence }}
|
||||||
|
- name: "{{ $name }}"
|
||||||
|
mountPath: "{{ $volume.mountPath }}"
|
||||||
|
{{- end }}
|
||||||
|
{{- range .Values.agentSubtitles.extraVolumeMounts }}
|
||||||
|
- name: {{ .name }}
|
||||||
|
mountPath: {{ .mountPath }}
|
||||||
|
subPath: {{ .subPath | default "" }}
|
||||||
|
readOnly: {{ .readOnly }}
|
||||||
|
{{- end }}
|
||||||
|
{{- with .Values.agentSubtitles.nodeSelector }}
|
||||||
|
nodeSelector:
|
||||||
|
{{- toYaml . | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- with .Values.agentSubtitles.affinity }}
|
||||||
|
affinity:
|
||||||
|
{{- toYaml . | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- with .Values.agentSubtitles.tolerations }}
|
||||||
|
tolerations:
|
||||||
|
{{- toYaml . | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
volumes:
|
||||||
|
{{- range $index, $value := .Values.agentSubtitles.mountFiles }}
|
||||||
|
- name: "files-{{ $index }}"
|
||||||
|
configMap:
|
||||||
|
name: "{{ include "meet.fullname" $ }}-files-{{ $index }}"
|
||||||
|
{{- end }}
|
||||||
|
{{- range $name, $volume := .Values.agentSubtitles.persistence }}
|
||||||
|
- name: "{{ $name }}"
|
||||||
|
{{- if eq $volume.type "emptyDir" }}
|
||||||
|
emptyDir: {}
|
||||||
|
{{- else }}
|
||||||
|
persistentVolumeClaim:
|
||||||
|
claimName: "{{ $fullName }}-{{ $name }}"
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
{{- range .Values.agentSubtitles.extraVolumes }}
|
||||||
|
- name: {{ .name }}
|
||||||
|
{{- if .existingClaim }}
|
||||||
|
persistentVolumeClaim:
|
||||||
|
claimName: {{ .existingClaim }}
|
||||||
|
{{- else if .hostPath }}
|
||||||
|
hostPath:
|
||||||
|
{{ toYaml .hostPath | nindent 12 }}
|
||||||
|
{{- else if .csi }}
|
||||||
|
csi:
|
||||||
|
{{- toYaml .csi | nindent 12 }}
|
||||||
|
{{- else if .configMap }}
|
||||||
|
configMap:
|
||||||
|
{{- toYaml .configMap | nindent 12 }}
|
||||||
|
{{- else if .emptyDir }}
|
||||||
|
emptyDir:
|
||||||
|
{{- toYaml .emptyDir | nindent 12 }}
|
||||||
|
{{- else }}
|
||||||
|
emptyDir: {}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
---
|
||||||
|
{{ if .Values.agentSubtitles.pdb.enabled }}
|
||||||
|
apiVersion: policy/v1
|
||||||
|
kind: PodDisruptionBudget
|
||||||
|
metadata:
|
||||||
|
name: {{ $fullName }}
|
||||||
|
namespace: {{ .Release.Namespace | quote }}
|
||||||
|
spec:
|
||||||
|
maxUnavailable: 1
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
{{- include "meet.common.selectorLabels" (list . $component) | nindent 6 }}
|
||||||
|
{{ end }}
|
||||||
+113
-34
@@ -1061,51 +1061,130 @@ celerySummaryBackend:
|
|||||||
enabled: false
|
enabled: false
|
||||||
|
|
||||||
|
|
||||||
## @section agents
|
## @section agentMetadata
|
||||||
|
|
||||||
agents:
|
agentMetadata:
|
||||||
|
|
||||||
## @param agents.image.repository Repository to use to pull meet's agents container image
|
## @param agentMetadata.image.repository Repository to use to pull meet's agentMetadata container image
|
||||||
## @param agents.image.tag meet's agents container tag
|
## @param agentMetadata.image.tag meet's agentMetadata container tag
|
||||||
## @param agents.image.pullPolicy agents container image pull policy
|
## @param agentMetadata.image.pullPolicy agentMetadata container image pull policy
|
||||||
image:
|
image:
|
||||||
repository: lasuite/meet-agents
|
repository: lasuite/meet-agents
|
||||||
pullPolicy: IfNotPresent
|
pullPolicy: IfNotPresent
|
||||||
tag: "latest"
|
tag: "latest"
|
||||||
|
|
||||||
## @param agents.dpAnnotations Annotations to add to the agents Deployment
|
## @param agentMetadata.dpAnnotations Annotations to add to the agentMetadata Deployment
|
||||||
dpAnnotations: {}
|
dpAnnotations: {}
|
||||||
|
|
||||||
## @param agents.command Override the agents container command
|
## @param agentMetadata.command Override the agentMetadata container command
|
||||||
command: []
|
command: []
|
||||||
|
|
||||||
## @param agents.args Override the agents container args
|
## @param agentMetadata.args Override the agentMetadata container args
|
||||||
args: []
|
args: []
|
||||||
|
|
||||||
## @param agents.replicas Amount of agents replicas
|
## @param agentMetadata.replicas Amount of agentMetadata replicas
|
||||||
replicas: 1
|
replicas: 1
|
||||||
|
|
||||||
## @param agents.shareProcessNamespace Enable share process namespace between containers
|
## @param agentMetadata.shareProcessNamespace Enable share process namespace between containers
|
||||||
shareProcessNamespace: false
|
shareProcessNamespace: false
|
||||||
|
|
||||||
## @param agents.sidecars Add sidecars containers to agents deployment
|
## @param agentMetadata.sidecars Add sidecars containers to agentMetadata deployment
|
||||||
sidecars: []
|
sidecars: []
|
||||||
|
|
||||||
## @param agents.securityContext Configure agents Container security context
|
## @param agentMetadata.securityContext Configure agentMetadata Container security context
|
||||||
securityContext: null
|
securityContext: null
|
||||||
|
|
||||||
## @param agents.podSecurityContext Configure agents Pod security context
|
## @param agentMetadata.podSecurityContext Configure agentMetadata Pod security context
|
||||||
podSecurityContext: null
|
podSecurityContext: null
|
||||||
|
|
||||||
## @param agents.envVars Configure agents container environment variables
|
## @param agentMetadata.envVars Configure agentMetadata container environment variables
|
||||||
## @extra agents.envVars.BY_VALUE Example environment variable by setting value directly
|
## @extra agentMetadata.envVars.BY_VALUE Example environment variable by setting value directly
|
||||||
## @extra agents.envVars.FROM_CONFIGMAP.configMapKeyRef.name Name of a ConfigMap when configuring env vars from a ConfigMap
|
## @extra agentMetadata.envVars.FROM_CONFIGMAP.configMapKeyRef.name Name of a ConfigMap when configuring env vars from a ConfigMap
|
||||||
## @extra agents.envVars.FROM_CONFIGMAP.configMapKeyRef.key Key within a ConfigMap when configuring env vars from a ConfigMap
|
## @extra agentMetadata.envVars.FROM_CONFIGMAP.configMapKeyRef.key Key within a ConfigMap when configuring env vars from a ConfigMap
|
||||||
## @extra agents.envVars.FROM_SECRET.secretKeyRef.name Name of a Secret when configuring env vars from a Secret
|
## @extra agentMetadata.envVars.FROM_SECRET.secretKeyRef.name Name of a Secret when configuring env vars from a Secret
|
||||||
## @extra agents.envVars.FROM_SECRET.secretKeyRef.key Key within a Secret when configuring env vars from a Secret
|
## @extra agentMetadata.envVars.FROM_SECRET.secretKeyRef.key Key within a Secret when configuring env vars from a Secret
|
||||||
## @extra agents.envVars.DEEPGRAM_STT_MODEL Deepgram model to use for speech-to-text (default: nova-3)
|
## @extra agentMetadata.envVars.DEEPGRAM_STT_MODEL Deepgram model to use for speech-to-text (default: nova-3)
|
||||||
## @extra agents.envVars.DEEPGRAM_STT_LANGUAGE Language code for transcription or 'multi' for automatic multilingual support with real-time code-switching (default: multi, supports: en, es, fr, de, hi, ru, pt, ja, it, nl)
|
## @extra agentMetadata.envVars.DEEPGRAM_STT_LANGUAGE Language code for transcription or 'multi' for automatic multilingual support with real-time code-switching (default: multi, supports: en, es, fr, de, hi, ru, pt, ja, it, nl)
|
||||||
## @skip agents.envVars
|
## @skip agentMetadata.envVars
|
||||||
|
envVars:
|
||||||
|
<<: *commonEnvVars
|
||||||
|
|
||||||
|
## @param agentMetadata.podAnnotations Annotations to add to the agentMetadata Pod
|
||||||
|
podAnnotations: {}
|
||||||
|
|
||||||
|
## @param agentMetadata.resources Resource requirements for the agentMetadata container
|
||||||
|
resources: {}
|
||||||
|
|
||||||
|
## @param agentMetadata.nodeSelector Node selector for the agentMetadata Pod
|
||||||
|
nodeSelector: {}
|
||||||
|
|
||||||
|
## @param agentMetadata.tolerations Tolerations for the agentMetadata Pod
|
||||||
|
tolerations: []
|
||||||
|
|
||||||
|
## @param agentMetadata.affinity Affinity for the agentSubtitles Pod
|
||||||
|
affinity: {}
|
||||||
|
|
||||||
|
## @param agentMetadata.persistence Additional volumes to create and mount on the agentSubtitles. Used for debugging purposes
|
||||||
|
## @extra agentMetadata.persistence.volume-name.size Size of the additional volume
|
||||||
|
## @extra agentMetadata.persistence.volume-name.type Type of the additional volume, persistentVolumeClaim or emptyDir
|
||||||
|
## @extra agentMetadata.persistence.volume-name.mountPath Path where the volume should be mounted to
|
||||||
|
persistence: {}
|
||||||
|
|
||||||
|
## @param agentMetadata.extraVolumeMounts Additional volumes to mount on the agentMetadata.
|
||||||
|
extraVolumeMounts: []
|
||||||
|
|
||||||
|
## @param agentMetadata.extraVolumes Additional volumes to mount on the agentMetadata.
|
||||||
|
extraVolumes: []
|
||||||
|
|
||||||
|
## @param agentMetadata.pdb.enabled Enable pdb on agentMetadata
|
||||||
|
pdb:
|
||||||
|
enabled: false
|
||||||
|
|
||||||
|
## @section agentSubtitles
|
||||||
|
|
||||||
|
agentSubtitles:
|
||||||
|
|
||||||
|
## @param agentSubtitles.image.repository Repository to use to pull meet's agentSubtitles container image
|
||||||
|
## @param agentSubtitles.image.tag meet's agentSubtitles container tag
|
||||||
|
## @param agentSubtitles.image.pullPolicy agentSubtitles container image pull policy
|
||||||
|
image:
|
||||||
|
repository: lasuite/meet-agents
|
||||||
|
pullPolicy: IfNotPresent
|
||||||
|
tag: "latest"
|
||||||
|
|
||||||
|
## @param agentSubtitles.dpAnnotations Annotations to add to the agentSubtitles Deployment
|
||||||
|
dpAnnotations: {}
|
||||||
|
|
||||||
|
## @param agentSubtitles.command Override the agentSubtitles container command
|
||||||
|
command: []
|
||||||
|
|
||||||
|
## @param agentSubtitles.args Override the agentSubtitles container args
|
||||||
|
args: []
|
||||||
|
|
||||||
|
## @param agentSubtitles.replicas Amount of agentSubtitles replicas
|
||||||
|
replicas: 1
|
||||||
|
|
||||||
|
## @param agentSubtitles.shareProcessNamespace Enable share process namespace between containers
|
||||||
|
shareProcessNamespace: false
|
||||||
|
|
||||||
|
## @param agentSubtitles.sidecars Add sidecars containers to agentSubtitles deployment
|
||||||
|
sidecars: []
|
||||||
|
|
||||||
|
## @param agentSubtitles.securityContext Configure agentSubtitles Container security context
|
||||||
|
securityContext: null
|
||||||
|
|
||||||
|
## @param agentSubtitles.podSecurityContext Configure agentSubtitles Pod security context
|
||||||
|
podSecurityContext: null
|
||||||
|
|
||||||
|
## @param agentSubtitles.envVars Configure agentSubtitles container environment variables
|
||||||
|
## @extra agentSubtitles.envVars.BY_VALUE Example environment variable by setting value directly
|
||||||
|
## @extra agentSubtitles.envVars.FROM_CONFIGMAP.configMapKeyRef.name Name of a ConfigMap when configuring env vars from a ConfigMap
|
||||||
|
## @extra agentSubtitles.envVars.FROM_CONFIGMAP.configMapKeyRef.key Key within a ConfigMap when configuring env vars from a ConfigMap
|
||||||
|
## @extra agentSubtitles.envVars.FROM_SECRET.secretKeyRef.name Name of a Secret when configuring env vars from a Secret
|
||||||
|
## @extra agentSubtitles.envVars.FROM_SECRET.secretKeyRef.key Key within a Secret when configuring env vars from a Secret
|
||||||
|
## @extra agentSubtitles.envVars.DEEPGRAM_STT_MODEL Deepgram model to use for speech-to-text (default: nova-3)
|
||||||
|
## @extra agentSubtitles.envVars.DEEPGRAM_STT_LANGUAGE Language code for transcription or 'multi' for automatic multilingual support with real-time code-switching (default: multi, supports: en, es, fr, de, hi, ru, pt, ja, it, nl)
|
||||||
|
## @skip agentSubtitles.envVars
|
||||||
envVars:
|
envVars:
|
||||||
<<: *commonEnvVars
|
<<: *commonEnvVars
|
||||||
# Deepgram Speech-to-Text configuration for real-time streaming
|
# Deepgram Speech-to-Text configuration for real-time streaming
|
||||||
@@ -1119,34 +1198,34 @@ agents:
|
|||||||
# are NOT supported by the LiveKit Deepgram plugin in streaming mode.
|
# are NOT supported by the LiveKit Deepgram plugin in streaming mode.
|
||||||
# Use language="multi" for automatic multilingual support (10 languages).
|
# Use language="multi" for automatic multilingual support (10 languages).
|
||||||
|
|
||||||
## @param agents.podAnnotations Annotations to add to the agents Pod
|
## @param agentSubtitles.podAnnotations Annotations to add to the agentSubtitles Pod
|
||||||
podAnnotations: {}
|
podAnnotations: {}
|
||||||
|
|
||||||
## @param agents.resources Resource requirements for the agents container
|
## @param agentSubtitles.resources Resource requirements for the agentSubtitles container
|
||||||
resources: {}
|
resources: {}
|
||||||
|
|
||||||
## @param agents.nodeSelector Node selector for the agents Pod
|
## @param agentSubtitles.nodeSelector Node selector for the agentSubtitles Pod
|
||||||
nodeSelector: {}
|
nodeSelector: {}
|
||||||
|
|
||||||
## @param agents.tolerations Tolerations for the agents Pod
|
## @param agentSubtitles.tolerations Tolerations for the agentSubtitles Pod
|
||||||
tolerations: []
|
tolerations: []
|
||||||
|
|
||||||
## @param agents.affinity Affinity for the agents Pod
|
## @param agentSubtitles.affinity Affinity for the agentSubtitles Pod
|
||||||
affinity: {}
|
affinity: {}
|
||||||
|
|
||||||
## @param agents.persistence Additional volumes to create and mount on the agents. Used for debugging purposes
|
## @param agentSubtitles.persistence Additional volumes to create and mount on the agentSubtitles. Used for debugging purposes
|
||||||
## @extra agents.persistence.volume-name.size Size of the additional volume
|
## @extra agentSubtitles.persistence.volume-name.size Size of the additional volume
|
||||||
## @extra agents.persistence.volume-name.type Type of the additional volume, persistentVolumeClaim or emptyDir
|
## @extra agentSubtitles.persistence.volume-name.type Type of the additional volume, persistentVolumeClaim or emptyDir
|
||||||
## @extra agents.persistence.volume-name.mountPath Path where the volume should be mounted to
|
## @extra agentSubtitles.persistence.volume-name.mountPath Path where the volume should be mounted to
|
||||||
persistence: {}
|
persistence: {}
|
||||||
|
|
||||||
## @param agents.extraVolumeMounts Additional volumes to mount on the agents.
|
## @param agentSubtitles.extraVolumeMounts Additional volumes to mount on the agentSubtitles.
|
||||||
extraVolumeMounts: []
|
extraVolumeMounts: []
|
||||||
|
|
||||||
## @param agents.extraVolumes Additional volumes to mount on the agents.
|
## @param agentSubtitles.extraVolumes Additional volumes to mount on the agentSubtitles.
|
||||||
extraVolumes: []
|
extraVolumes: []
|
||||||
|
|
||||||
## @param agents.pdb.enabled Enable pdb on agents
|
## @param agentSubtitles.pdb.enabled Enable pdb on agentSubtitles
|
||||||
pdb:
|
pdb:
|
||||||
enabled: false
|
enabled: false
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user