%% Kubeflow Notebook Controller - Component Dependency Graph
%% Generated by: Claude Opus 4.6
graph LR
    Kubeflow["Kubeflow Notebook<br/>Controllers"]

    %% External Dependencies
    Kubeflow -->|"controller framework"| ControllerRuntime["controller-runtime<br/>v0.21.0"]
    Kubeflow -->|"K8s API types"| K8sAPI["k8s.io/api<br/>v0.33.0"]
    Kubeflow -->|"Route management"| OSRoute["openshift/api<br/>route/v1"]
    Kubeflow -->|"OAuth management"| OSOAuth["openshift/api<br/>oauth/v1"]
    Kubeflow -->|"Proxy config"| OSConfig["openshift/api<br/>config/v1"]
    Kubeflow -->|"Image resolution"| OSImage["openshift/api<br/>image/v1"]
    Kubeflow -->|"metrics"| PromClient["prometheus/client_golang<br/>v1.22.0"]

    %% Internal ODH Dependencies
    Kubeflow -->|"deployment"| RHODSOp["rhods-operator<br/>(kustomize overlays)"]
    Kubeflow -->|"Dashboard URL"| Dashboard["odh-dashboard<br/>(Dashboard CR)"]
    Kubeflow -->|"pipeline config"| DSPO["data-science-pipelines-operator<br/>(DSPA CR)"]

    %% Platform Dependencies
    Kubeflow -->|"authentication"| OAuthServer["OpenShift OAuth Server<br/>443/TCP HTTPS"]
    Kubeflow -->|"TLS certs"| ServiceCA["OpenShift service-ca<br/>operator"]
    Kubeflow -->|"image refs"| ImageRegistry["OpenShift Image<br/>Registry"]

    %% Integration Points (who depends on kubeflow)
    Dashboard -->|"creates Notebooks"| Kubeflow
    Prometheus["Prometheus"] -.->|"scrapes metrics<br/>8080/TCP HTTP"| Kubeflow

    %% Infrastructure
    Kubeflow -->|"CRUD operations"| K8sAPIServer["Kubernetes API Server<br/>443/TCP HTTPS"]

    %% Styling
    style Kubeflow fill:#4a90e2,stroke:#333,stroke-width:4px,color:#fff
    style ControllerRuntime fill:#999,stroke:#333,color:#fff
    style K8sAPI fill:#999,stroke:#333,color:#fff
    style OSRoute fill:#999,stroke:#333,color:#fff
    style OSOAuth fill:#999,stroke:#333,color:#fff
    style OSConfig fill:#999,stroke:#333,color:#fff
    style OSImage fill:#999,stroke:#333,color:#fff
    style PromClient fill:#999,stroke:#333,color:#fff
    style RHODSOp fill:#7ed321,stroke:#333,color:#fff
    style Dashboard fill:#7ed321,stroke:#333,color:#fff
    style DSPO fill:#7ed321,stroke:#333,color:#fff
    style OAuthServer fill:#f5a623,stroke:#333,color:#fff
    style ServiceCA fill:#f5a623,stroke:#333,color:#fff
    style ImageRegistry fill:#f5a623,stroke:#333,color:#fff
    style K8sAPIServer fill:#f5a623,stroke:#333,color:#fff
    style Prometheus fill:#f5a623,stroke:#333,color:#fff
