Skip to main content
POST
string
obrigatório
Nome da solicitação de aprovação (ex.: approval-payment-service-oom-kill-1773933600-plan-1)
string
Namespace do Kubernetes. Se omitido, todos os namespaces são pesquisados (primeira ocorrência).
string
obrigatório
Nome de quem rejeita, registrado junto com a identidade da API key. Valor vazio retorna 400.
string
Motivo da rejeição
A chamada registra uma decisão numa solicitação Pending, do mesmo jeito que a annotation platform.chatcli.io/reject: ela adiciona uma entrada a status.decisions com o aprovador, o motivo e um timestamp. Ela nunca define status.state por conta própria. O ApprovalReconciler então avalia as decisões: qualquer rejeição rejeita a solicitação, na hora e independentemente da change window, e o RemediationPlan que aguardava é marcado Failed com o resultado Approval rejected by <aprovador>: <motivo>. A resposta volta logo depois de a decisão ser registrada, então costuma ainda mostrar Pending, com a nova entrada em decisions e em rejectedBy. O item vem em spec e em status, mais resourceMeta.
  • Identidade do aprovador. O aprovador é gravado como <approver> (api-key: <identidade>), onde a identidade é o name da entrada da API key, senão o description, senão uma impressão digital key-<hash> (dev-mode no dev mode). O nome digitado tem os espaços das pontas removidos, perde caracteres de controle e é cortado em 128 caracteres.
  • Uma decisão por chave. A mesma chave não decide duas vezes sobre uma solicitação.
  • 409 quando a solicitação não está mais Pending (já aprovada, rejeitada ou expirada), ou quando a mesma chave já registrou uma decisão nela.

Autorizações

X-API-Key
string
header
obrigatório

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

name
string
obrigatório

ApprovalRequest name.

Exemplo:

"payment-oom-plan-1-approval"

Parâmetros de consulta

namespace
string

Namespace of the object. When omitted, all namespaces are searched and the first object with this name is used.

Corpo

application/json
approver
string
obrigatório

Name of the person deciding, recorded next to the identity of the API key. Required (400 when empty); control characters are dropped and it is cut at 128 characters.

Exemplo:

"sre-oncall"

reason
string

Why.

Resposta

Decision recorded

apiVersion
string
Exemplo:

"v1"

kind
string
Exemplo:

"ApprovalRequest"

spec
object
status
object

The same approval object as spec.

resourceMeta
object