✨ Implement restore hooks injecting init containers into pod spec (#2787)

* ✨ Implement restore hooks injecting init containers into pod spec

Signed-off-by: Ashish Amarnath <ashisham@vmware.com>
This commit is contained in:
Ashish Amarnath
2020-08-11 10:38:44 -07:00
committed by GitHub
parent 9b9bb62968
commit 5d6da6517b
9 changed files with 1160 additions and 90 deletions
+5
View File
@@ -44,6 +44,7 @@ func NewCommand(f client.Factory) *cobra.Command {
RegisterRestoreItemAction("velero.io/job", newJobRestoreItemAction).
RegisterRestoreItemAction("velero.io/pod", newPodRestoreItemAction).
RegisterRestoreItemAction("velero.io/restic", newResticRestoreItemAction(f)).
RegisterRestoreItemAction("velero.io/init-restore-hook", newInitRestoreHookPodAction).
RegisterRestoreItemAction("velero.io/service", newServiceRestoreItemAction).
RegisterRestoreItemAction("velero.io/service-account", newServiceAccountRestoreItemAction).
RegisterRestoreItemAction("velero.io/add-pvc-from-pod", newAddPVCFromPodRestoreItemAction).
@@ -119,6 +120,10 @@ func newPodRestoreItemAction(logger logrus.FieldLogger) (interface{}, error) {
return restore.NewPodAction(logger), nil
}
func newInitRestoreHookPodAction(logger logrus.FieldLogger) (interface{}, error) {
return restore.NewInitRestoreHookPodAction(logger), nil
}
func newResticRestoreItemAction(f client.Factory) veleroplugin.HandlerInitializer {
return func(logger logrus.FieldLogger) (interface{}, error) {
client, err := f.KubeClient()