{ "apiVersion": "apps/v1", "kind": "Deployment", "metadata": { "labels": { "app.kubernetes.io/name": "signalcontrol-web", "app.kubernetes.io/part-of": "flowercore" }, "name": "signalcontrol-web", "namespace": "fc-signalcontrol" }, "spec": { "progressDeadlineSeconds": 600, "replicas": 1, "revisionHistoryLimit": 10, "selector": { "matchLabels": { "app.kubernetes.io/name": "signalcontrol-web" } }, "strategy": { "type": "Recreate" }, "template": { "metadata": { "annotations": { "kubectl.kubernetes.io/restartedAt": "2026-04-22T23:55:51-05:00" }, "labels": { "app.kubernetes.io/name": "signalcontrol-web", "app.kubernetes.io/part-of": "flowercore" } }, "spec": { "containers": [ { "env": [ { "name": "ASPNETCORE_ENVIRONMENT", "value": "Production" }, { "name": "ASPNETCORE_URLS", "value": "http://+:5000" }, { "name": "ConnectionStrings__Default", "value": "Data Source=/data/signalcontrol.db" }, { "name": "Logging__LogLevel__Default", "value": "Information" }, { "name": "Auth__ApiKey", "valueFrom": { "secretKeyRef": { "key": "Auth__ApiKey", "name": "signalcontrol-auth" } } } ], "image": "localhost/fc-signalcontrol-web:gx10-v1", "imagePullPolicy": "Never", "livenessProbe": { "failureThreshold": 3, "initialDelaySeconds": 30, "periodSeconds": 30, "successThreshold": 1, "tcpSocket": { "port": "http" }, "timeoutSeconds": 5 }, "name": "signalcontrol-web", "ports": [ { "containerPort": 5000, "name": "http", "protocol": "TCP" } ], "readinessProbe": { "failureThreshold": 6, "initialDelaySeconds": 10, "periodSeconds": 10, "successThreshold": 1, "tcpSocket": { "port": "http" }, "timeoutSeconds": 5 }, "resources": { "limits": { "cpu": "500m", "memory": "512Mi" }, "requests": { "cpu": "100m", "memory": "128Mi" } }, "terminationMessagePath": "/dev/termination-log", "terminationMessagePolicy": "File", "volumeMounts": [ { "mountPath": "/data", "name": "data" } ] } ], "dnsPolicy": "ClusterFirst", "restartPolicy": "Always", "schedulerName": "default-scheduler", "securityContext": { "fsGroup": 4200, "fsGroupChangePolicy": "OnRootMismatch" }, "terminationGracePeriodSeconds": 30, "volumes": [ { "name": "data", "persistentVolumeClaim": { "claimName": "signalcontrol-data" } } ] } } } }