-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Adjust Velero to custom needs #2
Conversation
With this being enabled Velero won't backup CRs with version v1beta1
Otherwise a Restore will try to restore PodVolumeBackup CRDs, which do not exist for Pods in customer clusters.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
/approve
pkg/cmd/server/plugin/plugin.go
Outdated
RegisterBackupItemAction("velero.io/crd-remap-version", newRemapCRDVersionAction(f)). | ||
// We disable the crd-remap-version plugin because otherwise CRDs with version v1beta1 won't get backed | ||
// up properly. | ||
//RegisterBackupItemAction("velero.io/crd-remap-version", newRemapCRDVersionAction(f)). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
FYI: This will be reverted with an upcoming commit.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
See: b3f2aa6
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
/lgtm
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
/lgtm
/approve
A few nits discussed via direct message, f.e. opt-in/out parameter for hooks and s.initRestic()
.
But these features are out-of-scope, as we want to have less diff to upstream
* Disable CRD remap version plugin With this being enabled Velero won't backup CRs with version v1beta1 * Disable restic plugin Otherwise a Restore will try to restore PodVolumeBackup CRDs, which do not exist for Pods in customer clusters. * Disable hooks * Adjust server to cope with CRs residing in other namespaces * Add util func to obtain clients for a remote clusters * Dynamically obtain clients in backup and restore * Reenable crd-remap plugin and use correct client to fetch the CRDs * Do not hardcode velero namespace Co-authored-by: Stefan Bueringer <sbueringer@gmail.com>
* Disable CRD remap version plugin With this being enabled Velero won't backup CRs with version v1beta1 * Disable restic plugin Otherwise a Restore will try to restore PodVolumeBackup CRDs, which do not exist for Pods in customer clusters. * Disable hooks * Adjust server to cope with CRs residing in other namespaces * Add util func to obtain clients for a remote clusters * Dynamically obtain clients in backup and restore * Reenable crd-remap plugin and use correct client to fetch the CRDs * Do not hardcode velero namespace Co-authored-by: Stefan Bueringer <sbueringer@gmail.com>
* Disable CRD remap version plugin With this being enabled Velero won't backup CRs with version v1beta1 * Disable restic plugin Otherwise a Restore will try to restore PodVolumeBackup CRDs, which do not exist for Pods in customer clusters. * Disable hooks * Adjust server to cope with CRs residing in other namespaces * Add util func to obtain clients for a remote clusters * Dynamically obtain clients in backup and restore * Reenable crd-remap plugin and use correct client to fetch the CRDs * Do not hardcode velero namespace Co-authored-by: Stefan Bueringer <sbueringer@gmail.com>
* Disable CRD remap version plugin With this being enabled Velero won't backup CRs with version v1beta1 * Disable restic plugin Otherwise a Restore will try to restore PodVolumeBackup CRDs, which do not exist for Pods in customer clusters. * Disable hooks * Adjust server to cope with CRs residing in other namespaces * Add util func to obtain clients for a remote clusters * Dynamically obtain clients in backup and restore * Reenable crd-remap plugin and use correct client to fetch the CRDs * Do not hardcode velero namespace Co-authored-by: Stefan Bueringer <sbueringer@gmail.com>
* Disable CRD remap version plugin With this being enabled Velero won't backup CRs with version v1beta1 * Disable restic plugin Otherwise a Restore will try to restore PodVolumeBackup CRDs, which do not exist for Pods in customer clusters. * Disable hooks * Adjust server to cope with CRs residing in other namespaces * Add util func to obtain clients for a remote clusters * Dynamically obtain clients in backup and restore * Reenable crd-remap plugin and use correct client to fetch the CRDs * Do not hardcode velero namespace Co-authored-by: Stefan Bueringer <sbueringer@gmail.com>
Please add a summary of your change
This PR disables certain features and plugins (restic, hooks) as well as enables the possibilty to backup and restore remote clusters. More precisely, velero server may run on a different cluster than the one where the backups and restores are performed. Furthermore, with this PR, Velero-specific CRs are allowed to reside in a different namespace than the Velero server.
Even though it already works, the adjustments are pretty hacky. Those should be cleaned up in a separate PR.
PR is planned to be merged on monday April 26th 🙂
Does your change fix a particular issue?
Fixes #(issue)
Please indicate you've done the following:
/kind changelog-not-required
.site/content/docs/main
.