Pular para o conteúdo principal
POST
/
runbooks
Create Runbook
curl --request POST \
  --url http://{host}:{port}/{basePath}/runbooks \
  --header 'Authorization: <api-key>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "name": "runbook-disk-cleanup",
  "category": "disk",
  "description": "Automatic disk cleanup when usage exceeds 85%.",
  "severity": [
    "medium",
    "high"
  ],
  "automated": true,
  "approvalRequired": true,
  "rollbackOnFailure": false,
  "steps": [
    {
      "name": "check-disk-usage",
      "description": "Check current disk usage",
      "action": "kubectl",
      "command": "exec -it $POD -- df -h /data",
      "timeout": "30s"
    },
    {
      "name": "cleanup-temp-files",
      "description": "Remove temp files older than 7 days",
      "action": "script",
      "command": "find /data/tmp -mtime +7 -delete",
      "timeout": "120s"
    }
  ],
  "matchConditions": {
    "resourceTypes": [
      "StatefulSet",
      "Deployment"
    ],
    "descriptionPatterns": [
      "disk.*usage.*high",
      "filesystem.*full"
    ],
    "namespaces": [
      "production",
      "staging"
    ]
  }
}
'
{
  "apiVersion": "v1",
  "kind": "Runbook",
  "metadata": {
    "name": "runbook-disk-cleanup",
    "createdAt": "2026-03-19T16:00:00Z",
    "createdBy": "admin@empresa.com"
  },
  "spec": {
    "category": "disk",
    "description": "Limpeza automática de disco quando uso excede 85%",
    "severity": ["medium", "high"],
    "automated": true,
    "approvalRequired": true,
    "rollbackOnFailure": false,
    "steps": [
      {
        "name": "check-disk-usage",
        "description": "Verificar uso atual do disco",
        "action": "kubectl",
        "command": "exec -it $POD -- df -h /data",
        "timeout": "30s"
      },
      {
        "name": "cleanup-temp-files",
        "description": "Remover arquivos temporarios com mais de 7 dias",
        "action": "script",
        "command": "find /data/tmp -mtime +7 -delete",
        "timeout": "120s"
      },
      {
        "name": "verify-disk-usage",
        "description": "Verificar uso de disco após limpeza",
        "action": "kubectl",
        "command": "exec -it $POD -- df -h /data",
        "timeout": "30s"
      }
    ],
    "matchConditions": {
      "resourceTypes": ["StatefulSet", "Deployment"],
      "descriptionPatterns": ["disk.*usage.*high", "filesystem.*full"],
      "namespaces": ["production", "staging"]
    }
  }
}
name
string
obrigatório
Nome único do runbook (slug, ex: runbook-disk-cleanup)
category
string
obrigatório
Categoria: oomkill, crashloop, latency, scaling, disk, network, custom
description
string
obrigatório
Descrição do objetivo do runbook
severity
string[]
obrigatório
Lista de severidades alvo: critical, high, medium, low
automated
boolean
padrão:"false"
Se o runbook pode ser executado automaticamente
approvalRequired
boolean
padrão:"true"
Se requer aprovação antes da execução
rollbackOnFailure
boolean
padrão:"true"
Se deve executar rollback automático em caso de falha
steps
object[]
obrigatório
Lista de passos do runbook
matchConditions
object
Condições para matching automático com incidentes
{
  "apiVersion": "v1",
  "kind": "Runbook",
  "metadata": {
    "name": "runbook-disk-cleanup",
    "createdAt": "2026-03-19T16:00:00Z",
    "createdBy": "admin@empresa.com"
  },
  "spec": {
    "category": "disk",
    "description": "Limpeza automática de disco quando uso excede 85%",
    "severity": ["medium", "high"],
    "automated": true,
    "approvalRequired": true,
    "rollbackOnFailure": false,
    "steps": [
      {
        "name": "check-disk-usage",
        "description": "Verificar uso atual do disco",
        "action": "kubectl",
        "command": "exec -it $POD -- df -h /data",
        "timeout": "30s"
      },
      {
        "name": "cleanup-temp-files",
        "description": "Remover arquivos temporarios com mais de 7 dias",
        "action": "script",
        "command": "find /data/tmp -mtime +7 -delete",
        "timeout": "120s"
      },
      {
        "name": "verify-disk-usage",
        "description": "Verificar uso de disco após limpeza",
        "action": "kubectl",
        "command": "exec -it $POD -- df -h /data",
        "timeout": "30s"
      }
    ],
    "matchConditions": {
      "resourceTypes": ["StatefulSet", "Deployment"],
      "descriptionPatterns": ["disk.*usage.*high", "filesystem.*full"],
      "namespaces": ["production", "staging"]
    }
  }
}

Autorizações

Authorization
string
header
obrigatório

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

Corpo

application/json
name
string
obrigatório
Exemplo:

"runbook-disk-cleanup"

category
enum<string>
obrigatório
Opções disponíveis:
oomkill,
crashloop,
latency,
scaling,
disk,
network,
custom
description
string
obrigatório
severity
enum<string>[]
obrigatório
Opções disponíveis:
critical,
high,
medium,
low
steps
object[]
obrigatório
automated
boolean
padrão:false
approvalRequired
boolean
padrão:true
rollbackOnFailure
boolean
padrão:true
matchConditions
object

Resposta

Runbook created

apiVersion
string
Exemplo:

"v1"

kind
string
Exemplo:

"Runbook"

metadata
object
spec
object