Adam Zhang
13f06026c0
caching the call for GetNamespaceFilter
...
Introduces a concurrent-safe sync.Map cache to the backup Request struct
to memoize GetNamespaceFilter results. This avoids re-evaluating glob
patterns for every item, significantly improving backup performance while
preserving the original exact-match precedence logic.
Signed-off-by: Adam Zhang <adam.zhang@broadcom.com >
2026-06-15 16:18:54 +08:00
Xun Jiang/Bruce Jiang
02cb85ce90
Merge pull request #9890 from blackpiglet/jxun/main/bump_deps
...
[main] Bump some dependancies to fix CVEs and replace some inactive maintained packages.
2026-06-11 10:08:22 +08:00
lyndon-li
4c1950980a
Merge pull request #9887 from Lyndon-Li/incremental-object-aware-write-at
...
Incremental aware object writer - writeat
2026-06-10 18:01:42 +08:00
Xun Jiang
49b670a791
Replace github.com/pkg/errors by github.com/cockroachdb/errors
...
Change errors.Cause to errors.Is, because github.com/cockroachdb/errors
New() function create a error with error stack with depth 1, but
github.com/pkg/errors's New() function create error with no depth.
Signed-off-by: Xun Jiang <xun.jiang@broadcom.com >
2026-06-10 15:55:57 +08:00
Xun Jiang
981988d31b
Replace github.com/joho/godotenv.
...
Move the needed code into Velero repository.
Signed-off-by: Xun Jiang <xun.jiang@broadcom.com >
2026-06-10 15:54:17 +08:00
Xun Jiang
e395b6ea6b
Replace github.com/robfig/cron/v3 by github.com/netresearch/go-cron
...
Replace k8s.io/utils/pointer with k8s.io/utils/ptr
Signed-off-by: Xun Jiang <xun.jiang@broadcom.com >
2026-06-10 15:54:17 +08:00
lyndon-li
901b1a0ed1
Merge pull request #9892 from Lyndon-Li/refactor-generic-exposer-interface
...
Enhance RebindVolume method for generic restore exposer
2026-06-10 15:54:16 +08:00
lyndon-li
dac51be057
Merge pull request #9899 from Lyndon-Li/refactor-repo-interface
...
Refactor object writer interface
2026-06-10 15:35:49 +08:00
Adam Zhang
5dd4dc8e5d
Merge pull request #9880 from adam-jian-zhang/backup-filters-core
...
implemented fine-grained backup filter policies
2026-06-10 14:01:13 +08:00
Lyndon-Li
09f842afaf
refactor object writer interface
...
Signed-off-by: Lyndon-Li <lyonghui@vmware.com >
2026-06-10 10:00:30 +08:00
Shubham Pampattiwar
92123d3d46
Skip VGS cleanup when backup did not use VolumeGroupSnapshots
...
Guard the cleanupStubVGSC() call in restore finalization with a check
for VolumeGroupSnapshotHandle in volumeInfo. This avoids a spurious
warning on clusters where the v1beta2 VolumeGroupSnapshotContent CRD
is not installed, since the List call would fail even though no stubs
exist to clean up.
Fixes #9882
Signed-off-by: Shubham Pampattiwar <spampatt@redhat.com >
2026-06-09 10:21:55 -07:00
Lyndon-Li
0a94fbbfc5
enhance RebindVolume method for generic restore exposer
...
Signed-off-by: Lyndon-Li <lyonghui@vmware.com >
2026-06-09 18:08:59 +08:00
Subhramit Basu
dda779de65
Reject restores from backups not in a completed or partially failed phase ( #9792 )
...
Run the E2E test on kind / get-go-version (push) Failing after 1m3s
Run the E2E test on kind / build (push) Has been skipped
Run the E2E test on kind / setup-test-matrix (push) Successful in 3s
Run the E2E test on kind / run-e2e-test (push) Has been skipped
build-image / Build (push) Failing after 16s
Main CI / get-go-version (push) Successful in 12s
Main CI / Build (push) Failing after 36s
Trivy Nightly Scan / Trivy nightly scan (velero, main) (push) Failing after 1m41s
Trivy Nightly Scan / Trivy nightly scan (velero-plugin-for-aws, main) (push) Failing after 1m25s
Trivy Nightly Scan / Trivy nightly scan (velero-plugin-for-gcp, main) (push) Failing after 1m18s
Trivy Nightly Scan / Trivy nightly scan (velero-plugin-for-microsoft-azure, main) (push) Failing after 1m17s
Close stale issues and PRs / stale (push) Has started running
* Add phase check validations in restore controller
Signed-off-by: subhramit <subhramit.bb@live.in >
* Adapt existing tests
Signed-off-by: subhramit <subhramit.bb@live.in >
* Add tests
Signed-off-by: subhramit <subhramit.bb@live.in >
* Update doc
Signed-off-by: subhramit <subhramit.bb@live.in >
* Add changelog
Signed-off-by: Subhramit Basu <subhramit.bb@live.in >
* Update pkg/controller/restore_controller_test.go
Signed-off-by: Subhramit Basu <subhramit.bb@live.in >
---------
Signed-off-by: subhramit <subhramit.bb@live.in >
Signed-off-by: Subhramit Basu <subhramit.bb@live.in >
2026-06-08 16:10:32 -04:00
Adam Zhang
f216f2497d
address review comments regarding fallbacks
...
fix fallbacks in backup filter policies,
- refactor the code to start with global policies, and apply
override if exists, and document the behaviour inline according
to the design
- Ensure that unlisted cluster-scoped kinds properly fall back
to global label selectors
- unlisted namespace-scoped kinds are explicitly skipped when
evaluating policy label selectors
add test coverage for GetNamespaceFilter glob matching and ordering
Added a unit test to verify that GetNamespaceFilter correctly matches
compiled glob patterns against namespace strings, and properly honors
first-match semantics when a namespace matches multiple patterns.
Signed-off-by: Adam Zhang <adam.zhang@broadcom.com >
2026-06-08 15:50:05 +08:00
Adam Zhang
a35aacfb50
Update pkg/backup/backup.go
...
Co-authored-by: Tiger Kaovilai <passawit.kaovilai@gmail.com >
Signed-off-by: Adam Zhang <adam.zhang@broadcom.com >
2026-06-08 15:50:05 +08:00
Adam Zhang
c8bb3af761
implement fine-grained backup filter policies
...
implement backup logic to support backups with
NamespacedFilterPolicies and ClusterScopedFilterPolicy
Signed-off-by: Adam Zhang <adam.zhang@broadcom.com >
2026-06-08 15:50:05 +08:00
Lyndon-Li
f474e313fa
incremental object aware write at
...
Signed-off-by: Lyndon-Li <lyonghui@vmware.com >
2026-06-05 17:02:41 +08:00
Lyndon-Li
8b5db5954e
Merge branch 'main' into incremental-object-aware-write-at
2026-06-05 13:31:56 +08:00
Adam Zhang
0d719f1d8a
cli support for fine-grained filter policies
...
add cli support for NamespacedFilterPolicies and
ClusterScopedFilterPolicy
Signed-off-by: Adam Zhang <adam.zhang@broadcom.com >
2026-06-04 13:25:16 +08:00
Lyndon-Li
09bfc69d63
add totalSize to repo snapshot
...
Signed-off-by: Lyndon-Li <lyonghui@vmware.com >
2026-06-03 13:23:08 +08:00
Lyndon-Li
d435b0509e
add velero-pins to repo snapshot
...
Signed-off-by: Lyndon-Li <lyonghui@vmware.com >
2026-06-02 17:40:20 +08:00
Lyndon-Li
2e1ab5ab62
Merge branch 'main' into block-data-mover-backup-expose
2026-06-02 16:56:40 +08:00
lyndon-li
5cc0398662
Merge pull request #9864 from Lyndon-Li/node-agent-config-for-cbt-service
...
Add cbt service parameters to node-agent-config
2026-06-02 16:53:48 +08:00
Lyndon-Li
30960d1edd
incremental aware object writer - writeat
...
Signed-off-by: Lyndon-Li <lyonghui@vmware.com >
2026-06-02 13:10:32 +08:00
Wenkai Yin(尹文开)
b7d5d84983
Merge pull request #9861 from Lyndon-Li/remove-restic-command-package
...
Remove restic command package
2026-06-02 12:53:57 +08:00
Adam Zhang
1318d2c5dd
Merge pull request #9840 from adam-jian-zhang/legacy_filters_incompatibility_validation
...
Run the E2E test on kind / get-go-version (push) Failing after 55s
Run the E2E test on kind / build (push) Has been skipped
Run the E2E test on kind / setup-test-matrix (push) Successful in 2s
Run the E2E test on kind / run-e2e-test (push) Has been skipped
Main CI / get-go-version (push) Successful in 14s
Main CI / Build (push) Failing after 34s
validate incompatiblity with legacy filters
2026-06-02 09:42:57 +08:00
Lyndon-Li
74ffe25cbe
add cbt service parameters to node-agent-config
...
Signed-off-by: Lyndon-Li <lyonghui@vmware.com >
2026-06-01 14:43:43 +08:00
Lyndon-Li
e4ecf26b33
add backup exposer for block data mover
...
Signed-off-by: Lyndon-Li <lyonghui@vmware.com >
2026-05-29 11:44:25 +08:00
lyndon-li
2863f0df48
Merge branch 'main' into block-data-mover-backup-expose
2026-05-28 17:29:39 +08:00
Lyndon-Li
cdf3b9ffaa
add backup exposer for block data mover
...
Signed-off-by: Lyndon-Li <lyonghui@vmware.com >
2026-05-28 16:13:09 +08:00
lyndon-li
89be6c01df
Merge pull request #9853 from Lyndon-Li/incremental-aware-object-write
...
Run the E2E test on kind / get-go-version (push) Failing after 58s
Run the E2E test on kind / build (push) Has been skipped
Run the E2E test on kind / setup-test-matrix (push) Successful in 3s
Run the E2E test on kind / run-e2e-test (push) Has been skipped
Main CI / get-go-version (push) Successful in 12s
Main CI / Build (push) Failing after 29s
Close stale issues and PRs / stale (push) Successful in 12s
Trivy Nightly Scan / Trivy nightly scan (velero, main) (push) Failing after 1m50s
Trivy Nightly Scan / Trivy nightly scan (velero-plugin-for-aws, main) (push) Failing after 1m23s
Trivy Nightly Scan / Trivy nightly scan (velero-plugin-for-gcp, main) (push) Failing after 1m20s
Trivy Nightly Scan / Trivy nightly scan (velero-plugin-for-microsoft-azure, main) (push) Failing after 1m20s
Incremental aware object write
2026-05-28 14:55:36 +08:00
Lyndon-Li
0a7e5d600b
remove restic command package
...
Signed-off-by: Lyndon-Li <lyonghui@vmware.com >
2026-05-28 14:41:54 +08:00
Lyndon-Li
44eaea8faf
incremental aware object writer - write
...
Signed-off-by: Lyndon-Li <lyonghui@vmware.com >
2026-05-28 14:30:11 +08:00
Xun Jiang
8bca779270
Implement the CBT service.
...
* Update go.mod
* Init CBT service in velero data-mover backup/restore CLI.
* Call exeternal-snapshot-metadata's iterator library code to implement the CBT.
Signed-off-by: Xun Jiang <xun.jiang@broadcom.com >
2026-05-27 14:59:16 +08:00
Adam Zhang
b29185a62d
validate incompatibility with legacy filters
...
Legacy filters should not be co-exist with new filters defined in
resource policies,
- ClusterScopedFilterPolicy
- NamespacedFilterPolicy
Signed-off-by: Adam Zhang <adam.zhang@broadcom.com >
add test cases to cover positive scenario
add test case to cover the scenario that backup can
complete successfully with namespacedFilterPolicies
and clusterScopedFilterPolicy.
Signed-off-by: Adam Zhang <adam.zhang@broadcom.com >
2026-05-23 12:39:10 +08:00
lyndon-li
57c4c6fc99
Merge branch 'main' into incremental-aware-object-writer
2026-05-22 17:32:49 +08:00
Lyndon-Li
596e774582
add incremental aware object writer
...
Signed-off-by: Lyndon-Li <lyonghui@vmware.com >
2026-05-22 16:36:41 +08:00
Lyndon-Li
219975bee0
Merge branch 'main' into incremental-aware-object-writer
2026-05-22 15:43:45 +08:00
lyndon-li
3e88666872
Merge branch 'main' into data-path-naming-adjustment
2026-05-22 15:22:48 +08:00
Lyndon-Li
d08790534a
Merge branch 'main' into data-path-naming-adjustment
2026-05-22 15:08:29 +08:00
Lyndon-Li
d58139536b
Merge branch 'main' into kopia-repo-snapshot-operations
2026-05-22 14:57:39 +08:00
lyndon-li
40025fbbe1
Merge pull request #9817 from Lyndon-Li/metadata-operator-for-kopia-repo
...
Run the E2E test on kind / get-go-version (push) Failing after 1m0s
Run the E2E test on kind / build (push) Has been skipped
Run the E2E test on kind / setup-test-matrix (push) Successful in 3s
Run the E2E test on kind / run-e2e-test (push) Has been skipped
Main CI / get-go-version (push) Successful in 12s
Main CI / Build (push) Failing after 33s
Metadata operation for kopia repo
2026-05-22 14:49:12 +08:00
lyndon-li
4dc6f2cc64
Merge pull request #9791 from christian-schlichtherle/fix/dataupload-delete-foreign-backup
...
Fix DataUploadDeleteAction creating CMs for foreign DataUploads
2026-05-22 14:41:44 +08:00
lyndon-li
c1fc6540fb
Merge pull request #9807 from Lyndon-Li/uploader-interface-fo-block-data-mover
...
Uploader interface for block data mover
2026-05-22 14:33:17 +08:00
Lyndon-Li
53f25cde2b
data path naming adjustment for block data mover
...
Signed-off-by: Lyndon-Li <lyonghui@vmware.com >
2026-05-22 14:32:37 +08:00
Lyndon-Li
205ca71588
kopia repo snapshot operations
...
Signed-off-by: Lyndon-Li <lyonghui@vmware.com >
2026-05-22 06:26:40 +00:00
Lyndon-Li
9f0194d8fe
Uploader interface fo block data mover
...
Signed-off-by: Lyndon-Li <lyonghui@vmware.com >
2026-05-22 12:26:00 +08:00
Christian Schlichtherle
1e1eb0b4ec
Merge branch 'main' into fix/dataupload-delete-foreign-backup
2026-05-21 11:53:20 +02:00
Christian Schlichtherle
2f19c3158b
Also skip snapshot-info CM when DataUpload has no owner label
...
Per review feedback on #9791 , the previous revision still let a
DataUpload with an empty velero.io/backup-name label fall through to
genConfigmap, creating a ConfigMap that deleteMovedSnapshots can never
match back to a snapshot. The CM is useless and only adds etcd churn.
Treat the missing-label case the same way as the foreign-owner case:
warn and skip the ConfigMap creation. Use a distinct warn message so
operators can tell the two misconfiguration classes apart in logs
(missing-label vs. owner mismatch from a captured velero namespace).
Test for the missing-label case is updated to assert no ConfigMap is
created and a warn is emitted. The warn assertion is generalized to
match the per-case message substring instead of a fixed string.
Signed-off-by: Christian Schlichtherle <christian@schlichtherle.de >
2026-05-21 11:50:21 +02:00
Adam Zhang
b0e72333a0
extend backup resource policy
...
- added ClusterScopedFilterPolicy/NamespacedFilterPolicy
- added run time data structure, ResolvedResourceFilter and ResolvedNamespaceFilter
Signed-off-by: Adam Zhang <adam.zhang@broadcom.com >
2026-05-21 15:36:51 +08:00