Commit Graph
289 Commits
Author SHA1 Message Date
Adam ZhangandGitHub 8b761803ff [Cherry-Pick] RIA MustInclude annotation and VSC fix for 1.18 (#10101)
Run the E2E test on kind / setup-test-matrix (push) Successful in 3s
e2e-test-kind.yaml / extract (push) Successful in 12s
Run the E2E test on kind / get-go-version (push) Successful in 13s
push.yml / extract (push) Successful in 11s
Main CI / get-go-version (push) Successful in 11s
Run the E2E test on kind / build (push) Failing after 28s
Run the E2E test on kind / run-e2e-test (push) Skipped
Main CI / Build (push) Failing after 32s
* design for RIA must-include-additional-items

Design for `restore.velero.io/must-include-additional-items` annotation
and its usage and interaction with existing filtering mechanism.

Signed-off-by: Adam Zhang <adam.zhang@broadcom.com>
(cherry picked from commit ac76402aa0)
Signed-off-by: Adam Zhang <adam.zhang@broadcom.com>

* Add RIA must-include additional items (#10082)

Let RestoreItemActions opt in via annotation to
bypass global restore filters for AdditionalItems,
mirroring the backup-side must-include behavior.

Signed-off-by: Adam Zhang <adam.zhang@broadcom.com>
(cherry picked from commit a43a1bce6a)
Signed-off-by: Adam Zhang <adam.zhang@broadcom.com>

* update v1.18 custom-plugins docs for RIA must-include additional items

Signed-off-by: Adam Zhang <adam.zhang@broadcom.com>

* remove VolumeSnapshotContents from resourceMustHave list

Stop force-including VolumeSnapshotContents via resourceMustHave on
every restore; CSI VolumeSnapshot/PVC RestoreItemActions now set
`restore.velero.io/must-include-additional-items` so bound snapshot
dependencies are restored only when their parent is restored.

Fixes: #9957

Signed-off-by: Adam Zhang <adam.zhang@broadcom.com>
(cherry picked from commit ef100da89b)
Signed-off-by: Adam Zhang <adam.zhang@broadcom.com>

* add tests to cover pvc and vsc ria

Signed-off-by: Adam Zhang <adam.zhang@broadcom.com>
(cherry picked from commit 63cfddd18d)
Signed-off-by: Adam Zhang <adam.zhang@broadcom.com>

* fix change logs

Signed-off-by: Adam Zhang <adam.zhang@broadcom.com>

---------

Signed-off-by: Adam Zhang <adam.zhang@broadcom.com>
2026-07-29 19:20:52 -04:00
Adam ZhangandGitHub ad0f74ee9d [Cherry-pick]Set based label selectors for 1.18 (#10072)
Run the E2E test on kind / setup-test-matrix (push) Successful in 3s
e2e-test-kind.yaml / extract (push) Successful in 12s
Run the E2E test on kind / get-go-version (push) Successful in 14s
push.yml / extract (push) Successful in 13s
Main CI / get-go-version (push) Successful in 14s
Run the E2E test on kind / build (push) Failing after 28s
Run the E2E test on kind / run-e2e-test (push) Skipped
Main CI / Build (push) Failing after 30s
* add documentation for backup filters (#9967)

* add documentation for backup filters

Add user guide for fine grained backup filters with examples
from easy to advanced.

Signed-off-by: Adam Zhang <adam.zhang@broadcom.com>

* address review comments

- enhanced example 3, explain how each item got excluded
- enhanced example 8, explain the exact match rule, and how the
  ordering affecting namespace that has  multiple match patterns
- cross link to restore side design
- fix the error msg to be consistent with implemenation

Signed-off-by: Adam Zhang <adam.zhang@broadcom.com>

---------

Signed-off-by: Adam Zhang <adam.zhang@broadcom.com>

* update backup filters example 14

update the excludeNames to match example 3 for better consistency.

Signed-off-by: Adam Zhang <adam.zhang@broadcom.com>

* Support set-based filter label selectors (#10064)

* Support set-based filter label selectors

Use matchLabels/matchExpressions in fine-grained filters.

Signed-off-by: Adam Zhang <adam.zhang@broadcom.com>

* omit the details of resource policy for cli

The reason to not resolve and display CLI is because it may go
out of sync, we want to avoid display it to mislead users.

We may consider to cpature those information and display it
in later release.

Signed-off-by: Adam Zhang <adam.zhang@broadcom.com>

* update change log

Signed-off-by: Adam Zhang <adam.zhang@broadcom.com>

---------

Signed-off-by: Adam Zhang <adam.zhang@broadcom.com>
2026-07-27 15:13:40 +08:00
Adam Zhang 202778a386 Prioritize exact namespace match in restore (#10033)
* Prioritize exact namespace match in restore

Align restore pipeline with backup pipeline by
evaluating exact namespace matches before glob
patterns in namespacedFilterPolicies. This ensures
specific overrides always win regardless of list
order.

Signed-off-by: Adam Zhang <adam.zhang@broadcom.com>

* improve test cases

add test cases for exact listed first, and excat listed last to
ensure the behavior that the order does not matter for exact
listed namespace, the rule will be always honored.

Signed-off-by: Adam Zhang <adam.zhang@broadcom.com>

---------

Signed-off-by: Adam Zhang <adam.zhang@broadcom.com>
2026-07-21 10:33:16 +08:00
Adam Zhang 6b34d9bf95 Merge pull request #9946 from adam-jian-zhang/restore_filters_via_resource_policy
restore filters via resource policy

Signed-off-by: Adam Zhang <adam.zhang@broadcom.com>
2026-07-16 15:01:06 +08:00
Adam Zhang 3ecec1fd82 restore filter enhancement (#9924)
* restore filter enhancement

enhance restore filter with resource policies, introduce resource
policies with fine-grained control for resources in restore, both
cluster scoped resources and namespace scoped resources, with
labels, names include/exclude support with glob patterns.

Signed-off-by: Adam Zhang <adam.zhang@broadcom.com>

* address review comments

- Add introductory sentence linking to the Phase 1 backup filters PR.
- Add clarification that a backup's ConfigMap may not exist on the
  target cluster because it might be on a different Velero instance.
- Remove redundant explanations about backup-specific concepts
  (volume policies, include/exclude policies).
- Remove the non-goal regarding restore-side `includeExcludePolicy`.
- Remove the "Interaction with Backup-Side Filters" section.
- Remove "Step 5" from the design, as additional items requested by
  plugins should intentionally bypass fine-grained filter checks
  (consistent with backup side Stage 2).

Signed-off-by: Adam Zhang <adam.zhang@broadcom.com>

* address more review comments

- remove confusion rows regarding per-namespace kind list
- simplified CLI output to configmap name only

Signed-off-by: Adam Zhang <adam.zhang@broadcom.com>

---------

Signed-off-by: Adam Zhang <adam.zhang@broadcom.com>
2026-07-16 14:42:14 +08:00
Daniel Jiangandchlins 9cc2a49791 Design for global volume policies
Add the design for global volume policies to address the requirement in
 #9858

Signed-off-by: Daniel Jiang <daniel.jiang@broadcom.com>
2026-07-16 11:27:24 +08:00
chlins 97a0375a8d feat(resourcepolicies): support PVC volume mode and access mode matching
Signed-off-by: chlins <chlins.zhang@gmail.com>
2026-07-16 11:26:41 +08:00
chlins 2190f87950 docs(volume-policy): propose PVC volume mode and access mode criteria
Signed-off-by: chlins <chlins.zhang@gmail.com>
2026-07-16 11:26:00 +08:00
Xun Jiang/Bruce JiangandAdam Zhang 81f7a24572 Merge pull request #9783 from adam-jian-zhang/backup-filter-design
backup filter enhancement design

Signed-off-by: Adam Zhang <adam.zhang@broadcom.com>
2026-07-16 10:45:56 +08:00
Lyndon-Li 91cbc40956 move implemented design for 1.18
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2026-02-06 18:56:05 +08:00
Tiger Kaovilai 61bf2ef777 feat: Enhance BackupStorageLocation with Secret-based CA certificate support
- Introduced `CACertRef` field in `ObjectStorageLocation` to reference a Secret containing the CA certificate, replacing the deprecated `CACert` field.
- Implemented validation logic to ensure mutual exclusivity between `CACert` and `CACertRef`.
- Updated BSL controller and repository provider to handle the new certificate resolution logic.
- Enhanced CLI to support automatic certificate discovery from BSL configurations.
- Added unit and integration tests to validate new functionality and ensure backward compatibility.
- Documented migration strategy for users transitioning from inline certificates to Secret-based management.

Signed-off-by: Tiger Kaovilai <tkaovila@redhat.com>
2025-12-12 21:07:37 +07:00
Micah NagelandXun Jiang/Bruce Jiang 3244cc605f feat: add apply flag to install command
Signed-off-by: Micah Nagel <micah.nagel@defenseunicorns.com>
2025-12-05 11:26:10 +08:00
Xun Jiang/Bruce JiangandGitHub 9e5769c304 Merge pull request #9057 from Joeavaikath/feat/wildcard-namespaces
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) Failing after 11s
Main CI / Build (push) Has been skipped
Close stale issues and PRs / stale (push) Successful in 13s
Trivy Nightly Scan / Trivy nightly scan (velero, main) (push) Failing after 7m20s
Trivy Nightly Scan / Trivy nightly scan (velero-plugin-for-aws, main) (push) Failing after 2m9s
Trivy Nightly Scan / Trivy nightly scan (velero-plugin-for-gcp, main) (push) Failing after 1m40s
Trivy Nightly Scan / Trivy nightly scan (velero-plugin-for-microsoft-azure, main) (push) Failing after 1m4s
Design: Feat/wildcard namespaces
2025-11-07 13:34:41 +08:00
Lyndon-Li 2e3f41be22 backup repo cache design
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2025-10-23 15:02:17 +08:00
Joseph 75f1817cba Simplify
Signed-off-by: Joseph <jvaikath@redhat.com>
2025-09-25 09:28:20 -04:00
Joseph cf7a9495c5 Leaner design
Signed-off-by: Joseph <jvaikath@redhat.com>
2025-09-25 04:40:13 -04:00
Joseph 14a6315667 update
Signed-off-by: Joseph <jvaikath@redhat.com>
2025-09-25 04:09:59 -04:00
lyndon-liandGitHub 903caa9c02 Merge branch 'main' into backup-repo-cache-design 2025-09-23 11:47:22 +08:00
Joseph 0b40702900 Updates
Signed-off-by: Joseph <jvaikath@redhat.com>
2025-09-22 17:31:22 -04:00
Scott Seago 7132720a49 Concurrent backup design doc
Signed-off-by: Scott Seago <sseago@redhat.com>
2025-09-03 12:09:55 -04:00
Lyndon-Li 38f7d9c8ba move implemented design for 1.17
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2025-08-27 14:40:49 +08:00
Lyndon-Li c6d611aa7f update 1.17 readme and implemented design
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2025-08-27 14:03:26 +08:00
Joseph 528392ac5b Added struct change
Signed-off-by: Joseph <jvaikath@redhat.com>
2025-08-19 17:44:45 -07:00
Joseph 56df64b625 Status fields are part of a struct
Signed-off-by: Joseph <jvaikath@redhat.com>
2025-08-19 17:44:45 -07:00
Joseph eb8b382816 Update design
Signed-off-by: Joseph <jvaikath@redhat.com>
2025-08-19 17:44:45 -07:00
Joseph 571c9bd3ef Enhance wildcard namespace support design document
- Expanded the design to include detailed implementation steps for wildcard expansion in both backup and restore operations.
- Added new status fields to the backup and restore CRDs to track expanded wildcard namespaces.
- Clarified the approach to ensure backward compatibility with existing `*` behavior.
- Addressed limitations and provided insights on restore operations handling wildcard-expanded backups.

This update aims to provide a comprehensive and clear framework for implementing wildcard namespace support in Velero.

Signed-off-by: Joseph <jvaikath@redhat.com>
2025-08-19 17:44:45 -07:00
Joseph 037db22afe Refine wildcard namespace support design document
- Clarified the use of the standalone `*` character in namespace specifications.
- Ensured consistent formatting for `*` throughout the document.
- Maintained focus on backward compatibility and limitations regarding wildcard usage.

This update enhances the clarity and consistency of the design document for implementing wildcard namespace support in Velero.

Signed-off-by: Joseph <jvaikath@redhat.com>
2025-08-19 17:44:45 -07:00
Joseph 4c1457c318 Enhance wildcard namespace support in backup and restore design document
- Updated the abstract to clarify the current limitations of namespace specifications in Velero.
- Expanded the goals section to include specific objectives for implementing wildcard patterns in `--include-namespaces` and `--exclude-namespaces`.
- Detailed the high-level design and implementation steps, including the addition of new status fields in the backup CRD and the creation of a utility package for wildcard expansion.
- Addressed backward compatibility and known limitations regarding the use of wildcards alongside the existing "*" character.

This update aims to provide a comprehensive overview of the proposed changes for improved namespace selection flexibility.

Signed-off-by: Joseph <jvaikath@redhat.com>
2025-08-19 17:44:45 -07:00
Joseph c0699c443b New design doc
Signed-off-by: Joseph <jvaikath@redhat.com>
2025-08-19 17:44:45 -07:00
Joseph 69e307918b Update design
Signed-off-by: Joseph <jvaikath@redhat.com>
2025-08-19 17:44:45 -07:00
Joseph 571a816a61 Add design doc
Signed-off-by: Joseph <jvaikath@redhat.com>
2025-08-19 17:44:45 -07:00
lyndon-liandGitHub 2de5a5c1a7 Merge branch 'main' into backup-repo-cache-design 2025-08-15 18:00:11 +08:00
Lyndon-Li 133db854b2 backup repo cache design
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2025-08-15 17:55:50 +08:00
Tiger KaovilaiandClaude 35d2cc0890 Add priority class support for Velero server and node-agent
- Add --server-priority-class-name and --node-agent-priority-class-name flags to velero install command
- Configure data mover pods (PVB/PVR/DataUpload/DataDownload) to use priority class from node-agent-configmap
- Configure maintenance jobs to use priority class from repo-maintenance-job-configmap (global config only)
- Add priority class validation with ValidatePriorityClass and GetDataMoverPriorityClassName utilities
- Update e2e tests to include PriorityClass testing utilities
- Move priority class design document to Implemented folder
- Add comprehensive unit tests for all priority class implementations
- Update documentation for priority class configuration
- Add changelog entry for #8883

Signed-off-by: Tiger Kaovilai <tkaovila@redhat.com>

remove unused test utils

Signed-off-by: Tiger Kaovilai <tkaovila@redhat.com>

feat: add unit test for getting priority class name in maintenance jobs

Signed-off-by: Tiger Kaovilai <tkaovila@redhat.com>

doc update

Signed-off-by: Tiger Kaovilai <tkaovila@redhat.com>

feat: add priority class validation for repository maintenance jobs

- Add ValidatePriorityClassWithClient function to validate priority class existence
- Integrate validation in maintenance.go when creating maintenance jobs
- Update tests to cover the new validation functionality
- Return boolean from ValidatePriorityClass to allow fallback behavior

This ensures maintenance jobs don't fail due to non-existent priority classes,
following the same pattern used for data mover pods.

Addresses feedback from:
https://github.com/vmware-tanzu/velero/pull/8883#discussion_r2238681442

Refs #8869

Signed-off-by: Tiger Kaovilai <tkaovila@redhat.com>

refactor: clean up priority class handling for data mover pods

- Fix comment in node_agent.go to clarify PriorityClassName is only for data mover pods
- Simplify server.go to use dataPathConfigs.PriorityClassName directly
- Remove redundant priority class logging from controllers as it's already logged during server startup
- Keep logging centralized in the node-agent server initialization

This reduces code duplication and clarifies the scope of priority class configuration.

🤖 Generated with [Claude Code](https://claude.ai/code)

Signed-off-by: Tiger Kaovilai <tkaovila@redhat.com>

refactor: remove GetDataMoverPriorityClassName from kube utilities

Remove GetDataMoverPriorityClassName function and its tests as priority
class is now read directly from dataPathConfigs instead of parsing from
ConfigMap. This simplifies the codebase by eliminating the need for
indirect ConfigMap parsing.

Refs #8869

🤖 Generated with [Claude Code](https://claude.ai/code)

Signed-off-by: Tiger Kaovilai <tkaovila@redhat.com>

refactor: remove priority class validation from install command

Remove priority class validation during install as it's redundant
since validation already occurs during server startup. Users cannot
see console logs during install, making the validation warnings
ineffective at this stage.

The validation remains in place during server and node-agent startup
where it's more appropriate and visible to users.

Signed-off-by: Tiger Kaovilai <tkaovila@redhat.com>
Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-06 01:36:22 -04:00
Daniel JiangandGitHub 458e01be0f Merge pull request #9121 from reasonerjt/resource-policy-include-exclude-design
Run the E2E test on kind / build (push) Failing after 12m33s
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 / Build (push) Failing after 36s
Close stale issues and PRs / stale (push) Successful in 13s
Trivy Nightly Scan / Trivy nightly scan (velero, main) (push) Failing after 1m13s
Trivy Nightly Scan / Trivy nightly scan (velero-plugin-for-aws, main) (push) Failing after 1m10s
Trivy Nightly Scan / Trivy nightly scan (velero-plugin-for-gcp, main) (push) Failing after 58s
Trivy Nightly Scan / Trivy nightly scan (velero-plugin-for-microsoft-azure, main) (push) Failing after 2m46s
Add the design to extend resource policy
2025-07-30 21:28:07 +08:00
Xun Jiang/Bruce JiangandGitHub 36cde48ae8 Merge pull request #8979 from Lyndon-Li/vgdp-for-fs-backup-design
Run the E2E test on kind / build (push) Failing after 12m22s
Run the E2E test on kind / setup-test-matrix (push) Successful in 4s
Run the E2E test on kind / run-e2e-test (push) Has been skipped
Main CI / Build (push) Failing after 29s
Close stale issues and PRs / stale (push) Successful in 13s
Trivy Nightly Scan / Trivy nightly scan (velero, main) (push) Failing after 1m12s
Trivy Nightly Scan / Trivy nightly scan (velero-plugin-for-aws, main) (push) Failing after 1m4s
Trivy Nightly Scan / Trivy nightly scan (velero-plugin-for-gcp, main) (push) Failing after 53s
Trivy Nightly Scan / Trivy nightly scan (velero-plugin-for-microsoft-azure, main) (push) Failing after 55s
Design for VGDP MS for fs-backup
2025-07-29 14:16:00 +08:00
Daniel JiangandXun Jiang/Bruce Jiang bd9bf868a0 Add the design to extend resource policy
The goal is to extend the resource policy to make it also cover
include/exclude filters.

Signed-off-by: Daniel Jiang <daniel.jiang@broadcom.com>
2025-07-29 13:59:57 +08:00
Tiger KaovilaiandGitHub 50c30942c1 PriorityClass Support Design Proposal (#8882)
Run the E2E test on kind / build (push) Failing after 8m58s
Run the E2E test on kind / setup-test-matrix (push) Successful in 4s
Run the E2E test on kind / run-e2e-test (push) Has been skipped
build-image / Build (push) Failing after 16s
Main CI / Build (push) Failing after 41s
PriorityClass Support Design Proposal

Design for https://github.com/vmware-tanzu/velero/issues/8869

Signed-off-by: Tiger Kaovilai <tkaovila@redhat.com>
2025-07-23 15:15:37 +08:00
lyndon-liandGitHub d889ad318b design for node agent soothing (#9067)
Run the E2E test on kind / build (push) Failing after 8m15s
Run the E2E test on kind / setup-test-matrix (push) Successful in 4s
Run the E2E test on kind / run-e2e-test (push) Has been skipped
Main CI / Build (push) Failing after 39s
Close stale issues and PRs / stale (push) Successful in 22s
Trivy Nightly Scan / Trivy nightly scan (velero, main) (push) Failing after 1m34s
Trivy Nightly Scan / Trivy nightly scan (velero-plugin-for-aws, main) (push) Failing after 1m27s
Trivy Nightly Scan / Trivy nightly scan (velero-plugin-for-gcp, main) (push) Failing after 1m34s
Trivy Nightly Scan / Trivy nightly scan (velero-plugin-for-microsoft-azure, main) (push) Failing after 1m30s
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2025-07-16 16:45:20 +08:00
Xun Jiang f2133c7d22 The backup and restore data mover node selection.
Update Makefile to let the `make serve-docs` work again.

Signed-off-by: Xun Jiang <xun.jiang@broadcom.com>
2025-07-01 16:26:12 +08:00
lyndon-liandGitHub 1d43322ced Merge branch 'main' into vgdp-for-fs-backup-design 2025-06-16 14:09:05 +08:00
Xun Jiang daff6ab685 The modification of VGDP affinity design.
Signed-off-by: Xun Jiang <xun.jiang@broadcom.com>
2025-06-12 16:34:21 +08:00
Lyndon-Li 865e901586 design for vgdp ms for fs-backup
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2025-05-28 10:56:47 +08:00
Shubham Pampattiwar b30e43998a Add notes regarding compat, perf, reqs and testing
Signed-off-by: Shubham Pampattiwar <spampatt@redhat.com>
2025-04-23 19:52:22 -07:00
Shubham Pampattiwar 71b889aa6e Update VGSClass determination mechanism
Signed-off-by: Shubham Pampattiwar <spampatt@redhat.com>
2025-04-22 13:16:58 -07:00
Shubham Pampattiwar 2372c4ecf3 Update CSI plugin common branch flow and add mechanism to determine VGSClass
Signed-off-by: Shubham Pampattiwar <spampatt@redhat.com>
2025-04-08 14:52:41 -07:00
Shubham Pampattiwar 0ab2253f46 update csi plugin changes, diagram and snippets
Signed-off-by: Shubham Pampattiwar <spampatt@redhat.com>
2025-04-03 13:35:49 -07:00
Shubham Pampattiwar e9f23a32ee fix typo
Signed-off-by: Shubham Pampattiwar <spampatt@redhat.com>
2025-03-27 19:00:34 -07:00
Shubham Pampattiwar d4296aa78c delegate cleanup to VGS BIA
Signed-off-by: Shubham Pampattiwar <spampatt@redhat.com>
2025-03-27 18:18:29 -07:00
Shubham Pampattiwar 5ce4b5ad64 remove vgsc open question
Signed-off-by: Shubham Pampattiwar <spampatt@redhat.com>
2025-03-27 11:29:06 -07:00