Install the stack on Kind
Recommended: install from source
Create the expected cluster:
kind create cluster --name jafra
kubectl config use-context kind-jafra
Install cert-manager and the complete stack:
./install-jafra.sh --install-cert-manager
For later iterations:
./install-jafra.sh # build only missing images
./install-jafra.sh --force-build # rebuild every component
./install-jafra.sh --deploy-only # apply manifests without image work
Set KIND_CLUSTER if the cluster has another name. Keep
JAFRA_VERSION=0.0.2 for this release.
Deployment sequence
The installer deliberately orders resources:
- verify Docker,
kubectl, Kind, and the selected cluster; - install or require cert-manager;
- create
jafra-system, RBAC, and the controller certificate; - wait for the certificate;
- deploy and wait for the controller before registering the webhook;
- deploy the analyzer and its 5 GiB PVC;
- deploy the agent DaemonSet in
log-only; - change the agent to
JAFRA_MODE=grpcand wait for restart.
This ordering avoids registering a failing TLS webhook and prevents the agent from streaming before the analyzer is ready.
Published-image installer
pull-jafra.sh pulls ${JAFRA_REGISTRY}/jafra-*:${JAFRA_VERSION} (defaults
quay.io/jafra.io / 0.0.2), loads them into Kind when needed, applies
manifests, and pins controller/agent/analyzer workloads to those images
even if the YAML still lists another tag. Prefer:
JAFRA_REGISTRY=quay.io/jafra.io JAFRA_VERSION=0.0.2 ./pull-jafra.sh --force-pull
For OpenShift, use Install on OpenShift and review OpenShift security and SCCs before binding SCCs:
./install-jafra.sh --target openshift --deploy-only
# or with cert-manager
./install-jafra.sh --target openshift --install-cert-manager
Verify installation
kubectl get pods -n jafra-system -o wide
kubectl rollout status deployment/jafra-controller -n jafra-system
kubectl rollout status deployment/jafra-analyzer -n jafra-system
kubectl rollout status daemonset/jafra-agent -n jafra-system
kubectl get mutatingwebhookconfiguration jafra-controller
kubectl get certificate -n jafra-system
The controller and analyzer should each have one ready Pod. The agent should have one ready Pod per eligible Linux node.