Pular para o conteúdo principal
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"
      }
    ]
  }
}
name
string
obrigatório
Nome único do runbook (ex: runbook-oomkill-standard)
description
string
Nova descrição do runbook
severity
string[]
Lista atualizada de severidades alvo
automated
boolean
Se o runbook pode ser executado automaticamente
approvalRequired
boolean
Se requer aprovação antes da execução
rollbackOnFailure
boolean
Se deve executar rollback automático em caso de falha
steps
object[]
Lista atualizada de passos do runbook
matchConditions
object
Condições atualizadas para matching automático
{
  "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

Authorization
string
header
obrigatório

Bearer token issued by the operator. Format: Authorization: Bearer <token>.

Parâmetros de caminho

name
string
obrigatório

Unique runbook name.

Exemplo:

"runbook-oomkill-standard"

Corpo

application/json
description
string
severity
string[]
automated
boolean
approvalRequired
boolean
rollbackOnFailure
boolean
steps
object[]
matchConditions
object

Resposta

Runbook updated

apiVersion
string
Exemplo:

"v1"

kind
string
Exemplo:

"Runbook"

metadata
object
spec
object