Follow-up from #422 (review thread on Existing/BYO clusters).
What problem are you facing?
Existing/BYO clusters often already have cert-manager, kube-prometheus-stack and similar installed. If we install them again we get CRD ownership conflicts, and users are pushed to the break-glass Composition.
How could Modelplane help solve your problem?
A mode where Modelplane installs no serving stack components and uses what the cluster already has. All or nothing for now.
Main work: say what we need, and check it:
For every component we must write down what we expect when we did not install it:
- Which CRDs, API groups and versions, with the accepted version range.
- Which cluster-wide objects we assume exist (issuers, storage classes, RuntimeClasses, ServiceMonitor support).
- GPU side: driver and version, GPU Operator or node image, device plugin, DRA.
- Grove, Dynamo and LWS: versions are tightly coupled and the APIs are unstable, so the range is narrow.
- What we do not need, so users know what they can skip
Check the cluster before we reconcile and report what is missing as a condition on the InferenceCluster, instead of failing later with an unclear error. Open question from review: pre-hook, or a check inside compose-serving-stack?
- Requirements documented per component, generated from the same source as the stack so they cannot drift.
- Preflight check with a clear condition.
- E2E test on a cluster that already has cert-manager and kube-prometheus-stack: no conflict, inference works.
Later?: partial mode, where we install some components and the cluster provides the rest.
Follow-up from #422 (review thread on Existing/BYO clusters).
What problem are you facing?
Existing/BYO clusters often already have cert-manager, kube-prometheus-stack and similar installed. If we install them again we get CRD ownership conflicts, and users are pushed to the break-glass Composition.
How could Modelplane help solve your problem?
A mode where Modelplane installs no serving stack components and uses what the cluster already has. All or nothing for now.
Main work: say what we need, and check it:
For every component we must write down what we expect when we did not install it:
Check the cluster before we reconcile and report what is missing as a condition on the InferenceCluster, instead of failing later with an unclear error. Open question from review: pre-hook, or a check inside compose-serving-stack?
Later?: partial mode, where we install some components and the cluster provides the rest.