Update Runbook
curl --request PUT \
--url http://{host}:{port}/{basePath}/runbooks/{name} \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"description": "<string>",
"severity": [
"<string>"
],
"automated": true,
"approvalRequired": true,
"rollbackOnFailure": true,
"steps": [
{
"name": "<string>",
"description": "<string>",
"command": "<string>",
"timeout": "60s",
"continueOnFailure": false
}
],
"matchConditions": {
"resourceTypes": [
"<string>"
],
"descriptionPatterns": [
"<string>"
],
"namespaces": [
"<string>"
]
}
}
'{
"apiVersion": "v1",
"kind": "Runbook",
"metadata": {
"name": "runbook-oomkill-standard",
"updatedAt": "2026-03-19T16:30:00Z",
"updatedBy": "admin@empresa.com",
"version": "1.4.0"
},
"spec": {
"category": "oomkill",
"description": "Remediação padrão para eventos OOMKill — ajusta memory limits com análise de histórico",
"severity": ["high", "critical"],
"automated": true,
"approvalRequired": true,
"rollbackOnFailure": true,
"steps": [
{
"name": "diagnose-memory-usage",
"description": "Coletar métricas de uso de memória do container",
"action": "kubectl",
"command": "top pod $POD --containers",
"timeout": "30s"
},
{
"name": "analyze-memory-history",
"description": "Analisar histórico de consumo de memória via Prometheus",
"action": "ai-analyze",
"timeout": "60s"
},
{
"name": "patch-resource-limits",
"description": "Atualizar memory limit do Deployment",
"action": "kubectl",
"command": "patch deployment $DEPLOYMENT -p '{\"spec\":{\"template\":{\"spec\":{\"containers\":[{\"name\":\"$CONTAINER\",\"resources\":{\"limits\":{\"memory\":\"$NEW_LIMIT\"}}}]}}}}'",
"timeout": "120s"
},
{
"name": "verify-stability",
"description": "Verificar estabilidade do pod após patch",
"action": "wait",
"timeout": "180s"
}
]
}
}
Runbooks
Atualizar Runbook
Atualiza um runbook de remediação existente
PUT
/
runbooks
/
{name}
Update Runbook
curl --request PUT \
--url http://{host}:{port}/{basePath}/runbooks/{name} \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"description": "<string>",
"severity": [
"<string>"
],
"automated": true,
"approvalRequired": true,
"rollbackOnFailure": true,
"steps": [
{
"name": "<string>",
"description": "<string>",
"command": "<string>",
"timeout": "60s",
"continueOnFailure": false
}
],
"matchConditions": {
"resourceTypes": [
"<string>"
],
"descriptionPatterns": [
"<string>"
],
"namespaces": [
"<string>"
]
}
}
'{
"apiVersion": "v1",
"kind": "Runbook",
"metadata": {
"name": "runbook-oomkill-standard",
"updatedAt": "2026-03-19T16:30:00Z",
"updatedBy": "admin@empresa.com",
"version": "1.4.0"
},
"spec": {
"category": "oomkill",
"description": "Remediação padrão para eventos OOMKill — ajusta memory limits com análise de histórico",
"severity": ["high", "critical"],
"automated": true,
"approvalRequired": true,
"rollbackOnFailure": true,
"steps": [
{
"name": "diagnose-memory-usage",
"description": "Coletar métricas de uso de memória do container",
"action": "kubectl",
"command": "top pod $POD --containers",
"timeout": "30s"
},
{
"name": "analyze-memory-history",
"description": "Analisar histórico de consumo de memória via Prometheus",
"action": "ai-analyze",
"timeout": "60s"
},
{
"name": "patch-resource-limits",
"description": "Atualizar memory limit do Deployment",
"action": "kubectl",
"command": "patch deployment $DEPLOYMENT -p '{\"spec\":{\"template\":{\"spec\":{\"containers\":[{\"name\":\"$CONTAINER\",\"resources\":{\"limits\":{\"memory\":\"$NEW_LIMIT\"}}}]}}}}'",
"timeout": "120s"
},
{
"name": "verify-stability",
"description": "Verificar estabilidade do pod após patch",
"action": "wait",
"timeout": "180s"
}
]
}
}
Nome único do runbook (ex:
runbook-oomkill-standard)Nova descrição do runbook
Lista atualizada de severidades alvo
Se o runbook pode ser executado automaticamente
Se requer aprovação antes da execução
Se deve executar rollback automático em caso de falha
Lista atualizada de passos do runbook
Mostrar Propriedades do step
Mostrar Propriedades do step
Identificador único do passo
Descrição do passo
Tipo de ação:
kubectl, script, ai-analyze, notification, waitComando a ser executado
Timeout do passo
Se deve continuar em caso de falha
{
"apiVersion": "v1",
"kind": "Runbook",
"metadata": {
"name": "runbook-oomkill-standard",
"updatedAt": "2026-03-19T16:30:00Z",
"updatedBy": "admin@empresa.com",
"version": "1.4.0"
},
"spec": {
"category": "oomkill",
"description": "Remediação padrão para eventos OOMKill — ajusta memory limits com análise de histórico",
"severity": ["high", "critical"],
"automated": true,
"approvalRequired": true,
"rollbackOnFailure": true,
"steps": [
{
"name": "diagnose-memory-usage",
"description": "Coletar métricas de uso de memória do container",
"action": "kubectl",
"command": "top pod $POD --containers",
"timeout": "30s"
},
{
"name": "analyze-memory-history",
"description": "Analisar histórico de consumo de memória via Prometheus",
"action": "ai-analyze",
"timeout": "60s"
},
{
"name": "patch-resource-limits",
"description": "Atualizar memory limit do Deployment",
"action": "kubectl",
"command": "patch deployment $DEPLOYMENT -p '{\"spec\":{\"template\":{\"spec\":{\"containers\":[{\"name\":\"$CONTAINER\",\"resources\":{\"limits\":{\"memory\":\"$NEW_LIMIT\"}}}]}}}}'",
"timeout": "120s"
},
{
"name": "verify-stability",
"description": "Verificar estabilidade do pod após patch",
"action": "wait",
"timeout": "180s"
}
]
}
}
Autorizações
Bearer token issued by the operator. Format: Authorization: Bearer <token>.
Parâmetros de caminho
Unique runbook name.
Exemplo:
"runbook-oomkill-standard"
Corpo
application/json
⌘I