From 1e5d27777131ce86f72908f322b5cc6258b4e690 Mon Sep 17 00:00:00 2001 From: nold Date: Thu, 4 Jan 2024 16:16:17 +0100 Subject: [PATCH] add(ovos) --- projects/ovos/lai.sh | 14 +++++ projects/ovos/project.yaml | 13 ++++ projects/ovos/values/ovos-stt-server.yml | 68 +++++++++++++++++++++ projects/ovos/values/ovos-tts-server.yml | 75 ++++++++++++++++++++++++ 4 files changed, 170 insertions(+) create mode 100644 projects/ovos/lai.sh create mode 100644 projects/ovos/project.yaml create mode 100644 projects/ovos/values/ovos-stt-server.yml create mode 100644 projects/ovos/values/ovos-tts-server.yml diff --git a/projects/ovos/lai.sh b/projects/ovos/lai.sh new file mode 100644 index 00000000..16d848f1 --- /dev/null +++ b/projects/ovos/lai.sh @@ -0,0 +1,14 @@ +LOCALAI=https://ai.dc +if [ "$1" == "search" ] ; then + curl ${LOCALAI}/models/available | jq ".[] | select(.name | contains(\"${2}\")) | .name" +elif [ "$1" == "apply" ] ; then + STATUS_URL=$(curl -q $LOCALAI/models/apply -H "Content-Type: application/json" -d "{ \"id\": \"${2}\" }" | jq -r .status) + STATUS=$(curl -q $STATUS_URL | jq -r .message) + while [ "$STATUS" != "completed" ] ; do + STATUS=$(curl -q $STATUS_URL | jq -r .message) + echo $STATUS + sleep 5 + done +elif [ "$1" == "list" ] ; then + curl -q $LOCALAI/models | jq . +fi diff --git a/projects/ovos/project.yaml b/projects/ovos/project.yaml new file mode 100644 index 00000000..e8c349e3 --- /dev/null +++ b/projects/ovos/project.yaml @@ -0,0 +1,13 @@ +config: + description: OpenVoice OS Services + +apps: +- name: ovos-tts-server + repo: bjw-s + chart: app-template + targetRevision: 2.4.0 + +- name: ovos-stt-server + repo: bjw-s + chart: app-template + targetRevision: 2.4.0 diff --git a/projects/ovos/values/ovos-stt-server.yml b/projects/ovos/values/ovos-stt-server.yml new file mode 100644 index 00000000..1db05577 --- /dev/null +++ b/projects/ovos/values/ovos-stt-server.yml @@ -0,0 +1,68 @@ +controllers: + main: + containers: + main: + image: + repository: smartgic/ovos-stt-server-fasterwhisper + tag: alpha + pullPolicy: Always + + env: + ## VECTOR_DB: "lancedb" + +ingress: + main: + enabled: true + annotations: + cert-manager.io/cluster-issuer: vault-issuer + hosts: + - host: ovos-stt-server.dc + paths: + - path: / + service: + name: main + port: http + tls: + - hosts: + - ovos-stt-server.dc + secretName: ovos-stt-server-tls + +configMaps: + config: + enabled: true + data: + mycroft.conf: | + { + "stt": { + "module": "ovos-stt-plugin-fasterwhisper", + "ovos-stt-plugin-fasterwhisper": { + "model": "medium", + "cpu_threads": 8 + } + } + } + + +persistence: + config: + type: configMap + enabled: true + name: ovos-stt-server-config + advancedMounts: + main: + main: + - path: /home/ovos/.config/mycroft/mycroft.conf + readOnly: true + subPath: mycroft.conf + + +securityContext: + privileged: false + +service: + main: + ports: + http: + enabled: true + port: 8080 + type: ClusterIP diff --git a/projects/ovos/values/ovos-tts-server.yml b/projects/ovos/values/ovos-tts-server.yml new file mode 100644 index 00000000..e7ba420f --- /dev/null +++ b/projects/ovos/values/ovos-tts-server.yml @@ -0,0 +1,75 @@ +controllers: + main: + containers: + main: + image: + repository: docker.io/smartgic/ovos-tts-server-piper + tag: alpha + pullPolicy: Always + + env: + # GID='1000' + +ingress: + main: + annotations: + cert-manager.io/cluster-issuer: vault-issuer + enabled: true + hosts: + - host: ovos-tts-server.dc + paths: + - path: / + service: + name: main + port: http + tls: + - hosts: + - ovos-tts-server.dc + secretName: ovos-tts-server-tls + +configMaps: + config: + enabled: true + data: + mycroft.conf: | + { + "tts": { + "module": "ovos-tts-plugin-piper", + "ovos-tts-plugin-piper": { + "model": "alan-low" + } + } + } + +persistence: + data: + type: persistentVolumeClaim + enabled: true + size: 2Gi + storageClass: ssd + accessMode: ReadWriteOnce + globalMounts: + - path: /home/ovos/.local/share/piper_tts + + config: + type: configMap + enabled: true + name: ovos-tts-server-config + advancedMounts: + main: + main: + - path: /home/ovos/.config/mycroft/mycroft.conf + readOnly: true + subPath: mycroft.conf + + +securityContext: + privileged: false + +service: + main: + ports: + http: + enabled: true + port: 9666 + type: ClusterIP