Ontology Graph Viewer Runbook | Kamiwaza Docs
Graph Tab Overview
The Graph tab in a workroom shows a knowledge graph built from the workroom's sources. The Graph tab renders an empty or "being set up" state when the underlying ontology graph instance for the workroom is not yet running. This page describes what those states mean and how to recover from them.
If you reached this page from the View runbook button in the Graph tab, the workroom's graph instance is provisioned but not in a running state, or is still being provisioned and has exceeded the typical setup window.
What You May See
The Graph tab surfaces two empty states that link to this runbook:
- "Knowledge graph is being set up" — the workroom's graph instance is
pending. The auto-provisioner deploys the graph backend in the background; typical provisioning takes around 30 seconds. The UI polls instance status for up to 60 seconds and then stops auto-refreshing. - "Graph instance idle" — the workroom's graph instance was provisioned at some point but is not currently running. The empty state displays the instance status string (for example,
stopped,failed,unknown).
For context, two adjacent Graph tab states that don't link here but appear elsewhere in this page:
- "No ontology instance" — shown before any provisioning has occurred for the workroom, with a "Create ontology instance" CTA gated on the admin role. This state is the post-recovery target of the Recreate the Instance step below.
- "Graph unavailable" — the backend-error state, shown with a retry action and a correlation ID for support. If you saw this and were redirected to this runbook, include the correlation ID when you ask for help.
The first response to either of the runbook-linked states is to refresh the page. The tab re-queries instance status on reload, and a transient state may resolve on its own.
"Knowledge graph is being set up"
If this message persists for longer than a minute or two, the auto-provisioner is not completing. Check the underlying pods:
kubectl get pods -n kamiwaza -l extensions.kamiwaza.io/name=service-graphiti
The Kamiwaza extension operator labels graph backend pods with extensions.kamiwaza.io/name=service-graphiti. If the selector returns no pods, the operator has not yet created them — confirm the service-graphiti``KamiwazaExtension resource is present in the namespace and reconciling without errors.
If the pods exist but are not Running, inspect them:
kubectl describe pod -n kamiwaza <pod>
kubectl logs -n kamiwaza <pod>
Common causes for a stuck pending state include:
- The image is still being pulled (check
describeevents). - A required secret or config value is missing.
- The underlying graph database is starting up or failing its readiness probe.
- The pod cannot reach a dependency it needs to become ready.
"Graph instance idle"
The instance status string in the empty state indicates the broad failure mode. Use the same selector to find the pods:
kubectl get pods -n kamiwaza -l extensions.kamiwaza.io/name=service-graphiti \
-L extensions.kamiwaza.io/deployment-id
-L extensions.kamiwaza.io/deployment-id surfaces the per-workroom deployment id as a column rather than printing the full label set. Each per-workroom graph instance is provisioned as a separate KamiwazaExtension and carries a unique extensions.kamiwaza.io/deployment-id label, which the operator also propagates to the owning Deployment — so the same label scopes both pod-level and Deployment-level commands later in this runbook. To list just the deployment-id values currently in the namespace:
kubectl get pods -n kamiwaza -l extensions.kamiwaza.io/name=service-graphiti \
-o jsonpath='{range .items[*]}{.metadata.labels.extensions\.kamiwaza\.io/deployment-id}{