Files
bluejay-infra/apps-gx10/fc-system/deployment-kiosk-web.json

276 lines
8.2 KiB
JSON

{
"apiVersion": "apps/v1",
"kind": "Deployment",
"metadata": {
"labels": {
"app": "kiosk-web",
"app.kubernetes.io/component": "web",
"app.kubernetes.io/instance": "kiosk-web",
"app.kubernetes.io/managed-by": "flowercore-kiosk",
"app.kubernetes.io/name": "kiosk-web",
"component": "web",
"flowercore.io/created-by": "kiosk-fleshing-out-phase-2",
"flowercore.io/tenant-id": "default",
"project": "flowercore-kiosk"
},
"name": "kiosk-web",
"namespace": "fc-system"
},
"spec": {
"progressDeadlineSeconds": 600,
"replicas": 1,
"revisionHistoryLimit": 10,
"selector": {
"matchLabels": {
"app": "kiosk-web"
}
},
"strategy": {
"type": "Recreate"
},
"template": {
"metadata": {
"annotations": {
"kubectl.kubernetes.io/restartedAt": "2026-05-06T21:21:19-05:00"
},
"labels": {
"app": "kiosk-web",
"app.kubernetes.io/component": "web",
"app.kubernetes.io/instance": "kiosk-web",
"app.kubernetes.io/managed-by": "flowercore-kiosk",
"app.kubernetes.io/name": "kiosk-web",
"component": "web",
"flowercore.io/created-by": "kiosk-fleshing-out-phase-2",
"flowercore.io/tenant-id": "default",
"project": "flowercore-kiosk"
}
},
"spec": {
"containers": [
{
"env": [
{
"name": "ASPNETCORE_URLS",
"value": "http://+:8080"
},
{
"name": "ASPNETCORE_ENVIRONMENT",
"value": "Production"
},
{
"name": "Security__ApiKeys__0",
"valueFrom": {
"secretKeyRef": {
"key": "BrowserBypassApiKey",
"name": "kiosk-web-api-keys"
}
}
},
{
"name": "Security__AdminApiKeys__0",
"valueFrom": {
"secretKeyRef": {
"key": "AdminApiKey",
"name": "kiosk-web-api-keys"
}
}
},
{
"name": "Security__AgentApiKeys__0",
"valueFrom": {
"secretKeyRef": {
"key": "AgentApiKey",
"name": "kiosk-web-api-keys"
}
}
},
{
"name": "FlowerCore__Kiosk__Profiles__Backend",
"value": "K8s"
},
{
"name": "FlowerCore__Kiosk__Profiles__LonghornRoot",
"value": "/var/lib/flowercore/kiosk/profiles/data"
},
{
"name": "FlowerCore__PrintWeb__Url",
"value": "http://10.0.57.16:5200"
},
{
"name": "FlowerCore__PrintWeb__ApiKey",
"valueFrom": {
"secretKeyRef": {
"key": "PrintWebApiKey",
"name": "kiosk-web-api-keys"
}
}
}
],
"image": "localhost/fc-kiosk-web:gx10-v1",
"imagePullPolicy": "Never",
"livenessProbe": {
"failureThreshold": 6,
"httpGet": {
"path": "/health",
"port": 8080,
"scheme": "HTTP"
},
"initialDelaySeconds": 120,
"periodSeconds": 20,
"successThreshold": 1,
"timeoutSeconds": 5
},
"name": "kiosk-web",
"ports": [
{
"containerPort": 8080,
"name": "http",
"protocol": "TCP"
}
],
"readinessProbe": {
"failureThreshold": 3,
"httpGet": {
"path": "/health",
"port": 8080,
"scheme": "HTTP"
},
"initialDelaySeconds": 45,
"periodSeconds": 10,
"successThreshold": 1,
"timeoutSeconds": 5
},
"resources": {
"limits": {
"cpu": "1",
"memory": "512Mi"
},
"requests": {
"cpu": "250m",
"memory": "256Mi"
}
},
"securityContext": {
"allowPrivilegeEscalation": false,
"capabilities": {
"drop": [
"ALL"
]
},
"readOnlyRootFilesystem": true
},
"terminationMessagePath": "/dev/termination-log",
"terminationMessagePolicy": "File",
"volumeMounts": [
{
"mountPath": "/app/data",
"name": "data"
},
{
"mountPath": "/tmp",
"name": "tmp"
},
{
"mountPath": "/app/logs",
"name": "logs"
},
{
"mountPath": "/var/lib/flowercore/kiosk/profiles",
"name": "user-profiles"
},
{
"mountPath": "/app/appsettings.Production.json",
"name": "appsettings-production",
"readOnly": true,
"subPath": "appsettings.Production.json"
}
]
}
],
"dnsPolicy": "ClusterFirst",
"initContainers": [
{
"command": [
"sh",
"-c",
"mkdir -p /profiles/data && chown -R 1654:1654 /profiles/data && chmod -R u+rwX,g+rwX /profiles/data"
],
"image": "localhost/fc-kiosk-web:gx10-v1",
"imagePullPolicy": "Never",
"name": "fix-profile-perms",
"resources": {},
"securityContext": {
"allowPrivilegeEscalation": false,
"capabilities": {
"add": [
"CHOWN",
"FOWNER"
],
"drop": [
"ALL"
]
},
"runAsGroup": 0,
"runAsNonRoot": false,
"runAsUser": 0
},
"terminationMessagePath": "/dev/termination-log",
"terminationMessagePolicy": "File",
"volumeMounts": [
{
"mountPath": "/profiles",
"name": "user-profiles"
}
]
}
],
"restartPolicy": "Always",
"schedulerName": "default-scheduler",
"securityContext": {
"fsGroup": 1654,
"fsGroupChangePolicy": "OnRootMismatch",
"runAsGroup": 1654,
"runAsNonRoot": true,
"runAsUser": 1654
},
"terminationGracePeriodSeconds": 30,
"volumes": [
{
"name": "data",
"persistentVolumeClaim": {
"claimName": "kiosk-web-data"
}
},
{
"emptyDir": {},
"name": "tmp"
},
{
"emptyDir": {},
"name": "logs"
},
{
"name": "user-profiles",
"persistentVolumeClaim": {
"claimName": "kiosk-user-profiles"
}
},
{
"configMap": {
"defaultMode": 420,
"items": [
{
"key": "appsettings.Production.json",
"path": "appsettings.Production.json"
}
],
"name": "kiosk-web-config"
},
"name": "appsettings-production"
}
]
}
}
}
}