codeflare-operator: Dataflow¶
Controller Watches¶
Kubernetes resources this controller monitors for changes. Each watch triggers reconciliation when the watched resource is created, updated, or deleted.
| Type | GVK | Source |
|---|---|---|
| For | ray/v1/RayCluster | pkg/controllers/raycluster_controller.go:680 |
| Owns | /v1/Secret | pkg/controllers/raycluster_controller.go:683 |
| Owns | /v1/Service | pkg/controllers/raycluster_controller.go:682 |
| Owns | /v1/ServiceAccount | pkg/controllers/raycluster_controller.go:681 |
| Owns | networking.k8s.io/v1/Ingress | pkg/controllers/raycluster_controller.go:684 |
| Owns | networking.k8s.io/v1/NetworkPolicy | pkg/controllers/raycluster_controller.go:685 |
| Owns | route/v1/Route | pkg/controllers/raycluster_controller.go:705 |
| Watches | rbac.authorization.k8s.io/v1/ClusterRoleBinding | pkg/controllers/raycluster_controller.go:686 |
Reconciliation Flow¶
How the controller interacts with the Kubernetes API during reconciliation.
sequenceDiagram
%% Static dataflow for codeflare-operator
participant KubernetesAPI as Kubernetes API
participant manager as manager
KubernetesAPI->>+manager: Watch RayCluster (reconcile)
manager->>KubernetesAPI: Create/Update Secret
manager->>KubernetesAPI: Create/Update Service
manager->>KubernetesAPI: Create/Update ServiceAccount
manager->>KubernetesAPI: Create/Update Ingress
manager->>KubernetesAPI: Create/Update NetworkPolicy
manager->>KubernetesAPI: Create/Update Route
KubernetesAPI-->>+manager: Watch ClusterRoleBinding (informer)
Note over manager: Exposed Services
Note right of manager: webhook-service:443/TCP []
Note over KubernetesAPI: Defined CRDs
Note right of KubernetesAPI: AppWrapper (workload.codeflare.dev/v1beta2)
Webhooks¶
| Name | Type | Path | Failure Policy | Service | Source |
|---|---|---|---|---|---|
| mappwrapper.kb.io | mutating | /mutate-workload-codeflare-dev-v1beta2-appwrapper | Fail | system/webhook-service | config/webhook/manifests.yaml |
| mappwrapper.kb.io | mutating | /mutate-workload-codeflare-dev-v1beta2-appwrapper | fail | pkg/controllers/appwrapper_webhook.go |
|
| mraycluster.ray.openshift.ai | mutating | /mutate-ray-io-v1-raycluster | Fail | system/webhook-service | config/webhook/manifests.yaml |
| vappwrapper.kb.io | validating | /validate-workload-codeflare-dev-v1beta2-appwrapper | Fail | system/webhook-service | config/webhook/manifests.yaml |
| vappwrapper.kb.io | validating | /validate-workload-codeflare-dev-v1beta2-appwrapper | fail | pkg/controllers/appwrapper_webhook.go |
|
| vraycluster.ray.openshift.ai | validating | /validate-ray-io-v1-raycluster | Fail | system/webhook-service | config/webhook/manifests.yaml |
Configuration¶
ConfigMaps and Helm values that control this component's runtime behavior.