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.1 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 caveat
The v0.0.1 pull-jafra.sh pulls images named
quay.io/causa-ai-hub/jafra-*:0.0.1, while the Kubernetes manifests
refer to quay.io/bharathappali/jafra-*:0.0.1. The script does not rewrite
the three manifest image references.
Consequently, loading the pulled tags does not guarantee that Kind uses
them; the cluster may try to pull the different manifest names. Prefer
install-jafra.sh with the release source and manifest image names. If using
published images, retag all three to the manifest names before kind load,
or update all three workload image references consistently.
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.