From fcfa58d18e3b3645e8ab506ae38923f03b37e312 Mon Sep 17 00:00:00 2001 From: Andrew Stoltz <1578013+astoltz@users.noreply.github.com> Date: Fri, 19 Jun 2026 18:51:12 -0500 Subject: [PATCH] deploy(ttsreader): restore GX10 live TTS sidecars --- .../deployment-ttsreader-biblical.json | 92 ++++++++++++++++ .../deployment-ttsreader-kokoro.json | 104 ++++++++++++++++++ .../deployment-ttsreader-web.json | 2 +- .../service-ttsreader-biblical.json | 26 +++++ .../service-ttsreader-kokoro.json | 26 +++++ 5 files changed, 249 insertions(+), 1 deletion(-) create mode 100644 apps-gx10/fc-ttsreader/deployment-ttsreader-biblical.json create mode 100644 apps-gx10/fc-ttsreader/deployment-ttsreader-kokoro.json create mode 100644 apps-gx10/fc-ttsreader/service-ttsreader-biblical.json create mode 100644 apps-gx10/fc-ttsreader/service-ttsreader-kokoro.json diff --git a/apps-gx10/fc-ttsreader/deployment-ttsreader-biblical.json b/apps-gx10/fc-ttsreader/deployment-ttsreader-biblical.json new file mode 100644 index 0000000..3341a29 --- /dev/null +++ b/apps-gx10/fc-ttsreader/deployment-ttsreader-biblical.json @@ -0,0 +1,92 @@ +{ + "apiVersion": "apps/v1", + "kind": "Deployment", + "metadata": { + "labels": { + "app.kubernetes.io/name": "ttsreader-biblical", + "app.kubernetes.io/part-of": "flowercore" + }, + "name": "ttsreader-biblical", + "namespace": "fc-ttsreader" + }, + "spec": { + "replicas": 1, + "revisionHistoryLimit": 3, + "selector": { + "matchLabels": { + "app.kubernetes.io/name": "ttsreader-biblical" + } + }, + "strategy": { + "type": "Recreate" + }, + "template": { + "metadata": { + "labels": { + "app.kubernetes.io/name": "ttsreader-biblical", + "app.kubernetes.io/part-of": "flowercore" + } + }, + "spec": { + "containers": [ + { + "image": "localhost/fc-biblical-tts:v20260619-aiabs2", + "imagePullPolicy": "Never", + "livenessProbe": { + "failureThreshold": 3, + "httpGet": { + "path": "/health", + "port": 10402, + "scheme": "HTTP" + }, + "initialDelaySeconds": 30, + "periodSeconds": 30, + "successThreshold": 1, + "timeoutSeconds": 5 + }, + "name": "biblical-tts", + "ports": [ + { + "containerPort": 10402, + "name": "http", + "protocol": "TCP" + } + ], + "readinessProbe": { + "failureThreshold": 6, + "httpGet": { + "path": "/health", + "port": 10402, + "scheme": "HTTP" + }, + "initialDelaySeconds": 5, + "periodSeconds": 10, + "successThreshold": 1, + "timeoutSeconds": 5 + }, + "resources": { + "limits": { + "cpu": "1000m", + "memory": "512Mi" + }, + "requests": { + "cpu": "100m", + "memory": "128Mi" + } + }, + "terminationMessagePath": "/dev/termination-log", + "terminationMessagePolicy": "File" + } + ], + "restartPolicy": "Always", + "schedulerName": "default-scheduler", + "securityContext": { + "fsGroup": 1654, + "runAsNonRoot": true, + "runAsUser": 1654 + }, + "terminationGracePeriodSeconds": 30 + } + } + } +} diff --git a/apps-gx10/fc-ttsreader/deployment-ttsreader-kokoro.json b/apps-gx10/fc-ttsreader/deployment-ttsreader-kokoro.json new file mode 100644 index 0000000..5c8e97c --- /dev/null +++ b/apps-gx10/fc-ttsreader/deployment-ttsreader-kokoro.json @@ -0,0 +1,104 @@ +{ + "apiVersion": "apps/v1", + "kind": "Deployment", + "metadata": { + "labels": { + "app.kubernetes.io/name": "ttsreader-kokoro", + "app.kubernetes.io/part-of": "flowercore" + }, + "name": "ttsreader-kokoro", + "namespace": "fc-ttsreader" + }, + "spec": { + "replicas": 1, + "revisionHistoryLimit": 3, + "selector": { + "matchLabels": { + "app.kubernetes.io/name": "ttsreader-kokoro" + } + }, + "strategy": { + "type": "Recreate" + }, + "template": { + "metadata": { + "labels": { + "app.kubernetes.io/name": "ttsreader-kokoro", + "app.kubernetes.io/part-of": "flowercore" + } + }, + "spec": { + "containers": [ + { + "image": "ghcr.io/remsky/kokoro-fastapi-cpu:latest", + "imagePullPolicy": "IfNotPresent", + "livenessProbe": { + "failureThreshold": 5, + "httpGet": { + "path": "/v1/audio/voices", + "port": 8880, + "scheme": "HTTP" + }, + "initialDelaySeconds": 180, + "periodSeconds": 30, + "successThreshold": 1, + "timeoutSeconds": 15 + }, + "name": "kokoro", + "ports": [ + { + "containerPort": 8880, + "name": "http", + "protocol": "TCP" + } + ], + "readinessProbe": { + "failureThreshold": 18, + "httpGet": { + "path": "/v1/audio/voices", + "port": 8880, + "scheme": "HTTP" + }, + "initialDelaySeconds": 30, + "periodSeconds": 10, + "successThreshold": 1, + "timeoutSeconds": 5 + }, + "resources": { + "limits": { + "cpu": "2000m", + "memory": "3Gi" + }, + "requests": { + "cpu": "250m", + "memory": "1Gi" + } + }, + "terminationMessagePath": "/dev/termination-log", + "terminationMessagePolicy": "File" + } + ], + "dnsConfig": { + "nameservers": [ + "10.43.0.10" + ], + "options": [ + { + "name": "ndots", + "value": "2" + } + ], + "searches": [ + "fc-ttsreader.svc.cluster.local", + "svc.cluster.local", + "cluster.local" + ] + }, + "dnsPolicy": "None", + "restartPolicy": "Always", + "schedulerName": "default-scheduler", + "terminationGracePeriodSeconds": 30 + } + } + } +} diff --git a/apps-gx10/fc-ttsreader/deployment-ttsreader-web.json b/apps-gx10/fc-ttsreader/deployment-ttsreader-web.json index 4bd7831..0150ac6 100644 --- a/apps-gx10/fc-ttsreader/deployment-ttsreader-web.json +++ b/apps-gx10/fc-ttsreader/deployment-ttsreader-web.json @@ -197,7 +197,7 @@ } } ], - "image": "localhost/fc-ttsreader-web:v20260616-quicknav-b8c6174", + "image": "localhost/fc-ttsreader-web:v20260619-aiabs2-tts-e22b95f", "imagePullPolicy": "Never", "livenessProbe": { "failureThreshold": 3, diff --git a/apps-gx10/fc-ttsreader/service-ttsreader-biblical.json b/apps-gx10/fc-ttsreader/service-ttsreader-biblical.json new file mode 100644 index 0000000..40026bd --- /dev/null +++ b/apps-gx10/fc-ttsreader/service-ttsreader-biblical.json @@ -0,0 +1,26 @@ +{ + "apiVersion": "v1", + "kind": "Service", + "metadata": { + "labels": { + "app.kubernetes.io/name": "ttsreader-biblical", + "app.kubernetes.io/part-of": "flowercore" + }, + "name": "ttsreader-biblical", + "namespace": "fc-ttsreader" + }, + "spec": { + "ports": [ + { + "name": "http", + "port": 10402, + "protocol": "TCP", + "targetPort": 10402 + } + ], + "selector": { + "app.kubernetes.io/name": "ttsreader-biblical" + }, + "type": "ClusterIP" + } +} diff --git a/apps-gx10/fc-ttsreader/service-ttsreader-kokoro.json b/apps-gx10/fc-ttsreader/service-ttsreader-kokoro.json new file mode 100644 index 0000000..2af4b78 --- /dev/null +++ b/apps-gx10/fc-ttsreader/service-ttsreader-kokoro.json @@ -0,0 +1,26 @@ +{ + "apiVersion": "v1", + "kind": "Service", + "metadata": { + "labels": { + "app.kubernetes.io/name": "ttsreader-kokoro", + "app.kubernetes.io/part-of": "flowercore" + }, + "name": "ttsreader-kokoro", + "namespace": "fc-ttsreader" + }, + "spec": { + "ports": [ + { + "name": "http", + "port": 8880, + "protocol": "TCP", + "targetPort": 8880 + } + ], + "selector": { + "app.kubernetes.io/name": "ttsreader-kokoro" + }, + "type": "ClusterIP" + } +}