Fix the ModelCache printer columns, example manifests and Dynamo guide names - #469
Merged
Merged
Conversation
|
Docs preview: https://modelplane-docs-pr-469.vercel.app (ready once the site's Content workflow finishes) |
The SOURCE column read .spec.source.huggingFace.repo, but source is a string and huggingFace sits beside it, so the column was always empty. The next column was named READY, the name Crossplane already gives every XR's Ready condition, so kubectl showed two READY columns that meant different things. This points the first at .spec.huggingFace.repo and names it REPO, since it shows the repo rather than spec.source, and renames the count STAGED. Signed-off-by: Nic Cope <nicc@rk0n.org>
negz
force-pushed
the
read-the-fine-print
branch
from
September 26, 2026 02:03
a526ff4 to
4d5f5b5
Compare
The README's ModelService left out endpoints[].name, which the XRD requires, so it was rejected. The README's and the API reference's ModelDeployments also didn't pass --served-model-name=$(MODELPLANE_SERVED_MODEL_NAME), which every other example does because the gateway's model-name rewrite depends on it. Nothing validates the README's manifests, and the docs check validates the reference's against the schema, which can't see a missing flag. The README also still called a ModelService an endpoint, which it hasn't been since the gateway resolves a model by name. Signed-off-by: Nic Cope <nicc@rk0n.org>
The Dynamo guide builds on the getting started tour but reused the tour's EKS names, eks-us-east and l4-1x-g6, for a different cluster and class. Its InferenceCluster was rejected over the tour's, since spec.stack is immutable, and its InferenceClass would have moved the tour's pool from g6.xlarge to g6.8xlarge nodes. This names them eks-us-east-dynamo and l4-1x-g6-8xlarge. With both clusters present, the guide's ModelCache, which set no clusterSelector, would also stage its 29 GB of weights on the tour's clusters. This labels the Dynamo cluster and selects it, which also keeps the deployment, bounded by the cache's selector, on it. Signed-off-by: Nic Cope <nicc@rk0n.org>
negz
force-pushed
the
read-the-fine-print
branch
from
September 26, 2026 02:25
4d5f5b5 to
b672280
Compare
haarchri
approved these changes
Sep 29, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description of your changes
The ModelCache SOURCE column read
.spec.source.huggingFace.repo, which #112 left behind when it movedhuggingFacebesidesource, so it was always empty. The column beside it shared its name, READY, with the one Crossplane adds to every XR (#84). They're now REPO and STAGED.The API server rejected the README's ModelService, which left out the required
endpoints[].name, and the README's and API reference's ModelDeployments didn't pass--served-model-name, which the gateway's model-name rewrite needs. The README also still called a ModelService an endpoint. Broken by #425, whose docs pass didn't reach them. The docs check validates manifests against their schemas, so it can't catch a missing flag, and it doesn't read the README.The Dynamo guide builds on the getting started tour but reused the tour's EKS names for a different cluster and class, so the API server rejected its InferenceCluster (
spec.stackis immutable) and its InferenceClass would have moved the tour's pool to g6.8xlarge nodes. Its ModelCache, with noclusterSelector, would also stage on every tour cluster. It now has names of its own and a label its cache selects. Broken by #450.I have:
nix flake check(or./nix.sh flake check) and made sure it passes.Added or updated tests covering any composition function changes.git commit -s.