@@ -153,7 +153,7 @@ func (r *RayClusterReconciler) Reconcile(ctx context.Context, req ctrl.Request)
153
153
154
154
if isMTLSEnabled (r .Config ) {
155
155
caSecretName := caSecretNameFromCluster (cluster )
156
- _ , err := r .kubeClient .CoreV1 ().Secrets (cluster .Namespace ).Get (ctx , caSecretName , metav1.GetOptions {})
156
+ caSecret , err := r .kubeClient .CoreV1 ().Secrets (cluster .Namespace ).Get (ctx , caSecretName , metav1.GetOptions {})
157
157
if errors .IsNotFound (err ) {
158
158
key , cert , err := generateCACertificate ()
159
159
if err != nil {
@@ -162,12 +162,20 @@ func (r *RayClusterReconciler) Reconcile(ctx context.Context, req ctrl.Request)
162
162
}
163
163
_ , err = r .kubeClient .CoreV1 ().Secrets (cluster .Namespace ).Apply (ctx , desiredCASecret (cluster , key , cert ), metav1.ApplyOptions {FieldManager : controllerName , Force : true })
164
164
if err != nil {
165
- logger .Error (err , "Failed to create CA Secret" )
165
+ logger .Error (err , "Failed to apply CA Secret" )
166
166
return ctrl.Result {RequeueAfter : requeueTime }, err
167
167
}
168
168
} else if err != nil {
169
169
logger .Error (err , "Failed to get CA Secret" )
170
170
return ctrl.Result {RequeueAfter : requeueTime }, err
171
+ } else {
172
+ key := caSecret .Data [corev1 .TLSPrivateKeyKey ]
173
+ cert := caSecret .Data [corev1 .TLSCertKey ]
174
+ _ , err = r .kubeClient .CoreV1 ().Secrets (cluster .Namespace ).Apply (ctx , desiredCASecret (cluster , key , cert ), metav1.ApplyOptions {FieldManager : controllerName , Force : true })
175
+ if err != nil {
176
+ logger .Error (err , "Failed to apply CA Secret" )
177
+ return ctrl.Result {RequeueAfter : requeueTime }, err
178
+ }
171
179
}
172
180
}
173
181
@@ -434,6 +442,10 @@ func generateCACertificate() ([]byte, []byte, error) {
434
442
},
435
443
)
436
444
certBytes , err := x509 .CreateCertificate (rand .Reader , cert , cert , & certPrivateKey .PublicKey , certPrivateKey )
445
+ if err != nil {
446
+ return nil , nil , err
447
+ }
448
+
437
449
certPem := pem .EncodeToMemory (& pem.Block {
438
450
Type : "CERTIFICATE" ,
439
451
Bytes : certBytes ,
0 commit comments