/
main.go
112 lines (93 loc) · 5.18 KB
/
main.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
package main
import (
"github.com/konveyor/openshift-velero-plugin/velero-plugins/build"
"github.com/konveyor/openshift-velero-plugin/velero-plugins/buildconfig"
"github.com/konveyor/openshift-velero-plugin/velero-plugins/common"
"github.com/konveyor/openshift-velero-plugin/velero-plugins/cronjob"
"github.com/konveyor/openshift-velero-plugin/velero-plugins/daemonset"
"github.com/konveyor/openshift-velero-plugin/velero-plugins/deployment"
"github.com/konveyor/openshift-velero-plugin/velero-plugins/deploymentconfig"
"github.com/konveyor/openshift-velero-plugin/velero-plugins/job"
"github.com/konveyor/openshift-velero-plugin/velero-plugins/pod"
"github.com/konveyor/openshift-velero-plugin/velero-plugins/replicaset"
"github.com/konveyor/openshift-velero-plugin/velero-plugins/replicationcontroller"
"github.com/konveyor/openshift-velero-plugin/velero-plugins/route"
"github.com/konveyor/openshift-velero-plugin/velero-plugins/secret"
"github.com/konveyor/openshift-velero-plugin/velero-plugins/service"
"github.com/konveyor/openshift-velero-plugin/velero-plugins/serviceaccount"
"github.com/konveyor/openshift-velero-plugin/velero-plugins/statefulset"
"github.com/sirupsen/logrus"
veleroplugin "github.com/vmware-tanzu/velero/pkg/plugin/framework"
)
func main() {
veleroplugin.NewServer().
RegisterBackupItemAction("openshift.io/01-common-backup-plugin", newCommonBackupPlugin).
RegisterRestoreItemAction("openshift.io/01-common-restore-plugin", newCommonRestorePlugin).
RegisterRestoreItemAction("openshift.io/02-serviceaccount-restore-plugin", newServiceAccountRestorePlugin).
RegisterRestoreItemAction("openshift.io/05-route-restore-plugin", newRouteRestorePlugin).
RegisterRestoreItemAction("openshift.io/06-build-restore-plugin", newBuildRestorePlugin).
RegisterRestoreItemAction("openshift.io/07-pod-restore-plugin", newPodRestorePlugin).
RegisterRestoreItemAction("openshift.io/08-deploymentconfig-restore-plugin", newDeploymentConfigRestorePlugin).
RegisterRestoreItemAction("openshift.io/09-replicationcontroller-restore-plugin", newReplicationControllerRestorePlugin).
RegisterRestoreItemAction("openshift.io/10-job-restore-plugin", newJobRestorePlugin).
RegisterRestoreItemAction("openshift.io/11-daemonset-restore-plugin", newDaemonSetRestorePlugin).
RegisterRestoreItemAction("openshift.io/12-replicaset-restore-plugin", newReplicaSetRestorePlugin).
RegisterRestoreItemAction("openshift.io/13-deployment-restore-plugin", newDeploymentRestorePlugin).
RegisterRestoreItemAction("openshift.io/14-statefulset-restore-plugin", newStatefulSetRestorePlugin).
RegisterRestoreItemAction("openshift.io/15-service-restore-plugin", newServiceRestorePlugin).
RegisterRestoreItemAction("openshift.io/16-cronjob-restore-plugin", newCronJobRestorePlugin).
RegisterRestoreItemAction("openshift.io/17-buildconfig-restore-plugin", newBuildConfigRestorePlugin).
RegisterRestoreItemAction("openshift.io/18-secret-restore-plugin", newSecretRestorePlugin).
Serve()
}
func newCommonBackupPlugin(logger logrus.FieldLogger) (interface{}, error) {
return &common.BackupPlugin{Log: logger}, nil
}
func newCommonRestorePlugin(logger logrus.FieldLogger) (interface{}, error) {
return &common.RestorePlugin{Log: logger}, nil
}
func newBuildRestorePlugin(logger logrus.FieldLogger) (interface{}, error) {
return &build.RestorePlugin{Log: logger}, nil
}
func newBuildConfigRestorePlugin(logger logrus.FieldLogger) (interface{}, error) {
return &buildconfig.RestorePlugin{Log: logger}, nil
}
func newDaemonSetRestorePlugin(logger logrus.FieldLogger) (interface{}, error) {
return &daemonset.RestorePlugin{Log: logger}, nil
}
func newDeploymentRestorePlugin(logger logrus.FieldLogger) (interface{}, error) {
return &deployment.RestorePlugin{Log: logger}, nil
}
func newDeploymentConfigRestorePlugin(logger logrus.FieldLogger) (interface{}, error) {
return &deploymentconfig.RestorePlugin{Log: logger}, nil
}
func newJobRestorePlugin(logger logrus.FieldLogger) (interface{}, error) {
return &job.RestorePlugin{Log: logger}, nil
}
func newCronJobRestorePlugin(logger logrus.FieldLogger) (interface{}, error) {
return &cronjob.RestorePlugin{Log: logger}, nil
}
func newPodRestorePlugin(logger logrus.FieldLogger) (interface{}, error) {
return &pod.RestorePlugin{Log: logger}, nil
}
func newReplicaSetRestorePlugin(logger logrus.FieldLogger) (interface{}, error) {
return &replicaset.RestorePlugin{Log: logger}, nil
}
func newReplicationControllerRestorePlugin(logger logrus.FieldLogger) (interface{}, error) {
return &replicationcontroller.RestorePlugin{Log: logger}, nil
}
func newRouteRestorePlugin(logger logrus.FieldLogger) (interface{}, error) {
return &route.RestorePlugin{Log: logger}, nil
}
func newServiceRestorePlugin(logger logrus.FieldLogger) (interface{}, error) {
return &service.RestorePlugin{Log: logger}, nil
}
func newServiceAccountRestorePlugin(logger logrus.FieldLogger) (interface{}, error) {
return &serviceaccount.RestorePlugin{Log: logger}, nil
}
func newStatefulSetRestorePlugin(logger logrus.FieldLogger) (interface{}, error) {
return &statefulset.RestorePlugin{Log: logger}, nil
}
func newSecretRestorePlugin(logger logrus.FieldLogger) (interface{}, error) {
return &secret.RestorePlugin{Log: logger}, nil
}