@@ -235,7 +235,6 @@ func (r *BackupCronJobReconciler) stopCron(logger logr.Logger) {
235235func (r * BackupCronJobReconciler ) executeBackupSync (ctx context.Context , dwOperatorConfig * controllerv1alpha1.DevWorkspaceOperatorConfig , logger logr.Logger ) error {
236236 log := logger .WithName ("executeBackupSync" )
237237 log .Info ("Executing backup sync for all DevWorkspaces" )
238- backUpConfig := dwOperatorConfig .Config .Workspace .BackupCronJob
239238 devWorkspaces := & dw.DevWorkspaceList {}
240239 err := r .List (ctx , devWorkspaces )
241240 if err != nil {
@@ -254,7 +253,7 @@ func (r *BackupCronJobReconciler) executeBackupSync(ctx context.Context, dwOpera
254253 dwID := dw .Status .DevWorkspaceId
255254 log .Info ("Found DevWorkspace" , "namespace" , dw .Namespace , "devworkspace" , dw .Name , "id" , dwID )
256255
257- if err := r .createBackupJob (& dw , ctx , backUpConfig , logger ); err != nil {
256+ if err := r .createBackupJob (& dw , ctx , dwOperatorConfig , logger ); err != nil {
258257 log .Error (err , "Failed to create backup Job for DevWorkspace" , "id" , dwID )
259258 continue
260259 }
@@ -309,13 +308,18 @@ func ptrInt32(i int32) *int32 { return &i }
309308func ptrBool (b bool ) * bool { return & b }
310309
311310// createBackupJob creates a Kubernetes Job to back up the workspace's PVC data.
312- func (r * BackupCronJobReconciler ) createBackupJob (workspace * dw.DevWorkspace , ctx context.Context , backUpConfig * controllerv1alpha1.BackupCronJobConfig , logger logr.Logger ) error {
311+ func (r * BackupCronJobReconciler ) createBackupJob (workspace * dw.DevWorkspace , ctx context.Context , dwOperatorConfig * controllerv1alpha1.DevWorkspaceOperatorConfig , logger logr.Logger ) error {
313312 log := logger .WithName ("createBackupJob" )
314313 dwID := workspace .Status .DevWorkspaceId
314+ backUpConfig := dwOperatorConfig .Config .Workspace .BackupCronJob
315315
316- // Find a PVC with the name "claim-devworkspace"
316+ // Find a PVC with the name "claim-devworkspace" or based on the name from the operator config
317+ pvcName := "claim-devworkspace"
318+ if dwOperatorConfig .Config .Workspace .PVCName != "" {
319+ pvcName = dwOperatorConfig .Config .Workspace .PVCName
320+ }
317321 pvc := & corev1.PersistentVolumeClaim {}
318- err := r .Get (ctx , client.ObjectKey {Name : "claim-devworkspace" , Namespace : workspace .Namespace }, pvc )
322+ err := r .Get (ctx , client.ObjectKey {Name : pvcName , Namespace : workspace .Namespace }, pvc )
319323 if err != nil {
320324 log .Error (err , "Failed to get PVC for DevWorkspace" , "id" , dwID )
321325 return err
0 commit comments