Installation
Installation
KICK ships as a single controller plus two cluster-scoped CRDs
(KickPolicy, KickRequest). The recommended install is the Helm chart.
Prerequisites
- Kubernetes 1.28+
- Helm 3.12+
- (optional) Argo CD, if you want to gate restarts behind GitOps
Helm install
helm install kick oci://ghcr.io/corewire/charts/kick \
--namespace kick-system \
--create-namespaceThat installs the CRDs, RBAC, and the controller Deployment.
Common values
Override with --set key=value or a -f values.yaml file:
| Value | Default | Description |
|---|---|---|
image.repository | ghcr.io/corewire/kick | Controller image. |
image.tag | chart appVersion | Controller image tag. |
integrations.argocd.enabled | true | Grant RBAC to read Argo CD Application/AppProject for GitOps gating. |
integrations.argocd.applicationNamespaces | [] | Namespaces KICK may read Argo CD objects from. Empty means Argo CD namespace only. |
integrations.flux.enabled | true | Grant RBAC to read Flux Kustomizations/HelmReleases for GitOps gating. |
integrations.kargo.enabled | false | Grant RBAC to read Kargo Stages/Promotions for GitOps gating. |
leaderElection.enabled | true | Enable leader election for HA. |
replicaCount | 1 | Controller replicas. |
If you do not use Argo CD, disable its RBAC:
helm install kick oci://ghcr.io/corewire/charts/kick \
--namespace kick-system --create-namespace \
--set integrations.argocd.enabled=falseUpgrading CRDs
Helm installs the CRDs on first install but does not upgrade them on
helm upgrade. When a release changes the CRDs, re-apply them explicitly:
kubectl apply -f https://raw.githubusercontent.com/corewire/kick/main/config/crd/bases/kick.corewire.io_kickpolicies.yaml
kubectl apply -f https://raw.githubusercontent.com/corewire/kick/main/config/crd/bases/kick.corewire.io_kickrequests.yamlFrom source (local development)
For a throwaway Kind cluster with the controller built from your working tree:
make kind-create # create the kind-kick-dev cluster
make kind-load # build and load the controller image
make install # install CRDs + controllerLocal defaults: context kind-kick-dev, kubeconfig .kubeconfig-kind-kick-dev.
You can also install the chart directly from the repo checkout:
helm install kick charts/kick --namespace kick-system --create-namespaceVerify
kubectl -n kick-system get pods
kubectl get crd | grep kick.corewire.ioThe controller Pod should be Running and both CRDs
(kickpolicies, kickrequests) present.
Next steps
- Quickstart — see KICK restart a Deployment when a Secret changes.
- Concepts — how discovery, freshness, and GitOps gating work.
Last updated on