{
"description": "Standard remediation for OOMKill: raise the memory limit to 2Gi and restart",
"trigger": {
"signalType": "oom_kill",
"severity": "high",
"resourceKind": "Deployment"
},
"steps": [
{
"name": "raise-memory-limit",
"action": "AdjustResources",
"description": "Raise the container memory limit",
"params": {
"memory_limit": "2Gi"
}
},
{
"name": "restart",
"action": "RestartDeployment",
"description": "Restart pods to reclaim memory"
}
]
}
{
"apiVersion": "v1",
"kind": "Runbook",
"spec": {
"name": "oomkill-standard",
"namespace": "production",
"description": "Standard remediation for OOMKill: raise the memory limit to 2Gi and restart",
"trigger": {
"signalType": "oom_kill",
"severity": "high",
"resourceKind": "Deployment"
},
"steps": [
{
"name": "raise-memory-limit",
"action": "AdjustResources",
"description": "Raise the container memory limit",
"params": {
"memory_limit": "2Gi"
}
},
{
"name": "restart",
"action": "RestartDeployment",
"description": "Restart pods to reclaim memory"
}
],
"maxAttempts": 3,
"creationTimestamp": "2026-01-10T08:00:00Z"
},
"resourceMeta": {
"name": "oomkill-standard",
"namespace": "production",
"uid": "3c4d5e6f-7a8b-4c9d-8e0f-1a2b3c4d5e6f",
"creationTimestamp": "2026-01-10T08:00:00Z"
}
}
Atualizar Runbook
Substitui a definição de um Runbook existente
{
"description": "Standard remediation for OOMKill: raise the memory limit to 2Gi and restart",
"trigger": {
"signalType": "oom_kill",
"severity": "high",
"resourceKind": "Deployment"
},
"steps": [
{
"name": "raise-memory-limit",
"action": "AdjustResources",
"description": "Raise the container memory limit",
"params": {
"memory_limit": "2Gi"
}
},
{
"name": "restart",
"action": "RestartDeployment",
"description": "Restart pods to reclaim memory"
}
]
}
{
"apiVersion": "v1",
"kind": "Runbook",
"spec": {
"name": "oomkill-standard",
"namespace": "production",
"description": "Standard remediation for OOMKill: raise the memory limit to 2Gi and restart",
"trigger": {
"signalType": "oom_kill",
"severity": "high",
"resourceKind": "Deployment"
},
"steps": [
{
"name": "raise-memory-limit",
"action": "AdjustResources",
"description": "Raise the container memory limit",
"params": {
"memory_limit": "2Gi"
}
},
{
"name": "restart",
"action": "RestartDeployment",
"description": "Restart pods to reclaim memory"
}
],
"maxAttempts": 3,
"creationTimestamp": "2026-01-10T08:00:00Z"
},
"resourceMeta": {
"name": "oomkill-standard",
"namespace": "production",
"uid": "3c4d5e6f-7a8b-4c9d-8e0f-1a2b3c4d5e6f",
"creationTimestamp": "2026-01-10T08:00:00Z"
}
}
oomkill-standard)description, trigger e steps são sempre sobrescritos com o que você enviar (um campo omitido fica vazio, e um trigger vazio é rejeitado pelo CRD). Só maxAttempts (quando maior que 0) e labels (quando presente) são opcionais. name e namespace no corpo são ignorados.
Mostrar Propriedades do trigger
Mostrar Propriedades do trigger
oom_kill, crashloop_backoff, error_rate, latency, pod_restart, cpu_high, memory_high, disk_pressure, image_pull_error (lista completa no enum do CRD Anomaly)critical, high, medium ou lowDeployment, StatefulSet, DaemonSet, Job, CronJobMostrar Propriedades do passo
Mostrar Propriedades do passo
AdjustResources, RestartDeployment, ScaleDeployment, RollbackDeployment, ExecDiagnostic{"memory_limit": "1Gi"}, {"replicas": "5"}){
"description": "Standard remediation for OOMKill: raise the memory limit to 2Gi and restart",
"trigger": {
"signalType": "oom_kill",
"severity": "high",
"resourceKind": "Deployment"
},
"steps": [
{
"name": "raise-memory-limit",
"action": "AdjustResources",
"description": "Raise the container memory limit",
"params": {
"memory_limit": "2Gi"
}
},
{
"name": "restart",
"action": "RestartDeployment",
"description": "Restart pods to reclaim memory"
}
]
}
{
"apiVersion": "v1",
"kind": "Runbook",
"spec": {
"name": "oomkill-standard",
"namespace": "production",
"description": "Standard remediation for OOMKill: raise the memory limit to 2Gi and restart",
"trigger": {
"signalType": "oom_kill",
"severity": "high",
"resourceKind": "Deployment"
},
"steps": [
{
"name": "raise-memory-limit",
"action": "AdjustResources",
"description": "Raise the container memory limit",
"params": {
"memory_limit": "2Gi"
}
},
{
"name": "restart",
"action": "RestartDeployment",
"description": "Restart pods to reclaim memory"
}
],
"maxAttempts": 3,
"creationTimestamp": "2026-01-10T08:00:00Z"
},
"resourceMeta": {
"name": "oomkill-standard",
"namespace": "production",
"uid": "3c4d5e6f-7a8b-4c9d-8e0f-1a2b3c4d5e6f",
"creationTimestamp": "2026-01-10T08:00:00Z"
}
}
{
"apiVersion": "v1",
"kind": "Error",
"error": "Not Found",
"code": 404,
"message": "runbook not found: runbooks.platform.chatcli.io \"oomkill-standard\" not found"
}
Autorizações
API key sent in the X-API-Key header. Keys are read from the Secret chatcli-operator-secrets, key api-keys (fallback: ConfigMap chatcli-operator-config, key api-keys) in the operator namespace, as a YAML list of {key, role, name, description} (name is the identity recorded on approval decisions); the operator chart creates it only with apiKeys.create: true. Roles: viewer < operator < admin — any other role string is denied everywhere. Changes are picked up within about 30 seconds; deleting both the Secret and the ConfigMap revokes every key. With no keys configured every /api/ call returns 401, unless CHATCLI_OPERATOR_DEV_MODE=true, which grants admin without a key (development only).
Parâmetros de caminho
Runbook name.
"oom-standard"
Parâmetros de consulta
Namespace of the object. Defaults to default — pass it for objects in any other namespace.
Corpo
Required on create; ignored on update.
"oom-standard"
Create only; ignored on update.
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Defaults to 3 on create; on update only values > 0 are applied.
Show child attributes
Show child attributes