OpenShift AI Platform Analysis¶
Architecture snapshot: 2026-05-20 (2026-05-20)
Generated by architecture-analyzer. All data produced by deterministic static analysis.
Platform Summary¶
| Metric | Count |
|---|---|
| Components | 56 |
| CRDs | 56 |
| Services | 81 |
| Secrets | 45 |
| Cluster Roles | 61 |
| Cross-Component Dependencies | 24 |
| Webhooks | 121 |
Component Dependency Graph¶
%%{init: {'theme': 'base', 'flowchart': {'nodeSpacing': 30, 'rankSpacing': 50}}}%%
graph LR
classDef internal fill:#3498db,stroke:#2980b9,color:#fff
classDef external fill:#95a5a6,stroke:#7f8c8d,color:#fff
ai_gateway_payload_processing["ai-gateway-payload-processing\n2 CRDs"]:::internal
data_science_pipelines_operator["data-science-pipelines-operator\n4 CRDs"]:::internal
gateway_api_inference_extension["gateway-api-inference-extension\n4 CRDs"]:::internal
kserve["kserve\n26 CRDs"]:::internal
kubeflow["kubeflow"]:::internal
llm_d_inference_scheduler["llm-d-inference-scheduler"]:::internal
model_registry["model-registry"]:::internal
modelmesh_serving["modelmesh-serving\n4 CRDs"]:::internal
models_as_a_service["models-as-a-service"]:::internal
odh_cli["odh-cli"]:::internal
opendatahub_operator["opendatahub-operator"]:::external
spark_operator["spark-operator\n3 CRDs"]:::internal
workload_variant_autoscaler["workload-variant-autoscaler\n1 CRDs"]:::internal
ai_gateway_payload_processing ==>|"watches 3 CRDs"| gateway_api_inference_extension
kserve ==>|"watches 3 CRDs"| gateway_api_inference_extension
kubeflow -.->|"go-module"| data_science_pipelines_operator
llm_d_inference_scheduler ==>|"watches 3 CRDs"| gateway_api_inference_extension
model_registry ==>|"watches InferenceService"| kserve
modelmesh_serving ==>|"watches 4 CRDs"| kserve
models_as_a_service -.->|"go-module"| kserve
models_as_a_service ==>|"watches ExternalModel"| ai_gateway_payload_processing
odh_cli -.->|"go-module"| opendatahub_operator
workload_variant_autoscaler ==>|"watches InferencePool, InferenceObjective"| gateway_api_inference_extension
kserve -->|"webhook-ref"| modelmesh_serving
modelmesh_serving -->|"webhook-ref"| workload_variant_autoscaler
spark_operator -->|"webhook-ref"| workload_variant_autoscaler
Components Analyzed¶
| Component | CRDs |
|---|---|
| MLServer | 0 |
| NeMo-Guardrails | 0 |
| ai-gateway-payload-processing | 2 |
| ai4rag | 0 |
| argo-workflows | 0 |
| batch-gateway | 0 |
| caikit-nlp | 0 |
| caikit-tgis-serving | 0 |
| codeflare-sdk | 0 |
| data-science-pipelines | 3 |
| data-science-pipelines-operator | 4 |
| distributed-workloads | 0 |
| eval-hub | 0 |
| feast | 0 |
| fms-guardrails-orchestrator | 0 |
| fms-hf-tuning | 0 |
| gateway-api-inference-extension | 4 |
| guardrails-regex-detector | 0 |
| kserve | 26 |
| kube-auth-proxy | 0 |
| kube-rbac-proxy | 0 |
| kubeflow | 0 |
| kuberay | 0 |
| kueue | 2 |
| llama-stack | 0 |
| llama-stack-k8s-operator | 2 |
| llm-d | 0 |
| llm-d-inference-scheduler | 0 |
| llm-d-kv-cache | 0 |
| llm-d-routing-sidecar | 0 |
| lm-evaluation-harness | 0 |
| ml-metadata | 0 |
| mlflow-operator | 2 |
| model-metadata-collection | 0 |
| model-registry | 0 |
| modelmesh-runtime-adapter | 0 |
| modelmesh-serving | 4 |
| models-as-a-service | 0 |
| notebooks | 0 |
| notebooks-downstream | 0 |
| odh-cli | 0 |
| odh-deployer | 0 |
| openvino_model_server | 0 |
| pipelines-components | 0 |
| rest-proxy | 0 |
| rhds-llama-stack-distribution | 0 |
| spark-operator | 3 |
| text-generation-inference | 0 |
| trainer | 3 |
| trustyai-explainability | 0 |
| vllm-cpu | 0 |
| vllm-gaudi | 0 |
| vllm-orchestrator-gateway | 0 |
| vllm-rocm | 0 |
| vllm-spyre | 0 |
| workload-variant-autoscaler | 1 |