Skip to content

Commit 70a72b9

Browse files
committed
Update RayCluster CA Secret if it exists
1 parent 0bf2a4f commit 70a72b9

File tree

1 file changed

+14
-2
lines changed

1 file changed

+14
-2
lines changed

pkg/controllers/raycluster_controller.go

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -153,7 +153,7 @@ func (r *RayClusterReconciler) Reconcile(ctx context.Context, req ctrl.Request)
153153

154154
if isMTLSEnabled(r.Config) {
155155
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{})
157157
if errors.IsNotFound(err) {
158158
key, cert, err := generateCACertificate()
159159
if err != nil {
@@ -162,12 +162,20 @@ func (r *RayClusterReconciler) Reconcile(ctx context.Context, req ctrl.Request)
162162
}
163163
_, err = r.kubeClient.CoreV1().Secrets(cluster.Namespace).Apply(ctx, desiredCASecret(cluster, key, cert), metav1.ApplyOptions{FieldManager: controllerName, Force: true})
164164
if err != nil {
165-
logger.Error(err, "Failed to create CA Secret")
165+
logger.Error(err, "Failed to apply CA Secret")
166166
return ctrl.Result{RequeueAfter: requeueTime}, err
167167
}
168168
} else if err != nil {
169169
logger.Error(err, "Failed to get CA Secret")
170170
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+
}
171179
}
172180
}
173181

@@ -434,6 +442,10 @@ func generateCACertificate() ([]byte, []byte, error) {
434442
},
435443
)
436444
certBytes, err := x509.CreateCertificate(rand.Reader, cert, cert, &certPrivateKey.PublicKey, certPrivateKey)
445+
if err != nil {
446+
return nil, nil, err
447+
}
448+
437449
certPem := pem.EncodeToMemory(&pem.Block{
438450
Type: "CERTIFICATE",
439451
Bytes: certBytes,

0 commit comments

Comments
 (0)