diff --git a/helm-charts/common/asr/.helmignore b/helm-charts/common/asr/.helmignore new file mode 100644 index 00000000..0e8a0eb3 --- /dev/null +++ b/helm-charts/common/asr/.helmignore @@ -0,0 +1,23 @@ +# Patterns to ignore when building packages. +# This supports shell glob matching, relative path matching, and +# negation (prefixed with !). Only one pattern per line. +.DS_Store +# Common VCS dirs +.git/ +.gitignore +.bzr/ +.bzrignore +.hg/ +.hgignore +.svn/ +# Common backup files +*.swp +*.bak +*.tmp +*.orig +*~ +# Various IDEs +.project +.idea/ +*.tmproj +.vscode/ diff --git a/helm-charts/common/asr/Chart.yaml b/helm-charts/common/asr/Chart.yaml new file mode 100644 index 00000000..301cdb57 --- /dev/null +++ b/helm-charts/common/asr/Chart.yaml @@ -0,0 +1,10 @@ +# Copyright (C) 2024 Intel Corporation +# SPDX-License-Identifier: Apache-2.0 + +apiVersion: v2 +name: asr +description: The Helm chart for deploying asr as microservice +type: application +version: 0.8.0 +# The asr microservice server version +appVersion: "1.0.0" diff --git a/helm-charts/common/asr/README.md b/helm-charts/common/asr/README.md new file mode 100644 index 00000000..1928542f --- /dev/null +++ b/helm-charts/common/asr/README.md @@ -0,0 +1,34 @@ +# asr + +Helm chart for deploying asr microservice. + +Web retriever depends on whisper, you should set ASR_ENDPOINT endpoints before start. + +## Installing the Chart + +To install the chart, run the following: + +```console +export ASR_ENDPOINT="http://whisper:7066" +helm install asr asr --set ASR_ENDPOINT=${ASR_ENDPOINT} +``` + +## Verify + +Use port-forward to access it from localhost. + +```console +kubectl port-forward service/asr 1234:9099 & +curl http://localhost:1234/v1/audio/transcriptions \ + -XPOST \ + -d '{"byte_str": "UklGRigAAABXQVZFZm10IBIAAAABAAEARKwAAIhYAQACABAAAABkYXRhAgAAAAEA"}' \ + -H 'Content-Type: application/json' +``` + +## Values + +| Key | Type | Default | Description | +| ---------------- | ------ | ------------------- | ----------- | +| image.repository | string | `"opea/asr:latest"` | | +| service.port | string | `"9099"` | | +| ASR_ENDPOINT | string | `""` | | diff --git a/helm-charts/common/asr/templates/_helpers.tpl b/helm-charts/common/asr/templates/_helpers.tpl new file mode 100644 index 00000000..62d5a055 --- /dev/null +++ b/helm-charts/common/asr/templates/_helpers.tpl @@ -0,0 +1,62 @@ +{{/* +Expand the name of the chart. +*/}} +{{- define "asr.name" -}} +{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }} +{{- end }} + +{{/* +Create a default fully qualified app name. +We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). +If release name contains chart name it will be used as a full name. +*/}} +{{- define "asr.fullname" -}} +{{- if .Values.fullnameOverride }} +{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }} +{{- else }} +{{- $name := default .Chart.Name .Values.nameOverride }} +{{- if contains $name .Release.Name }} +{{- .Release.Name | trunc 63 | trimSuffix "-" }} +{{- else }} +{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" }} +{{- end }} +{{- end }} +{{- end }} + +{{/* +Create chart name and version as used by the chart label. +*/}} +{{- define "asr.chart" -}} +{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }} +{{- end }} + +{{/* +Common labels +*/}} +{{- define "asr.labels" -}} +helm.sh/chart: {{ include "asr.chart" . }} +{{ include "asr.selectorLabels" . }} +{{- if .Chart.AppVersion }} +app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} +{{- end }} +app.kubernetes.io/managed-by: {{ .Release.Service }} +{{- end }} + +{{/* +Selector labels +*/}} +{{- define "asr.selectorLabels" -}} +app.kubernetes.io/name: {{ include "asr.name" . }} +app.kubernetes.io/instance: {{ .Release.Name }} +{{- end }} + +{{/* +Create the name of the service account to use +*/}} +{{- define "asr.serviceAccountName" -}} +{{- if .Values.serviceAccount.create }} +{{- default (include "asr.fullname" .) .Values.serviceAccount.name }} +{{- else }} +{{- default "default" .Values.serviceAccount.name }} +{{- end }} +{{- end }} diff --git a/helm-charts/common/asr/templates/configmap.yaml b/helm-charts/common/asr/templates/configmap.yaml new file mode 100644 index 00000000..0a80104b --- /dev/null +++ b/helm-charts/common/asr/templates/configmap.yaml @@ -0,0 +1,18 @@ +# Copyright (C) 2024 Intel Corporation +# SPDX-License-Identifier: Apache-2.0 + +apiVersion: v1 +kind: ConfigMap +metadata: + name: {{ include "asr.fullname" . }}-config + labels: + {{- include "asr.labels" . | nindent 4 }} +data: + {{- if .Values.ASR_ENDPOINT }} + ASR_ENDPOINT: {{ .Values.ASR_ENDPOINT | quote}} + {{- else }} + ASR_ENDPOINT: "http://{{ .Release.Name }}-whisper:7066" + {{- end }} + http_proxy: {{ .Values.global.http_proxy | quote }} + https_proxy: {{ .Values.global.https_proxy | quote }} + no_proxy: {{ .Values.global.no_proxy | quote }} diff --git a/helm-charts/common/asr/templates/deployment.yaml b/helm-charts/common/asr/templates/deployment.yaml new file mode 100644 index 00000000..e3423167 --- /dev/null +++ b/helm-charts/common/asr/templates/deployment.yaml @@ -0,0 +1,87 @@ +# Copyright (C) 2024 Intel Corporation +# SPDX-License-Identifier: Apache-2.0 + +apiVersion: apps/v1 +kind: Deployment +metadata: + name: {{ include "asr.fullname" . }} + labels: + {{- include "asr.labels" . | nindent 4 }} +spec: + replicas: {{ .Values.replicaCount }} + selector: + matchLabels: + {{- include "asr.selectorLabels" . | nindent 6 }} + template: + metadata: + {{- with .Values.podAnnotations }} + annotations: + {{- toYaml . | nindent 8 }} + {{- end }} + labels: + {{- include "asr.selectorLabels" . | nindent 8 }} + spec: + {{- with .Values.imagePullSecrets }} + imagePullSecrets: + {{- toYaml . | nindent 8 }} + {{- end }} + securityContext: + {{- toYaml .Values.podSecurityContext | nindent 8 }} + containers: + - name: {{ .Release.Name }} + envFrom: + - configMapRef: + name: {{ include "asr.fullname" . }}-config + {{- if .Values.global.extraEnvConfig }} + - configMapRef: + name: {{ .Values.global.extraEnvConfig }} + optional: true + {{- end }} + securityContext: + {{- toYaml .Values.securityContext | nindent 12 }} + image: "{{ .Values.image.repository }}" + imagePullPolicy: {{ .Values.image.pullPolicy }} + ports: + - name: asr + containerPort: 9099 + protocol: TCP + volumeMounts: + - mountPath: /tmp + name: tmp + #startupProbe: + # exec: + # command: + # - curl + # {{- if .Values.ASR_ENDPOINT }} + # - {{ .Values.ASR_ENDPOINT }} + # {{- else }} + # - http://{{ .Release.Name }}-whisper + # {{- end }} + # initialDelaySeconds: 5 + # periodSeconds: 5 + # failureThreshold: 120 +# livenessProbe: +# httpGet: +# path: / +# port: 7000 +# readinessProbe: +# httpGet: +# path: / +# port: 7000 + resources: + {{- toYaml .Values.resources | nindent 12 }} + volumes: + - name: tmp + emptyDir: {} + {{- with .Values.nodeSelector }} + nodeSelector: + {{- toYaml . | nindent 8 }} + {{- end }} + {{- with .Values.affinity }} + affinity: + {{- toYaml . | nindent 8 }} + {{- end }} + {{- with .Values.tolerations }} + tolerations: + {{- toYaml . | nindent 8 }} + {{- end }} diff --git a/helm-charts/common/asr/templates/service.yaml b/helm-charts/common/asr/templates/service.yaml new file mode 100644 index 00000000..dfa3e5b4 --- /dev/null +++ b/helm-charts/common/asr/templates/service.yaml @@ -0,0 +1,18 @@ +# Copyright (C) 2024 Intel Corporation +# SPDX-License-Identifier: Apache-2.0 + +apiVersion: v1 +kind: Service +metadata: + name: {{ include "asr.fullname" . }} + labels: + {{- include "asr.labels" . | nindent 4 }} +spec: + type: {{ .Values.service.type }} + ports: + - port: {{ .Values.service.port }} + targetPort: 9099 + protocol: TCP + name: asr + selector: + {{- include "asr.selectorLabels" . | nindent 4 }} diff --git a/helm-charts/common/asr/templates/tests/test-pod.yaml b/helm-charts/common/asr/templates/tests/test-pod.yaml new file mode 100644 index 00000000..985042a7 --- /dev/null +++ b/helm-charts/common/asr/templates/tests/test-pod.yaml @@ -0,0 +1,25 @@ +# Copyright (C) 2024 Intel Corporation +# SPDX-License-Identifier: Apache-2.0 + +apiVersion: v1 +kind: Pod +metadata: + name: "{{ include "asr.fullname" . }}-testpod" + labels: + {{- include "asr.labels" . | nindent 4 }} + annotations: + "helm.sh/hook": test + #"helm.sh/hook-delete-policy": "hook-succeeded, hook-failure" +spec: + containers: + - name: curl + image: alpine/curl + #image: python:3.10.14 + command: ['sh', '-c'] + args: + - | + curl http://{{ include "asr.fullname" . }}:{{ .Values.service.port }}/v1/audio/transcriptions \ + -XPOST \ + -d '{"byte_str": "UklGRigAAABXQVZFZm10IBIAAAABAAEARKwAAIhYAQACABAAAABkYXRhAgAAAAEA"}' \ + -H 'Content-Type: application/json' + restartPolicy: Never diff --git a/helm-charts/common/asr/values.yaml b/helm-charts/common/asr/values.yaml new file mode 100644 index 00000000..d843ca87 --- /dev/null +++ b/helm-charts/common/asr/values.yaml @@ -0,0 +1,64 @@ +# Copyright (C) 2024 Intel Corporation +# SPDX-License-Identifier: Apache-2.0 + +# Default values for asr. +# This is a YAML-formatted file. +# Declare variables to be passed into your templates. + +replicaCount: 1 + +ASR_ENDPOINT: "" + +image: + repository: opea/asr:latest + pullPolicy: IfNotPresent + # Overrides the image tag whose default is the chart appVersion. + # tag: "1.0" + +imagePullSecrets: [] +nameOverride: "" +fullnameOverride: "" + +podAnnotations: {} + +podSecurityContext: {} + # fsGroup: 2000 + +securityContext: + readOnlyRootFilesystem: true + allowPrivilegeEscalation: false + runAsNonRoot: true + runAsUser: 1000 + capabilities: + drop: + - ALL + seccompProfile: + type: RuntimeDefault + +service: + type: ClusterIP + # The default port for asr service is 9099 + port: 9099 + +resources: {} + # We usually recommend not to specify default resources and to leave this as a conscious + # choice for the user. This also increases chances charts run on environments with little + # resources, such as Minikube. If you do want to specify resources, uncomment the following + # lines, adjust them as necessary, and remove the curly braces after 'resources:'. + # limits: + # cpu: 100m + # memory: 128Mi + # requests: + # cpu: 100m + # memory: 128Mi + +nodeSelector: {} + +tolerations: [] + +affinity: {} + +global: + http_proxy: + https_proxy: + no_proxy: diff --git a/helm-charts/common/whisper/.helmignore b/helm-charts/common/whisper/.helmignore new file mode 100644 index 00000000..0e8a0eb3 --- /dev/null +++ b/helm-charts/common/whisper/.helmignore @@ -0,0 +1,23 @@ +# Patterns to ignore when building packages. +# This supports shell glob matching, relative path matching, and +# negation (prefixed with !). Only one pattern per line. +.DS_Store +# Common VCS dirs +.git/ +.gitignore +.bzr/ +.bzrignore +.hg/ +.hgignore +.svn/ +# Common backup files +*.swp +*.bak +*.tmp +*.orig +*~ +# Various IDEs +.project +.idea/ +*.tmproj +.vscode/ diff --git a/helm-charts/common/whisper/Chart.yaml b/helm-charts/common/whisper/Chart.yaml new file mode 100644 index 00000000..cd5f9cae --- /dev/null +++ b/helm-charts/common/whisper/Chart.yaml @@ -0,0 +1,10 @@ +# Copyright (C) 2024 Intel Corporation +# SPDX-License-Identifier: Apache-2.0 + +apiVersion: v2 +name: whisper +description: The Helm chart for deploying whisper as microservice +type: application +version: 0.8.0 +# The whisper microservice server version +appVersion: "1.0.0" diff --git a/helm-charts/common/whisper/README.md b/helm-charts/common/whisper/README.md new file mode 100644 index 00000000..e6c85426 --- /dev/null +++ b/helm-charts/common/whisper/README.md @@ -0,0 +1,32 @@ +# whisper + +Helm chart for deploying whisper service. + +## Installing the Chart + +To install the chart, run the following: + +```console +export MODELDIR=/mnt/opea-models +export ASR_MODEL_PATH="openai/whisper-small" +helm install whisper whisper --set global.modelUseHostPath=${MODELDIR} --set ASR_MODEL_PATH=${ASR_MODEL_PATH} +``` + +## Verify + +Use port-forward to access it from localhost. + +```console +kubectl port-forward service/whisper 1234:7066 & +curl http://localhost:1234/v1/asr \ + -XPOST \ + -d '{"audio": "UklGRigAAABXQVZFZm10IBIAAAABAAEARKwAAIhYAQACABAAAABkYXRhAgAAAAEA"}' \ + -H 'Content-Type: application/json' +``` + +## Values + +| Key | Type | Default | Description | +| ---------------- | ------ | ----------------------- | ----------- | +| image.repository | string | `"opea/whisper:latest"` | | +| service.port | string | `"7066"` | | diff --git a/helm-charts/common/whisper/gaudi-values.yaml b/helm-charts/common/whisper/gaudi-values.yaml new file mode 100644 index 00000000..0c82718d --- /dev/null +++ b/helm-charts/common/whisper/gaudi-values.yaml @@ -0,0 +1,65 @@ +# Copyright (C) 2024 Intel Corporation +# SPDX-License-Identifier: Apache-2.0 + +# Default values for whisper. +# This is a YAML-formatted file. +# Declare variables to be passed into your templates. + +replicaCount: 1 + +ASR_MODEL_PATH: "openai/whisper-small" + +image: + repository: opea/whisper-gaudi:latest + pullPolicy: IfNotPresent + # Overrides the image tag whose default is the chart appVersion. + # tag: "1.0" + +imagePullSecrets: [] +nameOverride: "" +fullnameOverride: "" + +podAnnotations: {} + +podSecurityContext: {} + # fsGroup: 2000 + +securityContext: + readOnlyRootFilesystem: false + allowPrivilegeEscalation: false + runAsNonRoot: true + runAsUser: 1000 + capabilities: + drop: + - ALL + seccompProfile: + type: RuntimeDefault + +service: + type: ClusterIP + # The default port for whisper service is 7066 + port: 7066 + +resources: {} + # We usually recommend not to specify default resources and to leave this as a conscious + # choice for the user. This also increases chances charts run on environments with little + # resources, such as Minikube. If you do want to specify resources, uncomment the following + # lines, adjust them as necessary, and remove the curly braces after 'resources:'. + # limits: + # cpu: 100m + # memory: 128Mi + # requests: + # cpu: 100m + # memory: 128Mi + +nodeSelector: {} + +tolerations: [] + +affinity: {} + +global: + http_proxy: + https_proxy: + no_proxy: + modelUseHostPath: /mnt/opea-models diff --git a/helm-charts/common/whisper/templates/_helpers.tpl b/helm-charts/common/whisper/templates/_helpers.tpl new file mode 100644 index 00000000..264e205a --- /dev/null +++ b/helm-charts/common/whisper/templates/_helpers.tpl @@ -0,0 +1,62 @@ +{{/* +Expand the name of the chart. +*/}} +{{- define "whisper.name" -}} +{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }} +{{- end }} + +{{/* +Create a default fully qualified app name. +We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). +If release name contains chart name it will be used as a full name. +*/}} +{{- define "whisper.fullname" -}} +{{- if .Values.fullnameOverride }} +{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }} +{{- else }} +{{- $name := default .Chart.Name .Values.nameOverride }} +{{- if contains $name .Release.Name }} +{{- .Release.Name | trunc 63 | trimSuffix "-" }} +{{- else }} +{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" }} +{{- end }} +{{- end }} +{{- end }} + +{{/* +Create chart name and version as used by the chart label. +*/}} +{{- define "whisper.chart" -}} +{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }} +{{- end }} + +{{/* +Common labels +*/}} +{{- define "whisper.labels" -}} +helm.sh/chart: {{ include "whisper.chart" . }} +{{ include "whisper.selectorLabels" . }} +{{- if .Chart.AppVersion }} +app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} +{{- end }} +app.kubernetes.io/managed-by: {{ .Release.Service }} +{{- end }} + +{{/* +Selector labels +*/}} +{{- define "whisper.selectorLabels" -}} +app.kubernetes.io/name: {{ include "whisper.name" . }} +app.kubernetes.io/instance: {{ .Release.Name }} +{{- end }} + +{{/* +Create the name of the service account to use +*/}} +{{- define "whisper.serviceAccountName" -}} +{{- if .Values.serviceAccount.create }} +{{- default (include "whisper.fullname" .) .Values.serviceAccount.name }} +{{- else }} +{{- default "default" .Values.serviceAccount.name }} +{{- end }} +{{- end }} diff --git a/helm-charts/common/whisper/templates/configmap.yaml b/helm-charts/common/whisper/templates/configmap.yaml new file mode 100644 index 00000000..22e19476 --- /dev/null +++ b/helm-charts/common/whisper/templates/configmap.yaml @@ -0,0 +1,17 @@ +# Copyright (C) 2024 Intel Corporation +# SPDX-License-Identifier: Apache-2.0 + +apiVersion: v1 +kind: ConfigMap +metadata: + name: {{ include "whisper.fullname" . }}-config + labels: + {{- include "whisper.labels" . | nindent 4 }} +data: + EASYOCR_MODULE_PATH: "/tmp/.EasyOCR" + ASR_MODEL_PATH: {{ .Values.ASR_MODEL_PATH | quote }} + http_proxy: {{ .Values.global.http_proxy | quote }} + https_proxy: {{ .Values.global.https_proxy | quote }} + no_proxy: {{ .Values.global.no_proxy | quote }} + HF_HOME: "/tmp/.cache/huggingface" + HUGGINGFACE_HUB_CACHE: "/data" diff --git a/helm-charts/common/whisper/templates/deployment.yaml b/helm-charts/common/whisper/templates/deployment.yaml new file mode 100644 index 00000000..4392443c --- /dev/null +++ b/helm-charts/common/whisper/templates/deployment.yaml @@ -0,0 +1,77 @@ +# Copyright (C) 2024 Intel Corporation +# SPDX-License-Identifier: Apache-2.0 + +apiVersion: apps/v1 +kind: Deployment +metadata: + name: {{ include "whisper.fullname" . }} + labels: + {{- include "whisper.labels" . | nindent 4 }} +spec: + replicas: {{ .Values.replicaCount }} + selector: + matchLabels: + {{- include "whisper.selectorLabels" . | nindent 6 }} + template: + metadata: + {{- with .Values.podAnnotations }} + annotations: + {{- toYaml . | nindent 8 }} + {{- end }} + labels: + {{- include "whisper.selectorLabels" . | nindent 8 }} + spec: + {{- with .Values.imagePullSecrets }} + imagePullSecrets: + {{- toYaml . | nindent 8 }} + {{- end }} + securityContext: + {{- toYaml .Values.podSecurityContext | nindent 8 }} + containers: + - name: {{ .Release.Name }} + envFrom: + - configMapRef: + name: {{ include "whisper.fullname" . }}-config + {{- if .Values.global.extraEnvConfig }} + - configMapRef: + name: {{ .Values.global.extraEnvConfig }} + optional: true + {{- end }} + securityContext: + {{- toYaml .Values.securityContext | nindent 12 }} + image: "{{ .Values.image.repository }}" + imagePullPolicy: {{ .Values.image.pullPolicy }} + ports: + - name: whisper + containerPort: 7066 + protocol: TCP + volumeMounts: + - mountPath: /data + name: model-volume + - mountPath: /tmp + name: tmp + resources: + {{- toYaml .Values.resources | nindent 12 }} + volumes: + - name: model-volume + {{- if .Values.global.modelUseHostPath }} + hostPath: + path: {{ .Values.global.modelUseHostPath }} + type: Directory + {{- else }} + emptyDir: {} + {{- end }} + - name: tmp + emptyDir: {} + {{- with .Values.nodeSelector }} + nodeSelector: + {{- toYaml . | nindent 8 }} + {{- end }} + {{- with .Values.affinity }} + affinity: + {{- toYaml . | nindent 8 }} + {{- end }} + {{- with .Values.tolerations }} + tolerations: + {{- toYaml . | nindent 8 }} + {{- end }} diff --git a/helm-charts/common/whisper/templates/service.yaml b/helm-charts/common/whisper/templates/service.yaml new file mode 100644 index 00000000..42852290 --- /dev/null +++ b/helm-charts/common/whisper/templates/service.yaml @@ -0,0 +1,18 @@ +# Copyright (C) 2024 Intel Corporation +# SPDX-License-Identifier: Apache-2.0 + +apiVersion: v1 +kind: Service +metadata: + name: {{ include "whisper.fullname" . }} + labels: + {{- include "whisper.labels" . | nindent 4 }} +spec: + type: {{ .Values.service.type }} + ports: + - port: {{ .Values.service.port }} + targetPort: 7066 + protocol: TCP + name: whisper + selector: + {{- include "whisper.selectorLabels" . | nindent 4 }} diff --git a/helm-charts/common/whisper/templates/tests/test-pod.yaml b/helm-charts/common/whisper/templates/tests/test-pod.yaml new file mode 100644 index 00000000..120f6333 --- /dev/null +++ b/helm-charts/common/whisper/templates/tests/test-pod.yaml @@ -0,0 +1,25 @@ +# Copyright (C) 2024 Intel Corporation +# SPDX-License-Identifier: Apache-2.0 + +apiVersion: v1 +kind: Pod +metadata: + name: "{{ include "whisper.fullname" . }}-testpod" + labels: + {{- include "whisper.labels" . | nindent 4 }} + annotations: + "helm.sh/hook": test + #"helm.sh/hook-delete-policy": "hook-succeeded, hook-failure" +spec: + containers: + - name: curl + image: alpine/curl + #image: python:3.10.14 + command: ['sh', '-c'] + args: + - | + curl http://{{ include "whisper.fullname" . }}:{{ .Values.service.port }}/v1/asr \ + -X POST \ + -d '{"audio": "UklGRigAAABXQVZFZm10IBIAAAABAAEARKwAAIhYAQACABAAAABkYXRhAgAAAAEA"}' \ + -H 'Content-Type: application/json' + restartPolicy: Never diff --git a/helm-charts/common/whisper/values.yaml b/helm-charts/common/whisper/values.yaml new file mode 100644 index 00000000..53b1055f --- /dev/null +++ b/helm-charts/common/whisper/values.yaml @@ -0,0 +1,65 @@ +# Copyright (C) 2024 Intel Corporation +# SPDX-License-Identifier: Apache-2.0 + +# Default values for whisper. +# This is a YAML-formatted file. +# Declare variables to be passed into your templates. + +replicaCount: 1 + +ASR_MODEL_PATH: "openai/whisper-small" + +image: + repository: opea/whisper:latest + pullPolicy: IfNotPresent + # Overrides the image tag whose default is the chart appVersion. + # tag: "1.0" + +imagePullSecrets: [] +nameOverride: "" +fullnameOverride: "" + +podAnnotations: {} + +podSecurityContext: {} + # fsGroup: 2000 + +securityContext: + readOnlyRootFilesystem: false + allowPrivilegeEscalation: false + runAsNonRoot: true + runAsUser: 1000 + capabilities: + drop: + - ALL + seccompProfile: + type: RuntimeDefault + +service: + type: ClusterIP + # The default port for whisper service is 7066 + port: 7066 + +resources: {} + # We usually recommend not to specify default resources and to leave this as a conscious + # choice for the user. This also increases chances charts run on environments with little + # resources, such as Minikube. If you do want to specify resources, uncomment the following + # lines, adjust them as necessary, and remove the curly braces after 'resources:'. + # limits: + # cpu: 100m + # memory: 128Mi + # requests: + # cpu: 100m + # memory: 128Mi + +nodeSelector: {} + +tolerations: [] + +affinity: {} + +global: + http_proxy: + https_proxy: + no_proxy: + modelUseHostPath: /mnt/opea-models