Summary
KubeRay's `RayCluster` reconciler contains OpenShift-specific logic to create a `Route` object for dashboard access, since OpenShift historically didn't support Ingress natively. Now that Gateway API support is maturing, this code path should be removed once it's no longer needed for backward compatibility.
What to remove
- `ray-operator/controllers/ray/utils/openshift.go` — `IsOpenShiftCluster()`, `ShouldUseIngressOnOpenShift()`, and the `openShiftAPIGroups` detection list
- `ray-operator/controllers/ray/common/openshift.go` — `BuildRouteForHeadService()` and its test file
- `shouldCreateOpenShiftRoute()` in `raycluster_controller.go` and all related Route reconciliation logic
- `IsOpenShift` and `UseIngressOnOpenShift` fields from `RayClusterReconcilerOptions`
- The `isOpenShift` detection call in `main.go`
Pquisites before removing
Background
Context was discussed in #4365. The short-term goal of that PR was to clean up the detection logic and isolate all OpenShift-specific code into dedicated files (`utils/openshift.go`, `common/openshift.go`). This issue tracks the eventual full removal.
Summary
KubeRay's `RayCluster` reconciler contains OpenShift-specific logic to create a `Route` object for dashboard access, since OpenShift historically didn't support Ingress natively. Now that Gateway API support is maturing, this code path should be removed once it's no longer needed for backward compatibility.
What to remove
Pquisites before removing
Background
Context was discussed in #4365. The short-term goal of that PR was to clean up the detection logic and isolate all OpenShift-specific code into dedicated files (`utils/openshift.go`, `common/openshift.go`). This issue tracks the eventual full removal.