informed-decision/docs/evidence/2026-10-11-purpose-image-release/rollback-deployment.json
tegwick e0359bcb6c Prepare purpose image release with bounded custody protocol and owner reviews
Assistant: codex
Assistant-Model: gpt-6.1-sol
Assistant-Session: 01a126e1-76f8-7643-8cf3-e93336539ade
2026-10-11 03:54:35 +02:00

267 lines
7.3 KiB
JSON

{
"apiVersion": "apps/v1",
"kind": "Deployment",
"metadata": {
"annotations": {
"informed-decision.coulomb.social/admission": "approved; INFD-WP-0007 cutover",
"argocd.argoproj.io/tracking-id": "informed-decision:apps/Deployment:informed-decision/informed-decision"
},
"name": "informed-decision",
"namespace": "informed-decision"
},
"spec": {
"progressDeadlineSeconds": 600,
"replicas": 1,
"selector": {
"matchLabels": {
"app.kubernetes.io/name": "informed-decision"
}
},
"strategy": {
"type": "Recreate"
},
"template": {
"metadata": {
"annotations": {
"informed-decision.coulomb.social/admission": "approved; INFD-WP-0007 cutover"
},
"labels": {
"app.kubernetes.io/component": "review",
"app.kubernetes.io/name": "informed-decision"
}
},
"spec": {
"automountServiceAccountToken": false,
"containers": [
{
"env": [
{
"name": "INFD_KEYCAPE_ISSUER",
"value": "https://kc.coulomb.social"
},
{
"name": "INFD_CONTAINER_CONFIG",
"value": "/configuration/runtime.json"
}
],
"image": "forgejo.coulomb.social/coulomb/informed-decision@sha256:7f5c6cb29c9f70a026bfe30e72934274ddc69261676cf6d476f81dd32812d173",
"livenessProbe": {
"httpGet": {
"path": "/healthz",
"port": "http"
},
"periodSeconds": 10,
"timeoutSeconds": 2
},
"name": "informed-decision",
"ports": [
{
"containerPort": 8080,
"name": "http"
},
{
"containerPort": 8081,
"name": "workload"
}
],
"readinessProbe": {
"httpGet": {
"path": "/healthz",
"port": "http"
},
"periodSeconds": 10,
"timeoutSeconds": 2
},
"resources": {
"limits": {
"cpu": "500m",
"memory": "256Mi"
},
"requests": {
"cpu": "5m",
"memory": "64Mi"
}
},
"securityContext": {
"allowPrivilegeEscalation": false,
"capabilities": {
"drop": [
"ALL"
]
},
"readOnlyRootFilesystem": true
},
"startupProbe": {
"failureThreshold": 12,
"httpGet": {
"path": "/healthz",
"port": "http"
},
"periodSeconds": 10,
"timeoutSeconds": 2
},
"volumeMounts": [
{
"mountPath": "/data",
"name": "data"
},
{
"mountPath": "/run/informed-decision",
"name": "runtime"
},
{
"mountPath": "/tmp",
"name": "tmp"
},
{
"mountPath": "/configuration",
"name": "configuration",
"readOnly": true
},
{
"mountPath": "/var/run/secrets/informed-decision/policy",
"name": "caller",
"readOnly": true
},
{
"mountPath": "/var/run/secrets/informed-decision/audit",
"name": "audit",
"readOnly": true
},
{
"mountPath": "/var/run/secrets/informed-decision/kubernetes",
"name": "kubernetes-api",
"readOnly": true
},
{
"mountPath": "/workload-registry",
"name": "workload-registry",
"readOnly": true
},
{
"mountPath": "/var/run/secrets/informed-decision/requester",
"name": "sitting-requester",
"readOnly": true
}
]
}
],
"securityContext": {
"fsGroup": 10001,
"fsGroupChangePolicy": "OnRootMismatch",
"runAsGroup": 10001,
"runAsNonRoot": true,
"runAsUser": 10001,
"seccompProfile": {
"type": "RuntimeDefault"
}
},
"serviceAccountName": "review",
"terminationGracePeriodSeconds": 45,
"volumes": [
{
"name": "data",
"persistentVolumeClaim": {
"claimName": "informed-decision-data"
}
},
{
"emptyDir": {
"medium": "Memory",
"sizeLimit": "16Mi"
},
"name": "runtime"
},
{
"emptyDir": {
"medium": "Memory",
"sizeLimit": "16Mi"
},
"name": "tmp"
},
{
"configMap": {
"defaultMode": 292,
"name": "informed-decision-runtime-6c221878d051"
},
"name": "configuration"
},
{
"name": "caller",
"projected": {
"defaultMode": 288,
"sources": [
{
"serviceAccountToken": {
"audience": "flex-auth",
"expirationSeconds": 3600,
"path": "token"
}
}
]
}
},
{
"name": "audit",
"secret": {
"defaultMode": 288,
"items": [
{
"key": "token",
"path": "token"
}
],
"secretName": "informed-decision-audit"
}
},
{
"name": "kubernetes-api",
"projected": {
"defaultMode": 288,
"sources": [
{
"serviceAccountToken": {
"expirationSeconds": 600,
"path": "token"
}
},
{
"configMap": {
"items": [
{
"key": "ca.crt",
"path": "ca.crt"
}
],
"name": "kube-root-ca.crt"
}
}
]
}
},
{
"configMap": {
"defaultMode": 292,
"name": "informed-decision-workload-registry"
},
"name": "workload-registry"
},
{
"name": "sitting-requester",
"secret": {
"defaultMode": 288,
"items": [
{
"key": "client-secret",
"path": "client-secret"
}
],
"optional": false,
"secretName": "informed-decision-sitting-requester"
}
}
]
}
}
}
}