diff --git a/controllers/backupsession_controller.go b/controllers/backupsession_controller.go index 500ebbf..38e407d 100644 --- a/controllers/backupsession_controller.go +++ b/controllers/backupsession_controller.go @@ -17,10 +17,12 @@ type BackupSessionReconciler struct { client.Client Log logr.Logger Scheme *runtime.Scheme + context.Context } func (r *BackupSessionReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Result, error) { r.Log = log.FromContext(ctx) + r.Context = ctx r.Log.V(0).Info("Enter Reconcile with req", "req", req) backupSession := formolv1alpha1.BackupSession{} diff --git a/controllers/backupsession_controller_helpers.go b/controllers/backupsession_controller_helpers.go new file mode 100644 index 0000000..9d4896f --- /dev/null +++ b/controllers/backupsession_controller_helpers.go @@ -0,0 +1,27 @@ +package controllers + +import ( + formolv1alpha1 "github.com/desmo999r/formol/api/v1alpha1" + "os" + "sigs.k8s.io/controller-runtime/pkg/client" +) + +func (r *BackupSessionReconciler) runInitBackupSteps(target formolv1alpha1.Target) error { + namespace := os.Getenv(formolv1alpha1.POD_NAMESPACE) + for _, container := range target.Containers { + for _, step := range container.Steps { + if step.Finalize != nil && *step.Finalize == true { + continue + } + function := formolv1alpha1.Function{} + if err := r.Get(r.Context, client.ObjectKey{ + Namespace: namespace, + Name: step.Name, + }, &function); err != nil { + r.Log.Error(err, "unable to get Function", "Function", step.Name) + return err + } + } + } + return nil +}