260 lines
7.6 KiB
JSON
260 lines
7.6 KiB
JSON
{
|
|
"apiVersion": "apps/v1",
|
|
"kind": "Deployment",
|
|
"metadata": {
|
|
"labels": {
|
|
"app": "telephony-web"
|
|
},
|
|
"name": "telephony-web",
|
|
"namespace": "telephony"
|
|
},
|
|
"spec": {
|
|
"progressDeadlineSeconds": 600,
|
|
"replicas": 1,
|
|
"revisionHistoryLimit": 10,
|
|
"selector": {
|
|
"matchLabels": {
|
|
"app": "telephony-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-15T18:24:58-05:00",
|
|
"operator.1password.io/last-restarted": "2026-03-10T17:28:16Z"
|
|
},
|
|
"labels": {
|
|
"app": "telephony-web"
|
|
}
|
|
},
|
|
"spec": {
|
|
"containers": [
|
|
{
|
|
"env": [
|
|
{
|
|
"name": "Telephony__Twilio__AccountSid",
|
|
"valueFrom": {
|
|
"secretKeyRef": {
|
|
"key": "AccountSid",
|
|
"name": "twilio-credentials",
|
|
"optional": true
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "Telephony__Twilio__AuthToken",
|
|
"valueFrom": {
|
|
"secretKeyRef": {
|
|
"key": "AuthToken",
|
|
"name": "twilio-credentials",
|
|
"optional": true
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "Telephony__Twilio__DefaultFromNumber",
|
|
"valueFrom": {
|
|
"secretKeyRef": {
|
|
"key": "DefaultFromNumber",
|
|
"name": "twilio-credentials",
|
|
"optional": true
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "Tts__PiperUrl",
|
|
"value": "http://10.0.56.14:30850"
|
|
},
|
|
{
|
|
"name": "Ari__Username",
|
|
"value": "flowercore"
|
|
},
|
|
{
|
|
"name": "Ari__Password",
|
|
"value": "bluejay-asterisk-ari"
|
|
},
|
|
{
|
|
"name": "Logging__LogLevel__FlowerCore.Telephony.Web.Services.DtmfCollector",
|
|
"value": "Debug"
|
|
},
|
|
{
|
|
"name": "Logging__LogLevel__FlowerCore.Telephony.Web.Daemons.AriEventHandlerRegistration",
|
|
"value": "Debug"
|
|
},
|
|
{
|
|
"name": "Logging__LogLevel__FlowerCore.Telephony.Web.Providers.Asterisk.AsteriskProvider",
|
|
"value": "Debug"
|
|
},
|
|
{
|
|
"name": "Logging__LogLevel__FlowerCore.Telephony.Web.Handlers.StarCodeHandler",
|
|
"value": "Debug"
|
|
},
|
|
{
|
|
"name": "Telephony__Tts__DefaultEngine",
|
|
"value": "piper"
|
|
}
|
|
],
|
|
"image": "localhost/fc-telephony-web:gx10-v2",
|
|
"imagePullPolicy": "Never",
|
|
"livenessProbe": {
|
|
"failureThreshold": 3,
|
|
"httpGet": {
|
|
"path": "/health",
|
|
"port": 5100,
|
|
"scheme": "HTTP"
|
|
},
|
|
"initialDelaySeconds": 30,
|
|
"periodSeconds": 10,
|
|
"successThreshold": 1,
|
|
"timeoutSeconds": 1
|
|
},
|
|
"name": "telephony-web",
|
|
"ports": [
|
|
{
|
|
"containerPort": 5100,
|
|
"name": "http",
|
|
"protocol": "TCP"
|
|
}
|
|
],
|
|
"readinessProbe": {
|
|
"failureThreshold": 3,
|
|
"httpGet": {
|
|
"path": "/health",
|
|
"port": 5100,
|
|
"scheme": "HTTP"
|
|
},
|
|
"initialDelaySeconds": 10,
|
|
"periodSeconds": 5,
|
|
"successThreshold": 1,
|
|
"timeoutSeconds": 1
|
|
},
|
|
"resources": {
|
|
"limits": {
|
|
"cpu": "1",
|
|
"memory": "1Gi"
|
|
},
|
|
"requests": {
|
|
"cpu": "100m",
|
|
"memory": "256Mi"
|
|
}
|
|
},
|
|
"securityContext": {
|
|
"allowPrivilegeEscalation": false,
|
|
"capabilities": {
|
|
"drop": [
|
|
"ALL"
|
|
]
|
|
},
|
|
"readOnlyRootFilesystem": true
|
|
},
|
|
"terminationMessagePath": "/dev/termination-log",
|
|
"terminationMessagePolicy": "File",
|
|
"volumeMounts": [
|
|
{
|
|
"mountPath": "/app/appsettings.Production.json",
|
|
"name": "telephony-config",
|
|
"readOnly": true,
|
|
"subPath": "appsettings.Production.json"
|
|
},
|
|
{
|
|
"mountPath": "/data",
|
|
"name": "telephony-data"
|
|
},
|
|
{
|
|
"mountPath": "/tmp",
|
|
"name": "tmp"
|
|
},
|
|
{
|
|
"mountPath": "/app/logs",
|
|
"name": "logs"
|
|
},
|
|
{
|
|
"mountPath": "/shared-tts",
|
|
"name": "shared-tts"
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"dnsPolicy": "ClusterFirstWithHostNet",
|
|
"hostNetwork": true,
|
|
"initContainers": [
|
|
{
|
|
"command": [
|
|
"sh",
|
|
"-c",
|
|
"chmod 0777 /shared-tts && echo tts-perms-fixed"
|
|
],
|
|
"image": "localhost/fc-telephony-web:gx10-v1",
|
|
"imagePullPolicy": "IfNotPresent",
|
|
"name": "fix-tts-perms",
|
|
"resources": {},
|
|
"securityContext": {
|
|
"runAsNonRoot": false,
|
|
"runAsUser": 0
|
|
},
|
|
"terminationMessagePath": "/dev/termination-log",
|
|
"terminationMessagePolicy": "File",
|
|
"volumeMounts": [
|
|
{
|
|
"mountPath": "/shared-tts",
|
|
"name": "shared-tts"
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"restartPolicy": "Always",
|
|
"schedulerName": "default-scheduler",
|
|
"securityContext": {
|
|
"fsGroup": 1654,
|
|
"runAsGroup": 1654,
|
|
"runAsNonRoot": true,
|
|
"runAsUser": 1654
|
|
},
|
|
"terminationGracePeriodSeconds": 30,
|
|
"volumes": [
|
|
{
|
|
"configMap": {
|
|
"defaultMode": 420,
|
|
"name": "telephony-config"
|
|
},
|
|
"name": "telephony-config"
|
|
},
|
|
{
|
|
"name": "telephony-data",
|
|
"persistentVolumeClaim": {
|
|
"claimName": "telephony-data"
|
|
}
|
|
},
|
|
{
|
|
"emptyDir": {},
|
|
"name": "tmp"
|
|
},
|
|
{
|
|
"emptyDir": {},
|
|
"name": "logs"
|
|
},
|
|
{
|
|
"hostPath": {
|
|
"path": "/tmp/tts-audio",
|
|
"type": "DirectoryOrCreate"
|
|
},
|
|
"name": "shared-tts"
|
|
},
|
|
{
|
|
"hostPath": {
|
|
"path": "/tmp/tts-audio",
|
|
"type": "DirectoryOrCreate"
|
|
},
|
|
"name": "tts-shared"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|