Two reports, at two different times
There are two suites, and the difference is when they can run.
Start with the substrate report. Everything it asks has an answer that should
stop an install rather than be discovered halfway through one.
Substrate checks
pvc-durability and storage-throughput are the only rows that write anything.
Between them they create two small PersistentVolumeClaims and three short-lived
pods, and delete all of it. Both are opt-in behind --allow-provision; everything
else in the substrate report is read-only.It is worth understanding why it goes to that trouble. A pod that writes to its
mount and reads the value back passes on an emptyDir, which persists nothing.
So the row writes a marker unique to that run, deletes the pod, and requires a
second pod on the same claim to read that exact marker back. A volume returning
some other marker fails as loudly as an empty one: a claim quietly carrying
another workload’s data is the worse finding of the two.What the Ray suite checks
Twenty checks in five groups. Every one is a claim about your cluster, not about Mixpeek.Cluster
Security
Connectivity
Every one of these asks can the cluster reach it, not can this laptop reach it. They run as jobs inside your cluster and report from there, because those differ in exactly the cases that matter: a private endpoint, a workload identity, an egress policy.Workloads
Isolation
Fault handling, and where the boundary of the suite sits
The suite reports on your cluster. Some platform behaviour is a property of the software and holds on any cluster, so it is stated here rather than measured per install.
The distinction matters when you read a report. A row that passed is a statement
about your cluster. A behaviour in the second group is a statement about Mixpeek,
and a green report does not re-derive it.
Reading a verdict
INCOMPLETE is the one worth understanding. It means no check contradicted
anything and some checks could not run: a missing credential, a permission the
running identity lacks, or a check that could not run. The row names which. It is
not a pass, and it is
not a failure. Treating it as either is the mistake the verdict exists to
prevent.
Rows that skip, and why that is deliberate
A skipped row states what it could not do:network-policy will tell you it could
not read your NetworkPolicies rather than telling you there are none. kuberay
distinguishes “not installed” from “could not read whether it is installed”, and
only the first is a statement about your cluster.
Running it yourself
The substrate suite is the one you can run before granting us anything. It needs a kubeconfig,kubectl, and the python3 already on your machine. No Ray, no
Mixpeek, no dependencies to install.
--require-cpu and --require-memory are the capacity the install needs; ask us
for the numbers for your configuration. Without them the capacity row skips
rather than guessing, because a check that capacity exceeds the capacity it just
observed cannot fail.
The one-liner that checks the most important RBAC claim needs nothing at all:
The compatibility matrix of Ray, KubeRay and Kubernetes versions we publish as
supported is generated from CI results rather than written by hand. See
Compatibility.

