Skip to content

Configuration Reference

Primary configuration surface: Helm chart values in charts/kick/values.yaml.

KeyDescriptionDefault
namespace.nameController namespacekick-system
requestRetentionCompleted request retention duration24h
rolloutTimeoutRestart rollout timeout15m
leaderElection.enabledEnable leader electiontrue
podDisruptionBudget.enabledProtect single replica availabilitytrue
resourcesController CPU/memory requests/limitsset in values
integrations.argocd.enabledEnable Argo CD adapter logictrue
integrations.argocd.namespaceArgo CD control-plane namespaceargocd
integrations.argocd.applicationNamespacesApplication namespaces to search[]
integrations.flux.enabledEnable Flux adapter logictrue
integrations.argoRollouts.enabledTreat argoproj.io Rollouts as restartable workloads, and grant RBAC for themfalse
integrations.secretsStoreCSI.enabledObserve SecretProviderClassPodStatus for Secrets Store CSI rotation, and grant RBAC for itfalse
integrations.kargo.enabledGrant RBAC for Kargo Stages and Promotions so provider: Kargo can be usedfalse

Example:

integrations:
  argocd:
    enabled: true
    applicationNamespaces: []
  flux:
    enabled: true
  argoRollouts:
    enabled: true
  secretsStoreCSI:
    enabled: true
  kargo:
    enabled: false

Manager flags

FlagDescriptionDefault
--rollout-timeoutMaximum time KICK waits for rollout convergence before marking a request timed out.15m
--enable-argocdGate restarts on Argo CD Application state. Ignored when the CRD is absent.true
--enable-fluxGate restarts on Flux Kustomization and HelmRelease state. Ignored when CRDs are absent.true
--enable-kargoBlock restarts while a Kargo Promotion is active. Ignored when the CRD is absent.false
--enable-argo-rolloutsWatch and restart argoproj.io/v1alpha1 Rollouts. Ignored when the CRD is absent.false
--enable-csi-integrationWatch SecretProviderClassPodStatus. Ignored when the CRD is absent.false

Every integration additionally requires its CRD to exist in the cluster; the manager probes the REST mapper at startup and skips the integration rather than failing. The Helm chart sets these flags from matching integrations.*.enabled values.

Detection happens once at start-up

Integrations — Argo CD, Flux, Kargo, Argo Rollouts and Secrets Store CSI — are detected exactly once while the manager starts. If their CRDs are installed later, the integration stays inactive until the KICK manager pod is restarted. The manager logs one line per skipped integration at start-up, naming the integration and the group/version/kind it did not find, so kubectl logs on the manager pod tells you what is inactive. The probe is deliberately not dynamic: registering a watch or a field index for a kind that does not exist aborts the manager, so the check has to happen before the manager runs.

Controller runtime defaults and remaining flags are defined by chart templates and manager args in Kubernetes manifests.

Last updated on