diff --git a/apps-gx10/fc-ttsreader/deployment-ttsreader-align.json b/apps-gx10/fc-ttsreader/deployment-ttsreader-align.json new file mode 100644 index 0000000..2b9caaf --- /dev/null +++ b/apps-gx10/fc-ttsreader/deployment-ttsreader-align.json @@ -0,0 +1,161 @@ +{ + "apiVersion": "apps/v1", + "kind": "Deployment", + "metadata": { + "labels": { + "app.kubernetes.io/name": "ttsreader-align", + "app.kubernetes.io/part-of": "flowercore" + }, + "name": "ttsreader-align", + "namespace": "fc-ttsreader" + }, + "spec": { + "progressDeadlineSeconds": 900, + "replicas": 1, + "revisionHistoryLimit": 10, + "selector": { + "matchLabels": { + "app.kubernetes.io/name": "ttsreader-align" + } + }, + "strategy": { + "type": "Recreate" + }, + "template": { + "metadata": { + "annotations": { + "fc.flowercore.io/healthz-anon": "true", + "fc.flowercore.io/probe-path": "/health", + "prometheus.io/path": "/health", + "prometheus.io/port": "9200", + "prometheus.io/scrape": "false" + }, + "labels": { + "app.kubernetes.io/name": "ttsreader-align", + "app.kubernetes.io/part-of": "flowercore" + } + }, + "spec": { + "containers": [ + { + "env": [ + { + "name": "WHISPER_MODEL", + "value": "Systran/faster-whisper-base.en" + }, + { + "name": "WHISPER_CACHE_DIR", + "value": "/models" + }, + { + "name": "WHISPER_DEVICE", + "value": "cpu" + }, + { + "name": "WHISPER_COMPUTE_TYPE", + "value": "int8" + }, + { + "name": "DEFAULT_LANGUAGE", + "value": "en" + }, + { + "name": "MAX_AUDIO_BYTES", + "value": "52428800" + } + ], + "image": "localhost/fc-speech-align:v20260619-aiabs2", + "imagePullPolicy": "Never", + "livenessProbe": { + "failureThreshold": 6, + "httpGet": { + "path": "/health", + "port": 9200, + "scheme": "HTTP" + }, + "initialDelaySeconds": 120, + "periodSeconds": 30, + "successThreshold": 1, + "timeoutSeconds": 5 + }, + "name": "align", + "ports": [ + { + "containerPort": 9200, + "name": "http", + "protocol": "TCP" + } + ], + "readinessProbe": { + "failureThreshold": 18, + "httpGet": { + "path": "/health", + "port": 9200, + "scheme": "HTTP" + }, + "initialDelaySeconds": 20, + "periodSeconds": 10, + "successThreshold": 1, + "timeoutSeconds": 5 + }, + "resources": { + "limits": { + "cpu": "2", + "memory": "3Gi" + }, + "requests": { + "cpu": "250m", + "memory": "1Gi" + } + }, + "securityContext": { + "allowPrivilegeEscalation": false, + "capabilities": { + "drop": [ + "ALL" + ] + }, + "readOnlyRootFilesystem": true, + "runAsGroup": 1654, + "runAsNonRoot": true, + "runAsUser": 1654 + }, + "terminationMessagePath": "/dev/termination-log", + "terminationMessagePolicy": "File", + "volumeMounts": [ + { + "mountPath": "/models", + "name": "data", + "subPath": "speech-align-models" + }, + { + "mountPath": "/tmp", + "name": "tmp" + } + ] + } + ], + "dnsPolicy": "ClusterFirst", + "restartPolicy": "Always", + "schedulerName": "default-scheduler", + "securityContext": { + "fsGroup": 1654, + "fsGroupChangePolicy": "OnRootMismatch" + }, + "terminationGracePeriodSeconds": 30, + "volumes": [ + { + "name": "data", + "persistentVolumeClaim": { + "claimName": "ttsreader-data" + } + }, + { + "emptyDir": {}, + "name": "tmp" + } + ] + } + } + } +} diff --git a/apps-gx10/fc-ttsreader/service-ttsreader-align.json b/apps-gx10/fc-ttsreader/service-ttsreader-align.json new file mode 100644 index 0000000..1efd5f5 --- /dev/null +++ b/apps-gx10/fc-ttsreader/service-ttsreader-align.json @@ -0,0 +1,26 @@ +{ + "apiVersion": "v1", + "kind": "Service", + "metadata": { + "labels": { + "app.kubernetes.io/name": "ttsreader-align", + "app.kubernetes.io/part-of": "flowercore" + }, + "name": "ttsreader-align", + "namespace": "fc-ttsreader" + }, + "spec": { + "ports": [ + { + "name": "http", + "port": 9200, + "protocol": "TCP", + "targetPort": 9200 + } + ], + "selector": { + "app.kubernetes.io/name": "ttsreader-align" + }, + "type": "ClusterIP" + } +}