Skip to content

Quickstart

This walks through installing the Genkit Operator and deploying a sample Flow backed by Anthropic Claude.

  • A Kubernetes cluster (v1.27+). kind is fine for local testing.
  • kubectl and (optionally) helm 3.16+.
  • An Anthropic API key (or credentials for any other supported provider).

The fastest path is the published Helm chart:

Terminal window
helm install genkit-operator \
oci://ghcr.io/xavidop/charts/genkit-operator \
--version latest \
--namespace genkit-operator-system --create-namespace

Prefer plain YAML? Use the bundled installer attached to each GitHub Release:

Terminal window
kubectl apply -f https://github.com/xavidop/genkit-operator/releases/latest/download/install.yaml

Verify the controller is up:

Terminal window
kubectl -n genkit-operator-system get pods
kubectl get crds | grep genkit.dev
Terminal window
kubectl create secret generic anthropic-credentials \
--from-literal=ANTHROPIC_API_KEY=sk-ant-...

The repository ships a complete end-to-end example under config/samples/:

Terminal window
kubectl apply -f https://raw.githubusercontent.com/xavidop/genkit-operator/main/config/samples/genkit_v1alpha1_pluginconfig.yaml
kubectl apply -f https://raw.githubusercontent.com/xavidop/genkit-operator/main/config/samples/genkit_v1alpha1_model.yaml
kubectl apply -f https://raw.githubusercontent.com/xavidop/genkit-operator/main/config/samples/genkit_v1alpha1_prompt.yaml
kubectl apply -f https://raw.githubusercontent.com/xavidop/genkit-operator/main/config/samples/genkit_v1alpha1_tool.yaml
kubectl apply -f https://raw.githubusercontent.com/xavidop/main/config/samples/genkit_v1alpha1_flow.yaml
Terminal window
kubectl get gpc,gmd,gpr,gtl,gfl
kubectl describe gfl greeter
kubectl get deploy,svc,cm -l app.kubernetes.io/managed-by=genkit-operator

Once the Deployment is ready, the Flow reports Phase=Running and a Ready=True condition.

Terminal window
kubectl port-forward svc/greeter 8080:8080 &
curl -s -X POST http://localhost:8080/greeter \
-H 'content-type: application/json' \
-d '{"name":"world"}'

Edit the Prompt body and reapply:

Terminal window
kubectl edit prompt greeting

The operator recomputes the content hash, updates the Pod template annotation genkit.dev/content-hash, and triggers a rolling update of the Flow Deployment automatically.