state-hub/deploy/informed-decision/dispatcher.candidate.json
tegwick a64aa58b38
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 1s
Project separate lifecycle and intake audiences for the selected workload
Assistant: codex
Assistant-Model: gpt-6-astra
Assistant-Session: 01a10780-6d41-7952-9718-dfbc1f41236f
2026-10-04 22:37:45 +02:00

214 lines
6 KiB
JSON

{
"apiVersion": "v1",
"kind": "List",
"items": [
{
"apiVersion": "v1",
"kind": "PersistentVolumeClaim",
"metadata": {
"name": "state-hub-memo-dispatch",
"namespace": "state-hub",
"annotations": {
"state-hub.coulomb.social/admission": "proposal; STATE-WP-0096 / INFD-WP-0007 approved rollout required"
}
},
"spec": {
"accessModes": [
"ReadWriteOnce"
],
"storageClassName": "local-path",
"resources": {
"requests": {
"storage": "1Gi"
}
}
}
},
{
"apiVersion": "apps/v1",
"kind": "Deployment",
"metadata": {
"name": "state-hub-memo-dispatch",
"namespace": "state-hub",
"annotations": {
"state-hub.coulomb.social/admission": "proposal; STATE-WP-0096 / INFD-WP-0007 approved rollout required"
}
},
"spec": {
"replicas": 1,
"strategy": {
"type": "Recreate"
},
"selector": {
"matchLabels": {
"app.kubernetes.io/name": "state-hub",
"app.kubernetes.io/component": "memo-dispatch"
}
},
"template": {
"metadata": {
"labels": {
"app.kubernetes.io/name": "state-hub",
"app.kubernetes.io/component": "memo-dispatch"
}
},
"spec": {
"serviceAccountName": "state-hub",
"automountServiceAccountToken": false,
"terminationGracePeriodSeconds": 15,
"securityContext": {
"runAsNonRoot": true,
"runAsUser": 10001,
"runAsGroup": 10001,
"fsGroup": 10001,
"fsGroupChangePolicy": "OnRootMismatch",
"seccompProfile": {
"type": "RuntimeDefault"
}
},
"containers": [
{
"name": "dispatcher",
"image": "forgejo.coulomb.social/coulomb/state-hub-memo-dispatch@sha256:a3b311ab99f08ab51a2919e72537ffb1176aad2448fa892bf1bf826e1a11161a",
"securityContext": {
"allowPrivilegeEscalation": false,
"readOnlyRootFilesystem": true,
"capabilities": {
"drop": [
"ALL"
]
}
},
"resources": {
"requests": {
"cpu": "5m",
"memory": "24Mi"
},
"limits": {
"cpu": "100m",
"memory": "96Mi"
}
},
"volumeMounts": [
{
"name": "queue",
"mountPath": "/data"
},
{
"name": "intake-caller",
"mountPath": "/var/run/secrets/state-hub/informed-decision",
"readOnly": true
}
]
}
],
"volumes": [
{
"name": "queue",
"persistentVolumeClaim": {
"claimName": "state-hub-memo-dispatch"
}
},
{
"name": "intake-caller",
"projected": {
"defaultMode": 288,
"sources": [
{
"serviceAccountToken": {
"audience": "informed-decision-intake",
"expirationSeconds": 600,
"path": "intake-token"
}
},
{
"serviceAccountToken": {
"audience": "informed-decision-lifecycle",
"expirationSeconds": 600,
"path": "lifecycle-token"
}
}
]
}
}
]
}
}
}
},
{
"apiVersion": "networking.k8s.io/v1",
"kind": "NetworkPolicy",
"metadata": {
"name": "state-hub-memo-dispatch",
"namespace": "state-hub",
"annotations": {
"state-hub.coulomb.social/admission": "proposal; STATE-WP-0096 / INFD-WP-0007 approved rollout required"
}
},
"spec": {
"podSelector": {
"matchLabels": {
"app.kubernetes.io/name": "state-hub",
"app.kubernetes.io/component": "memo-dispatch"
}
},
"policyTypes": [
"Ingress",
"Egress"
],
"ingress": [],
"egress": [
{
"to": [
{
"namespaceSelector": {
"matchLabels": {
"kubernetes.io/metadata.name": "kube-system"
}
},
"podSelector": {
"matchLabels": {
"k8s-app": "kube-dns"
}
}
}
],
"ports": [
{
"protocol": "UDP",
"port": 53
},
{
"protocol": "TCP",
"port": 53
}
]
},
{
"to": [
{
"namespaceSelector": {
"matchLabels": {
"kubernetes.io/metadata.name": "informed-decision"
}
},
"podSelector": {
"matchLabels": {
"app.kubernetes.io/name": "informed-decision"
}
}
}
],
"ports": [
{
"protocol": "TCP",
"port": 8081
}
]
}
]
}
}
]
}