Skip to content
Documentation

Documentation

KICK restarts a workload when a Secret or ConfigMap it consumes changes — but only when the running rollout is actually stale, and only when your GitOps tool permits the restart. GitOps gating is optional: KICK also runs on a cluster with no GitOps controller at all.

What is KICK?

Kubernetes never restarts a Pod when a Secret or ConfigMap it reads changes, so the running Pod silently drifts from its intended configuration. KICK is a small operator that closes this gap: it discovers each workload’s dependencies, detects relevant changes, checks that the running rollout predates the change, optionally asks your GitOps tool for permission, and then issues exactly one restart via the standard kubectl.kubernetes.io/restartedAt annotation. It injects no state into your workloads.

Where to start

  • Install KICK with Helm (or from source for local dev).
  • Run the Quickstart to see a Secret change restart a Deployment.
  • Read Concepts to understand discovery, freshness, and GitOps gating.
  • Look up fields in the Reference.

Sections

SectionWhat you’ll find
InstallationInstall KICK with Helm or from source
QuickstartWatch KICK restart a Deployment on Kind
ConceptsDiscovery, freshness, and GitOps gating, explained
ComparisonHow KICK differs from Reloader and Wave
GuidesArgo CD, Kargo, running without GitOps, External Secrets, troubleshooting
ReferenceKickPolicy / KickRequest / NotificationPolicy API, metrics, events, config
OperationsRBAC, security, scalability, upgrades
TheoryThe formal operator model in scientific notation
DevelopmentDebugging, the timeline UI, workflow
For AI Agentsllms.txt, Markdown output, agent instructions
DecisionsArchitecture decision records
Last updated on