Skip to content

Platform Architecture

CRD Ownership Map

The platform defines 45 CRDs. Each CRD is owned by the component that declares it.

Owner CRDs Count
codeflare-operator AppWrapper 1
data-science-pipelines CompositeController, ControllerRevision, DecoratorController 3
data-science-pipelines-operator DataSciencePipelinesApplication, Pipeline, PipelineVersion, ScheduledWorkflow 4
kserve ClusterServingRuntime, ClusterStorageContainer, InferenceGraph, InferenceService, LLMInferenceService, LLMInferenceServiceConfig, LocalModelCache, LocalModelNamespaceCache, LocalModelNode, LocalModelNodeGroup, ServingRuntime, TrainedModel 12
llama-stack-k8s-operator LlamaStackDistribution 1
mlflow-operator MLflow, MLflowConfig 2
model-registry-operator ModelRegistry 1
modelmesh-serving ClusterServingRuntime, InferenceService, Predictor, ServingRuntime 4
odh-model-controller Account 1
spark-operator ScheduledSparkApplication, SparkApplication, SparkConnect 3
trainer ClusterTrainingRuntime, TrainJob, TrainingRuntime 3
training-operator JAXJob, MPIJob, PaddleJob, PyTorchJob, TFJob, XGBoostJob 6
workload-variant-autoscaler VariantAutoscaling 1

Cross-Component Dependencies

Relationships detected through Go module imports and CRD watch patterns.

From To Type
codeflare-operator opendatahub-operator go-module
kubeflow data-science-pipelines-operator go-module
mlflow-operator mlflow-operator go-module
model-registry kserve watches-crd:InferenceService
modelmesh-serving kserve watches-crd:ServingRuntime
models-as-a-service kserve go-module
odh-dashboard llama-stack-k8s-operator go-module
odh-dashboard mlflow-go go-module
odh-model-controller kserve go-module
odh-model-controller kserve watches-crd:InferenceGraph
odh-model-controller kserve watches-crd:ServingRuntime
odh-model-controller kserve watches-crd:LLMInferenceService
odh-model-controller kserve watches-crd:InferenceService
opendatahub-operator models-as-a-service go-module
opendatahub-operator opendatahub-operator go-module
kserve kube-rbac-proxy uses-image
kube-auth-proxy kube-rbac-proxy uses-image
kubeflow kube-rbac-proxy uses-image
kueue kube-rbac-proxy uses-image
llama-stack-k8s-operator kube-rbac-proxy uses-image
modelmesh-serving kube-rbac-proxy uses-image
odh-dashboard kube-rbac-proxy uses-image

Tightest coupling: odh-model-controller -> kserve (5 dependency edges).