What the workbench checks
Every document goes through the same pipeline: decode, YAML parse, identification (group, version, kind, namespace, name), pack resolution, schema checks, cross-object checks and an optional local policy profile. Each stage reports complete, partial or skipped, so you can see how far the analysis went for each document.
Kinds outside the pack, including custom resources, get a YAML syntax check and a "syntax only" verdict. They never get a "valid" badge, because without a schema nothing was actually validated.
Where the boundary is
This is static analysis of the files you supply. Admission webhooks, API-server defaulting, quota, scheduling and what your cluster actually serves are unknown here. A clean result means the supplied YAML passed these local checks. It does not mean kubectl apply will succeed. For that, run the generated server-side dry-run command against your own cluster.
Questions
Does K8sTools connect to my cluster?
No. There is no kubeconfig import, no API calls and no kubectl execution. All parsing and analysis runs in your browser, and your manifests are never uploaded.
Which Kubernetes versions are supported?
The self-authored schema pack covers core kinds for 1.27 through 1.33 and was written against the 1.31 API reference. The version you pick changes deprecation results and version-gated fields such as native sidecars.
Is the schema pack the official OpenAPI schema?
No. It is a hand-written, partial structural schema for about twenty core kinds, versioned and dated on the About page. Subtrees it does not model, such as affinity, are accepted and reported as partial coverage.
Is my work saved?
The editor autosaves to IndexedDB in this browser and shows when the last save committed. Private mode turns persistence off. Browser storage is not a backup, so download anything you need to keep.