gx10-gitops: capture live manifests for 32 product namespaces (ArgoCD adoption source)

This commit is contained in:
Andrew Stoltz
2026-06-16 22:24:23 -05:00
parent 0218b1f8b6
commit 6c0be8563d
156 changed files with 9955 additions and 0 deletions

View File

@@ -0,0 +1,293 @@
{
"apiVersion": "apps/v1",
"kind": "Deployment",
"metadata": {
"labels": {
"app.kubernetes.io/name": "ttsreader-web",
"app.kubernetes.io/part-of": "flowercore"
},
"name": "ttsreader-web",
"namespace": "fc-ttsreader"
},
"spec": {
"progressDeadlineSeconds": 600,
"replicas": 1,
"revisionHistoryLimit": 10,
"selector": {
"matchLabels": {
"app.kubernetes.io/name": "ttsreader-web"
}
},
"strategy": {
"type": "Recreate"
},
"template": {
"metadata": {
"annotations": {
"fc.flowercore.io/healthz-anon": "true",
"fc.flowercore.io/probe-path": "/health",
"kubectl.kubernetes.io/restartedAt": "2026-06-14T00:57:20-05:00",
"prometheus.io/path": "/metrics",
"prometheus.io/port": "5217",
"prometheus.io/scrape": "true"
},
"labels": {
"app.kubernetes.io/name": "ttsreader-web",
"app.kubernetes.io/part-of": "flowercore"
}
},
"spec": {
"containers": [
{
"env": [
{
"name": "ASPNETCORE_URLS",
"value": "http://+:5217"
},
{
"name": "ASPNETCORE_ENVIRONMENT",
"value": "Production"
},
{
"name": "FlowerCore__Database__ConnectionStrings__Sqlite",
"value": "Data Source=/data/ttsreader.db"
},
{
"name": "TtsReader__Audio__OutputRoot",
"value": "/data/audio"
},
{
"name": "TtsReader__Audio__FfmpegPath",
"value": "/usr/bin/ffmpeg"
},
{
"name": "TtsReader__Bible__CorpusRoot",
"value": "/data/corpus-cache/world-english-bible/eng/usx"
},
{
"name": "TtsReader__ChapterContext__DatabasePath",
"value": "/data/chapter-context.db"
},
{
"name": "TtsReader__Jobs__Root",
"value": "/data/jobs"
},
{
"name": "TtsReader__Export__LocalCasRoot",
"value": "/data/bundles/cas"
},
{
"name": "TtsReader__Piper__Host",
"value": "10.0.57.17"
},
{
"name": "TtsReader__Piper__Port",
"value": "8500"
},
{
"name": "TtsReader__Piper__Transport",
"value": "http"
},
{
"name": "TtsReader__Piper__HttpPath",
"value": "/tts"
},
{
"name": "TtsReader__Kokoro__Enabled",
"value": "true"
},
{
"name": "TtsReader__Kokoro__BaseUrl",
"value": "http://ttsreader-kokoro.fc-ttsreader.svc.cluster.local.:8880"
},
{
"name": "TtsReader__Kokoro__TimeoutSeconds",
"value": "120"
},
{
"name": "FlowerCore__Tts__BiblicalTts__Enabled",
"value": "true"
},
{
"name": "FlowerCore__Tts__BiblicalTts__BaseUrl",
"value": "http://ttsreader-biblical.fc-ttsreader.svc.cluster.local.:10402"
},
{
"name": "FlowerCore__Tts__BiblicalTts__TimeoutSeconds",
"value": "60"
},
{
"name": "FlowerCore__Tts__BiblicalTts__DefaultLanguage",
"value": "grc"
},
{
"name": "Speech__Alignment__Enabled",
"value": "true"
},
{
"name": "Speech__Alignment__BaseUrl",
"value": "http://ttsreader-align.fc-ttsreader.svc.cluster.local.:9200"
},
{
"name": "Speech__Alignment__TimeoutSeconds",
"value": "120"
},
{
"name": "TtsReader__Transcription__Enabled",
"value": "true"
},
{
"name": "TtsReader__Transcription__BaseUrl",
"value": "http://ttsreader-align.fc-ttsreader.svc.cluster.local.:9200"
},
{
"name": "TtsReader__Transcription__TimeoutSeconds",
"value": "300"
},
{
"name": "TtsReader__Ollama__BaseUrl",
"value": "http://10.0.57.201:11434"
},
{
"name": "TtsReader__Ollama__DefaultModel",
"value": "gemma3:4b"
},
{
"name": "TtsReader__Ollama__TimeoutSeconds",
"value": "45"
},
{
"name": "TtsReader__Runtime__LogsRoot",
"value": "/data/logs"
},
{
"name": "TtsReader__Runtime__SmokeStatePath",
"value": "/data/ops/smoke-status.json"
},
{
"name": "TtsReader__Preview__CacheDirectory",
"value": "/data/voice-previews"
},
{
"name": "TtsReader__VoiceLibrary__ReferenceClip__Directory",
"value": "/data/voice-reference-clips"
},
{
"name": "TtsReader__Render__CdnDirectory",
"value": "/data/cdn"
},
{
"name": "Auth__ApiKey",
"valueFrom": {
"secretKeyRef": {
"key": "Auth__ApiKey",
"name": "ttsreader-secrets",
"optional": true
}
}
},
{
"name": "Auth__AdminApiKey",
"valueFrom": {
"secretKeyRef": {
"key": "Auth__AdminApiKey",
"name": "ttsreader-secrets",
"optional": true
}
}
}
],
"image": "localhost/fc-ttsreader-web:v20260616-quicknav-b8c6174",
"imagePullPolicy": "Never",
"livenessProbe": {
"failureThreshold": 3,
"httpGet": {
"path": "/health",
"port": 5217,
"scheme": "HTTP"
},
"initialDelaySeconds": 15,
"periodSeconds": 30,
"successThreshold": 1,
"timeoutSeconds": 1
},
"name": "web",
"ports": [
{
"containerPort": 5217,
"name": "http",
"protocol": "TCP"
}
],
"readinessProbe": {
"failureThreshold": 3,
"httpGet": {
"path": "/health",
"port": 5217,
"scheme": "HTTP"
},
"initialDelaySeconds": 5,
"periodSeconds": 10,
"successThreshold": 1,
"timeoutSeconds": 1
},
"resources": {
"limits": {
"cpu": "500m",
"memory": "512Mi"
},
"requests": {
"cpu": "10m",
"memory": "256Mi"
}
},
"securityContext": {
"allowPrivilegeEscalation": false,
"capabilities": {
"drop": [
"ALL"
]
},
"readOnlyRootFilesystem": true,
"runAsGroup": 1654,
"runAsNonRoot": true,
"runAsUser": 1654
},
"terminationMessagePath": "/dev/termination-log",
"terminationMessagePolicy": "File",
"volumeMounts": [
{
"mountPath": "/data",
"name": "data"
},
{
"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"
}
]
}
}
}
}

View File

@@ -0,0 +1,29 @@
{
"apiVersion": "traefik.io/v1alpha1",
"kind": "IngressRoute",
"metadata": {
"name": "ttsreader-web",
"namespace": "fc-ttsreader"
},
"spec": {
"entryPoints": [
"websecure"
],
"routes": [
{
"kind": "Rule",
"match": "Host(`ttsreader.iamworkin.lan`)",
"priority": 100,
"services": [
{
"name": "ttsreader-web",
"port": 5217
}
]
}
],
"tls": {
"secretName": "ttsreader-tls"
}
}
}

View File

@@ -0,0 +1,25 @@
{
"apiVersion": "v1",
"kind": "Service",
"metadata": {
"labels": {},
"name": "ttsreader-web",
"namespace": "fc-ttsreader"
},
"spec": {
"internalTrafficPolicy": "Cluster",
"ports": [
{
"name": "http",
"port": 5217,
"protocol": "TCP",
"targetPort": 5217
}
],
"selector": {
"app.kubernetes.io/name": "ttsreader-web"
},
"sessionAffinity": "None",
"type": "ClusterIP"
}
}