NotificationPolicy API Reference
Group/version: kick.corewire.io/v1alpha1
Kind: NotificationPolicy (namespaced)
A NotificationPolicy delivers an HTTP webhook when a KickRequest in the same
namespace reaches a selected phase. Delivery is best-effort: a failed webhook
never fails a restart.
spec
suspendpauses delivery without deleting the policy (defaultfalse)phases[]whichKickRequestphases to deliver. Defaults to the terminal phasesSucceeded,Failed,NoLongerRequired,DryRun.workloadSelectoroptional label selector on theKickRequestlabels. Omit to match every request in the namespace.
spec.webhook
urlrequired, must match^https?://methodenumPOST,PUT(defaultPOST)timeoutSecondsdefault10, min1, max120headers[]static headersnamerequiredvalueliteral valuevalueFrom.name/valueFrom.keyread the value from aSecretin the same namespace
auth.bearerToken.name/.key—Authorization: Bearer <value>auth.basic.username/auth.basic.password— each a Secret key referencetls.caBundle.name/.key— PEM bundle used to verify the servertls.clientCertificate.name/.key— akubernetes.io/tlsSecret used for mutual TLS
All credentials are Secret references. Literal credentials cannot be set inline.
Payload
The request body is JSON with a fixed field set:
{
"namespace": "team-a",
"requestName": "api-0f3c",
"phase": "Succeeded",
"reason": "RestartCompleted",
"message": "rollout completed",
"targetKind": "Deployment",
"targetName": "api",
"gitOpsProvider": "argocd",
"occurredAt": "2026-03-01T12:00:00Z"
}The payload never contains Secret or ConfigMap data, key names, or content
digests.
Delivery semantics
- Events are queued in memory. The queue is bounded; when it is full the oldest
event is dropped and
kick_notification_dropped_totalis incremented. - Delivery is retried up to three times with exponential backoff.
4xxresponses other than429are not retried. - Delivery runs only on the elected leader, so a highly-available deployment does not duplicate webhooks.
- TLS is negotiated with a minimum version of TLS 1.2.
status
observedGenerationlastDeliveryTimelastErrordelivered,failedcountersconditions
Metrics
kick_notification_deliveries_total{namespace,policy,outcome}kick_notification_dropped_total
Last updated on