{ "apiVersion": "apps/v1", "kind": "Deployment", "metadata": { "labels": { "app": "signage-web" }, "name": "signage-web", "namespace": "fc-signage" }, "spec": { "progressDeadlineSeconds": 600, "replicas": 1, "revisionHistoryLimit": 10, "selector": { "matchLabels": { "app": "signage-web" } }, "strategy": { "type": "Recreate" }, "template": { "metadata": { "annotations": { "kubectl.kubernetes.io/restartedAt": "2026-05-04T13:50:05-05:00" }, "labels": { "app": "signage-web" } }, "spec": { "containers": [ { "env": [ { "name": "ASPNETCORE_URLS", "value": "http://+:5190" }, { "name": "ASPNETCORE_ENVIRONMENT", "value": "Production" }, { "name": "TrafficSignal__RelayBridge__Enabled", "value": "true" }, { "name": "TrafficSignal__RelayBridge__BaseUrl", "value": "http://pirelay.iamworkin.lan:5100" }, { "name": "DatabaseProvider", "value": "Sqlite" }, { "name": "ConnectionStrings__DefaultConnection", "value": "Data Source=/data/signage.db" }, { "name": "Serilog__MinimumLevel__Default", "value": "Information" }, { "name": "Serilog__WriteTo__0__Name", "value": "Console" }, { "name": "Kestrel__Endpoints__Http__Url", "value": "http://+:5190" }, { "name": "Kestrel__Endpoints__Grpc__Url", "value": "http://+:5191" }, { "name": "FlowerCore__DefaultTenantId", "value": "default" }, { "name": "FlowerCore__Signage__Announcements__AudibleEnabled", "value": "true" }, { "name": "FlowerCore__Signage__Announcements__DefaultVoiceName", "value": "en_US-amy-low" }, { "name": "FlowerCore__Signage__Announcements__Piper__Host", "value": "10.0.57.17" }, { "name": "FlowerCore__Signage__Announcements__Piper__Port", "value": "10400" }, { "name": "FlowerCore__Signage__Announcements__Piper__TimeoutSeconds", "value": "120" } ], "image": "localhost/fc-signage-web:v20260616-tt2-gx10-6a4486e", "imagePullPolicy": "Never", "livenessProbe": { "failureThreshold": 3, "httpGet": { "path": "/healthz", "port": 5190, "scheme": "HTTP" }, "initialDelaySeconds": 30, "periodSeconds": 30, "successThreshold": 1, "timeoutSeconds": 1 }, "name": "signage-web", "ports": [ { "containerPort": 5190, "name": "http", "protocol": "TCP" } ], "readinessProbe": { "failureThreshold": 3, "httpGet": { "path": "/healthz", "port": 5190, "scheme": "HTTP" }, "initialDelaySeconds": 15, "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 }, "startupProbe": { "failureThreshold": 30, "periodSeconds": 5, "successThreshold": 1, "tcpSocket": { "port": 5190 }, "timeoutSeconds": 1 }, "terminationMessagePath": "/dev/termination-log", "terminationMessagePolicy": "File", "volumeMounts": [ { "mountPath": "/data", "name": "data" }, { "mountPath": "/app/data", "name": "data" }, { "mountPath": "/app/Cache", "name": "data" }, { "mountPath": "/app/storage", "name": "data" }, { "mountPath": "/app/wwwroot/uploads", "name": "data" }, { "mountPath": "/tmp", "name": "tmp" }, { "mountPath": "/app/logs", "name": "logs" }, { "mountPath": "/app/wwwroot/announcement-audio", "name": "data" } ] } ], "dnsPolicy": "ClusterFirst", "restartPolicy": "Always", "schedulerName": "default-scheduler", "securityContext": { "fsGroup": 1654, "runAsGroup": 1654, "runAsNonRoot": true, "runAsUser": 1654 }, "terminationGracePeriodSeconds": 30, "volumes": [ { "name": "data", "persistentVolumeClaim": { "claimName": "signage-data" } }, { "emptyDir": {}, "name": "tmp" }, { "emptyDir": {}, "name": "logs" } ] } } } }