@@ -264,7 +264,6 @@ func (r *VeleroReconciler) ReconcileVeleroDeployment(log logr.Logger) (bool, err
264
264
if err != nil {
265
265
return err
266
266
}
267
-
268
267
// update the Deployment template
269
268
return r .buildVeleroDeployment (veleroDeployment , & velero )
270
269
})
@@ -531,3 +530,38 @@ func (r *VeleroReconciler) getVeleroResourceReqs(velero *oadpv1alpha1.Velero) co
531
530
532
531
return ResourcesReqs
533
532
}
533
+
534
+ // For later: Move this code into validator.go when more need for validation arises
535
+ // TODO: if multiple default plugins exist, ensure we validate all of them.
536
+ // Right now its sequential validation
537
+ func (r * VeleroReconciler ) ValidateVeleroDeployment (log logr.Logger ) (bool , error ) {
538
+ velero := oadpv1alpha1.Velero {}
539
+ if err := r .Get (r .Context , r .NamespacedName , & velero ); err != nil {
540
+ return false , err
541
+ }
542
+
543
+ var secretName string
544
+ var defaultPlugin oadpv1alpha1.DefaultPlugin
545
+ for _ , defaultPlugin = range velero .Spec .DefaultVeleroPlugins {
546
+ switch defaultPlugin {
547
+ case oadpv1alpha1 .DefaultPluginAWS :
548
+ secretName = VeleroAWSSecretName
549
+ case oadpv1alpha1 .DefaultPluginMicrosoftAzure :
550
+ secretName = VeleroAzureSecretName
551
+ case oadpv1alpha1 .DefaultPluginGCP :
552
+ secretName = VeleroGCPSecretName
553
+
554
+ }
555
+
556
+ if defaultPlugin != oadpv1alpha1 .DefaultPluginOpenShift && defaultPlugin != oadpv1alpha1 .DefaultPluginCSI {
557
+ _ , err := r .getProviderSecret (secretName )
558
+ if err != nil {
559
+ r .Log .Info (fmt .Sprintf ("error validating %s provider secret: %s/%s" , defaultPlugin , r .NamespacedName .Namespace , secretName ))
560
+ return false , err
561
+ }
562
+
563
+ }
564
+
565
+ }
566
+ return true , nil
567
+ }
0 commit comments