178 lines
4.7 KiB
JSON
178 lines
4.7 KiB
JSON
{
|
|
"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": "HF_HOME",
|
|
"value": "/models/huggingface"
|
|
},
|
|
{
|
|
"name": "HF_HUB_CACHE",
|
|
"value": "/models/huggingface/hub"
|
|
},
|
|
{
|
|
"name": "XDG_CACHE_HOME",
|
|
"value": "/models/.cache"
|
|
},
|
|
{
|
|
"name": "HF_HUB_DISABLE_XET",
|
|
"value": "1"
|
|
},
|
|
{
|
|
"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"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|