Skip to content

Remove Restic code path from PodVolumeRestore#9732

Merged
blackpiglet merged 1 commit intovelero-io:mainfrom
blackpiglet:9468_fix
Apr 24, 2026
Merged

Remove Restic code path from PodVolumeRestore#9732
blackpiglet merged 1 commit intovelero-io:mainfrom
blackpiglet:9468_fix

Conversation

@blackpiglet
Copy link
Copy Markdown
Contributor

@blackpiglet blackpiglet commented Apr 16, 2026

Thank you for contributing to Velero!

Please add a summary of your change

Does your change fix a particular issue?

Fixes #9468

Please indicate you've done the following:

@blackpiglet blackpiglet self-assigned this Apr 16, 2026
@blackpiglet blackpiglet changed the title 9468 fix Remove Restic code path from PodVolumeRestore Apr 16, 2026
@codecov
Copy link
Copy Markdown

codecov Bot commented Apr 16, 2026

Codecov Report

❌ Patch coverage is 33.33333% with 8 lines in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
pkg/controller/pod_volume_restore_controller.go 44.44% 3 Missing and 2 partials ⚠️
pkg/cmd/server/server.go 0.00% 2 Missing ⚠️
cmd/velero-restore-helper/velero-restore-helper.go 0.00% 1 Missing ⚠️

📢 Thoughts on this report? Let us know!

@blackpiglet blackpiglet marked this pull request as ready for review April 16, 2026 09:15
@github-actions github-actions Bot requested review from Lyndon-Li and kaovilai April 16, 2026 09:24
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks. I add the restic type back.

Copy link
Copy Markdown
Collaborator

@shubham-pampattiwar shubham-pampattiwar left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for putting this together, the restic code path cleanup is great to see.
One thing I wanted to flag: removing existing enum values (restic, "") from the CRD schemas is a breaking change per the https://github.com/operator-framework/operator-controller/blob/main/docs/concepts/crd-upgrade-safety.md policy. This would block upgrades for OLM-managed deployments, and existing CRs in etcd with those values would fail validation against the new schema.
Could we keep the enum as-is and instead add controller-level validation that rejects restic / "" at reconcile time (e.g., fail with "restic uploader is no longer supported, use kopia")? Same end result without the schema-level break.

+1 to @kaovilai's concern as well.

@sseago
Copy link
Copy Markdown
Collaborator

sseago commented Apr 17, 2026

+1 to avoiding the breaking change to CRDs. Without version bumps, it's ok to add to enum values but not to remove them. Failing with a validation error when Restic is specified should be sufficient.

@blackpiglet blackpiglet force-pushed the 9468_fix branch 2 times, most recently from c15345f to af616d2 Compare April 21, 2026 08:36
@blackpiglet
Copy link
Copy Markdown
Contributor Author

Thanks for putting this together, the restic code path cleanup is great to see. One thing I wanted to flag: removing existing enum values (restic, "") from the CRD schemas is a breaking change per the https://github.com/operator-framework/operator-controller/blob/main/docs/concepts/crd-upgrade-safety.md policy. This would block upgrades for OLM-managed deployments, and existing CRs in etcd with those values would fail validation against the new schema. Could we keep the enum as-is and instead add controller-level validation that rejects restic / "" at reconcile time (e.g., fail with "restic uploader is no longer supported, use kopia")? Same end result without the schema-level break.

+1 to @kaovilai's concern as well.

Thanks. I add the restic type back.

@blackpiglet
Copy link
Copy Markdown
Contributor Author

+1 to avoiding the breaking change to CRDs. Without version bumps, it's ok to add to enum values but not to remove them. Failing with a validation error when Restic is specified should be sufficient.

Thanks. I add the restic type back.

Comment thread cmd/velero-restore-helper/velero-restore-helper.go Outdated
Comment thread pkg/controller/pod_volume_restore_controller.go Outdated
Comment thread pkg/controller/pod_volume_restore_controller.go Outdated
Signed-off-by: Xun Jiang <xun.jiang@broadcom.com>
@blackpiglet blackpiglet merged commit 6090392 into velero-io:main Apr 24, 2026
56 of 57 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Remove Restic path for PVR

6 participants