@@ -24,7 +24,6 @@ import (
2424 "strings"
2525 "time"
2626
27- routev1ClientSet "github.com/openshift/client-go/route/clientset/versioned"
2827 rayv1 "github.com/ray-project/kuberay/ray-operator/apis/ray/v1"
2928 "go.uber.org/zap/zapcore"
3029
@@ -49,6 +48,7 @@ import (
4948
5049 routev1 "github.com/openshift/api/route/v1"
5150
51+ clientset "github.com/openshift/client-go/config/clientset/versioned"
5252 "github.com/project-codeflare/codeflare-operator/pkg/config"
5353 "github.com/project-codeflare/codeflare-operator/pkg/controllers"
5454 // Import all Kubernetes client auth plugins (e.g. Azure, GCP, OIDC, etc.)
@@ -57,15 +57,12 @@ import (
5757)
5858
5959var (
60- scheme = runtime .NewScheme ()
61- setupLog = ctrl .Log .WithName ("setup" )
62- OperatorVersion = "UNKNOWN"
63- McadVersion = "UNKNOWN"
64- InstaScaleVersion = "UNKNOWN"
65- BuildDate = "UNKNOWN"
66- NameConsoleLink string = "console"
67- NamespaceConsoleLink string = "openshift-console"
68- domain string = ""
60+ scheme = runtime .NewScheme ()
61+ setupLog = ctrl .Log .WithName ("setup" )
62+ OperatorVersion = "UNKNOWN"
63+ McadVersion = "UNKNOWN"
64+ InstaScaleVersion = "UNKNOWN"
65+ BuildDate = "UNKNOWN"
6966)
7067
7168func init () {
@@ -76,6 +73,8 @@ func init() {
7673 utilruntime .Must (routev1 .Install (scheme ))
7774}
7875
76+ // +kubebuilder:rbac:groups=config.openshift.io,resources=ingresses,verbs=get;
77+
7978func main () {
8079 var configMapName string
8180 flag .StringVar (& configMapName , "config" , "codeflare-operator-config" ,
@@ -120,6 +119,7 @@ func main() {
120119 KubeRay : & config.KubeRayConfiguration {
121120 RayDashboardOAuthEnabled : pointer .Bool (true ),
122121 IngressDomain : "" ,
122+ MTLSEnabled : pointer .Bool (true ),
123123 },
124124 }
125125
@@ -155,16 +155,13 @@ func main() {
155155
156156 if OpenShift {
157157 if cfg .KubeRay .IngressDomain == "" {
158- routeClient , err := routev1ClientSet .NewForConfig (kubeConfig )
158+ configClient , err := clientset .NewForConfig (kubeConfig )
159159 exitOnError (err , "unable to create Route Client Set" )
160- domain , err = getOpenShiftDomainName (ctx , routeClient )
161- exitOnError (err , domain )
162- } else {
163- domain = cfg .KubeRay .IngressDomain
160+ cfg .KubeRay .IngressDomain , err = getClusterDomain (ctx , configClient )
161+ exitOnError (err , cfg .KubeRay .IngressDomain )
164162 }
165-
166163 // TODO: setup the RayCluster webhook on vanilla Kubernetes
167- exitOnError (controllers .SetupRayClusterWebhookWithManager (mgr , cfg .KubeRay , domain ), "error setting up RayCluster webhook" )
164+ exitOnError (controllers .SetupRayClusterWebhookWithManager (mgr , cfg .KubeRay ), "error setting up RayCluster webhook" )
168165 }
169166
170167 ok , err := hasAPIResourceForGVK (kubeClient .DiscoveryClient , rayv1 .GroupVersion .WithKind ("RayCluster" ))
@@ -288,12 +285,16 @@ func isOpenShift(ctx context.Context, dc discovery.DiscoveryInterface) bool {
288285 return false
289286}
290287
291- func getOpenShiftDomainName (ctx context.Context , routeClient routev1ClientSet. Interface ) (string , error ) {
292- route , err := routeClient . RouteV1 ().Routes ( NamespaceConsoleLink ).Get (ctx , NameConsoleLink , metav1.GetOptions {})
288+ func getClusterDomain (ctx context.Context , configClient * clientset. Clientset ) (string , error ) {
289+ ingress , err := configClient . ConfigV1 ().Ingresses ( ).Get (ctx , "cluster" , metav1.GetOptions {})
293290 if err != nil {
294- return "error getting console route URL " , err
291+ return "" , fmt . Errorf ( "failed to get Ingress object: %v " , err )
295292 }
296- domainIndex := strings .Index (route .Spec .Host , "." )
297- consoleLinkDomain := route .Spec .Host [domainIndex + 1 :]
298- return consoleLinkDomain , nil
293+
294+ domain := ingress .Spec .Domain
295+ if domain == "" {
296+ return "" , fmt .Errorf ("domain is not set in the Ingress object" )
297+ }
298+
299+ return domain , nil
299300}
0 commit comments