Skip to content

Commit 3d7d615

Browse files
committed
Client changes
1 parent 1bbb45d commit 3d7d615

File tree

2 files changed

+38
-8
lines changed

2 files changed

+38
-8
lines changed

raycluster_webhook/src/main.go

+13-1
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ import (
1919
"k8s.io/client-go/kubernetes"
2020
"k8s.io/client-go/rest"
2121
"sigs.k8s.io/controller-runtime/pkg/client"
22+
"sigs.k8s.io/controller-runtime/pkg/client/config"
2223
)
2324

2425
type ServerParameters struct {
@@ -43,7 +44,8 @@ var (
4344
k8sConfig *rest.Config
4445
k8sClientSet *kubernetes.Clientset
4546
serverParameters ServerParameters
46-
k8sClient client.Client
47+
k8Client client.Client
48+
err error
4749
)
4850

4951
func main() {
@@ -54,6 +56,16 @@ func main() {
5456

5557
k8sClientSet = createClientSet()
5658

59+
// Get a config to talk to the apiserver
60+
cfg := config.GetConfigOrDie()
61+
62+
// Create a new client
63+
err = nil
64+
k8Client, err = client.New(cfg, client.Options{})
65+
if err != nil {
66+
fmt.Errorf(err.Error(), "unable to create a client")
67+
}
68+
5769
// Configure HTTPS server
5870
http.HandleFunc("/", HandleRoot)
5971
http.HandleFunc("/mutate", HandleMutate)

raycluster_webhook/src/patches.go

+25-7
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import (
99
routev1 "github.com/openshift/api/route/v1"
1010
rayv1api "github.com/ray-project/kuberay/ray-operator/apis/ray/v1"
1111
corev1 "k8s.io/api/core/v1"
12+
"k8s.io/apimachinery/pkg/types"
1213
"sigs.k8s.io/controller-runtime/pkg/client"
1314
)
1415

@@ -139,15 +140,28 @@ func mtlsPatch(rayCluster *rayv1api.RayCluster, patches []patchOperation, initHe
139140
}
140141
svcDomain := rayCluster.Name + "-head-svc." + rayCluster.Namespace + ".svc"
141142
secretName := `ca-secret-` + rayCluster.Name
143+
fmt.Println("Start")
144+
domain, err := getDomainName()
145+
if err != nil {
146+
fmt.Printf(err.Error())
147+
}
148+
fmt.Println("mid")
149+
fmt.Printf(domain)
150+
fmt.Println("End")
142151
if !initHeadExists {
143152
if isLocalInteractive {
153+
domain, err := getDomainName()
154+
if err != nil {
155+
return nil, err
156+
}
157+
rayClientRoute := "rayclient-" + rayCluster.Name + domain
144158
initContainerHead = corev1.Container{
145159
Name: "create-cert",
146160
Image: "quay.io/project-codeflare/ray:latest-py39-cu118",
147161
Command: []string{
148162
"sh",
149163
"-c",
150-
`cd /home/ray/workspace/tls && openssl req -nodes -newkey rsa:2048 -keyout server.key -out server.csr -subj '/CN=ray-head' && printf 'authorityKeyIdentifier=keyid,issuer\nbasicConstraints=CA:FALSE\nsubjectAltName = @alt_names\n[alt_names]\nDNS.1 = 127.0.0.1\nDNS.2 = localhost\nDNS.3 = ${FQ_RAY_IP}\nDNS.4 = $(awk 'END{print $1}' /etc/hosts)\nDNS.5 = rayclient-` + rayCluster.Name + `-` + rayCluster.Namespace + `-head-svc.default.svc > ./domain.ext && cp /home/ray/workspace/ca/* . && openssl x509 -req -CA ca.crt -CAkey ca.key -in server.csr -out server.crt -days 365 -CAcreateserial -extfile domain.ext`,
164+
`cd /home/ray/workspace/tls && openssl req -nodes -newkey rsa:2048 -keyout server.key -out server.csr -subj '/CN=ray-head' && printf "authorityKeyIdentifier=keyid,issuer\nbasicConstraints=CA:FALSE\nsubjectAltName = @alt_names\n[alt_names]\nDNS.1 = 127.0.0.1\nDNS.2 = localhost\nDNS.3 = ${FQ_RAY_IP}\nDNS.4 = $(awk 'END{print $1}' /etc/hosts)\nDNS.5 = ` + rayClientRoute + `">./domain.ext && cp /home/ray/workspace/ca/* . && openssl x509 -req -CA ca.crt -CAkey ca.key -in server.csr -out server.crt -days 365 -CAcreateserial -extfile domain.ext`,
151165
},
152166
VolumeMounts: key_volumes,
153167
}
@@ -230,7 +244,6 @@ func mtlsPatch(rayCluster *rayv1api.RayCluster, patches []patchOperation, initHe
230244
}
231245

232246
if !workerHeadExists {
233-
fmt.Println("PATCHING WORKER")
234247
initContainerWorker := corev1.Container{
235248
Name: "create-cert",
236249
Image: "quay.io/project-codeflare/ray:latest-py39-cu118",
@@ -322,13 +335,18 @@ func annotationBoolVal(cluster *rayv1api.RayCluster, annotation string, defaultV
322335
return boolVal
323336
}
324337

325-
func getDomainName() string {
338+
func getDomainName() (string, error) {
326339
consoleRoute := &routev1.Route{}
327-
if err := k8sClient.Get(context.TODO(), client.ObjectKey{Name: NameConsoleLink, Namespace: NamespaceConsoleLink}, consoleRoute); err != nil {
328-
fmt.Errorf("error getting console route URL %s : %w", NameConsoleLink, err)
329-
return "error" //fmt.Errorf("error getting console route URL %s : %w", NameConsoleLink, err)
340+
fmt.Println("1")
341+
fmt.Printf(client.ObjectKey{Name: NameConsoleLink, Namespace: NamespaceConsoleLink}.String())
342+
fmt.Println("2")
343+
fmt.Printf(consoleRoute.String())
344+
345+
if err := k8Client.Get(context.TODO(), types.NamespacedName{Name: NameConsoleLink, Namespace: NamespaceConsoleLink}, consoleRoute); err != nil {
346+
return "error getting console route URL %s : %w", err
330347
}
348+
fmt.Printf("3")
331349
domainIndex := strings.Index(consoleRoute.Spec.Host, ".")
332350
consoleLinkDomain := consoleRoute.Spec.Host[domainIndex+1:]
333-
return consoleLinkDomain
351+
return consoleLinkDomain, nil
334352
}

0 commit comments

Comments
 (0)